Many who are new to the world of microcontrollers and Arduino are confused by all the different ESP8266 based hardware out there. One question that arises is "What's the difference between an ESP8266, NodeMCU, and ESP12?"
Let's have a look!
The ESP8266 itself, at its core, is a microcontroller with built-in WiFi in a single, small form factor chip. It's manufactured by Espressif and it became very popular among makers due to its excellent Arduino support and affordable price.
This type of chip is also known as a "System-on-a-Chip" (or "SoC" for short). It means that all or most components of a computer are integrated into a single chip. Here the computer isn't powerful enough to run Windows, but it can run the code we write for it.
The ESP12 (or ESP12E, ESP12F ...) is an RF module containing the ESP8266 SoC and other necessary components, like the antenna. With a module like this, it's a lot easier to design products with WiFi capabilities, as you can simply add the module without needing a lot of extra components.
The ESP12 is made by AI-Thinker, but Espressif also has its own modules like the ESP-WROOM-02. There are a variety of modules available. They usually only differ in form factor, price, and antenna design.
The NodeMCU is a popular development board based on the ESP8266. It features not only the ESP12 Module, which contains the ESP8266. But it also comes with a USB connector and breadboard-friendly pins, to make it easy for you to test and develop projects for the ESP8266.
There are plenty of other development boards out there. Other popular ESP8266 based boards include the D1 Mini or the Feather HUZZAH by Adafruit. Espressif also makes its own development boards like the ESP8266-DevKitC.
All these boards may differ in form factor and additional features (i.e. LiPo battery charger), but in the end, they are all just an easy way for you to make something with the ESP8266.
The NodeMCU has an ESP12, which itself is a module containing the ESP8266.
You could compare it to a computer which has a Mainboard, which itself has a CPU.
Because our ESP8266 Deauther project requires an ESP8266 to run (hence the name), you'd need to get development boards that use the ESP8266 (either directly or in a module like the ESP12) to recreate the project.
Of course, you could technically just buy the SoC or a module, but it would be impossible to make any use of it without additional equipment. Like using a CPU without a mainboard.
Meanwhile, a development board will have all the needed hardware onboard.
So that's the difference between an SoC, RF module, and development board. Of course, the same concept applies to other chips, like the ESP32. We just took the ESP8266 as an example here.