Top 7 items when starting to work with Arduino or ESP8266 microcontroller
If you are starting to work with Arduino or ESP8266 based microcontrollers you might not know what items you need for your first projects.
I work several years with both types of microcontroller and finished a lot of projects. Therefore I give you an overview about my top 7 items that I would buy if I start all over again.
The following picture shows all 7 items that I recommend if you are starting with DIY projects around the topics microcontroller in general and internet of things.
The items are described in more detail in the following chapters. The following table shows an overview of all items with an estimation of the costs.
$15 – $30
$17 – $26
Sum without Raspberry Pi
$65.5 – $89.5
Sum with Raspberry Pi
$135.5 – 159.5
The main device you need for all projects is a microcontroller. The most known are the Arduino microcontrollers like the Arduino Uno. But there are more manufacturers for microcontrollers like Espressif Systems which created the ESP8266 microcontroller. This microchip is the foundation of many boards like the NodeMCU which I recommend. The NodeMCU has several advantages compared to the Arduino Uno:
- The NodeMCU has a build in WiFi to exchange data wireless
- Also the NodeMCU is cheaper with around $4.50 compared to $20 for the original Arduino Uno and $14 for a board with the same microchip as the Arduino Uno but from an other manufacturer.
If you are interested in the full Arduino vs ESP8266 comparison, I wrote this article where I compare 8 different boards on 27 different categories.
Single-Board Computer (Raspberry Pi)
Alongside the NodeMCU as microcontroller I recommend to buy a Raspberry Pi as single-board computer if you want to build IoT projects. If you first want to get familiar with the micocontroller you can buy the Raspberry Pi later if you need it.
The Raspberry Pi is perfect to collect multiple data streams from different NodeMCU in your home. For example I have three NodeMCU as indoor weather stations that sends the current temperature, humidity and light intensity to one Raspberry Pi. The Pi collects all data and save it to a database before creating beautiful dashboards. If you are interested in how to build this indoor weather station system then the following two article shows you step by step how to build this system:
There are a lot of sensors available on the market and it depends strongly on you projects to decide what sensors are the right for you. But I recommend to buy a sensor pack instead of each sensor individually to use the quantity discount. If you notice that you need another sensor, you can buy this one alone. Also if you buy a temperature sensor for example, it is always cheaper to buy a pack of 3 instead of a single one.
Some sensor packs have resistors included so you do not have to buy them extra. But you have to watch out for LCD displays which are included in a sensor pack because most LCD displays do not have an I2C connection. Of course you can buy an LCD display without I2C connection but the wiring takes a lot more time and is more complex, which is shown in this article. Sellers often do not include the I2C model to the pack because it is more expensive.
Some good sensor packs are the following:
- LANDZO 37 in 1 Sensors Modules Kits for Arduino UNO R3 Mega 2560 Mega Nano
- LAFVIN 37 in 1 Sensor Module Kit for R3 Board Mega2560 Mega328 Nano Compatible with Arduino IDE with Tutorial
- kuman Compatible For Arduino Raspberry pi Sensor kit, 37 in 1 Robot Projects Starter Kits with Tutorials Compatible for Arduino RPi 3 2 Model B B+ K5
For the most used sensors, I have a tutorial on this blog which shows you the functionality of the sensor, the wiring with an Arduino or ESP8266 microcontroller and the program code to get the sensor working.
Resistors are important for two main reasons:
- First you need resistors for a pull-up and a pull-down circuit when you want to read an analog value with your microcontroller. For this kind of circuit a resistance of 10 kΩ is preferred. So if you buy resistors with a sensor pack, make sure that there are at least 10x 10 kΩ resistors included.
If you do not know the functionality of a pull-up or pull-down resistor, read this article.
- The second use case of a resistor is to reduce the voltage for an electrical device which has an operation voltage lower than the output voltage of the microcontroller. For example an LED has a typical operation voltage between 2V and 2.5V but the Arduino and ESP8266 based microcontroller have output voltages of 3.3V and 5V which is too high and would damage the LED when the LED is directly connected. Therefore we connect a resistor ins series. If you want to know more about how a resistor save the LED, I recommend you to read this article.
Resistors are not expensive and you can buy a resistor kid to keep your resistors organized in a box.
An LCD display is important to display values from sensors. During the development process of a project we use the serial monitor of the Arduino IDE to take care that everything is working correctly. But there is the step from the development phase in the production phase where no PC or laptop is connected to the microcontroller.
My favorite example is the indoor weather station again where I have two different kinds of stations. The first one is only the sensors with the NodeMCU but the second has an LCD display and stands in the living room. This has the advantage that I see the temperature and humidity in the living room directly without the use of my smartphone.
There are different kinds of LCD displays. Because the price differs not so much I recommend the 20×4 LCD display with I2C.
I do not recommend the LCD displays without I2C connection because the wiring is complex
The 16×2 display is sufficient for most project with 2 lines and 16 characters
If you want to go all in you can buy the LCD display with 4 lines and 20 characters.
Breadboards are very useful to setup your circuits. There are cases where you do not need a breadboard for example when you are working with sensor modules. These sensor modules contain the sensor itself, some other electrical parts like resistors or capacitors and pins to connect the jumper wires. All these parts are connected on a PCB. The following picture shows a temperature and humidity sensor as well as the sensor module that are connected to the NodeMCU.
You need a breadboard in other cases for example if you:
- are working with resistors, capacitors or coils
- work with LEDs
- place the NodeMCU on the breadboard (see the previous photo)
Because you need more than one breadboard of bigger projects I recommend to buy a set of breadboards to save some bucks.
To connect all electrical devices you need jumper wires. There are three different kinds of jumper wires because there is a male and a female side.
- Male to male
- Female to female
- Male to female
What kind of jumper wires you needs depends strongly on your other components. Sensor modules are connected via a female connector as well as the NodeMCU with soldered pins. On the other side if you want to connect parts on or with the breadboard you need a male connector.
Therefore the female to female and male to female are the most used jumper wires. The male to male connectors are not often used. But I recommend to buy directly a set of cables with all three different kinds.