Arduinos come in all shapes and sizes and it can be intimidating to choose between them. This post should clear up some confusions you might have. This is based on my experience and opinion, because I have spent time figuring what works and what doesn't in different situations. <!–more–>
My arduino projects have thus far involved the following: * control 5v components (LED strips) * control 3.3v components (sensors) * WiFi connection * control OLED displays
Arduino controllers
Since all my projects are for home automation, there is an inherent need for WiFi network connectivity. This is why most of the controllers I have used in the past have had built-in WiFi chips.
I have played with 4 different types of Arduinos and Arduino-based microcontrollers:
- NodeMCU
- Arduino 2560
- Arduino WIFI
One feature I did not realise most Arduinos support is on-board voltage regulator. This means you can connect a range of voltages to the Arduinos $$V_{in}$$ pin and it wil lautomatically adjust the voltage to power itself. Typically, Arduinos support voltages from 5v to 12v. Check your specifications. {: .notice–info}
The following table illustrates the ideal use case for each controller and why you might choose one over another.
Controller | Description | Use Case | Note |
NodeMCU | Compact arduino-based chip with build in Wifi. | Good for driving 3.3v devices. | Does not output 5v, making it unsuitable for 5V logic (such as controlling LED strips). See Using Logic Level Shifters. |
Arduino 2560 | Large arduino board with a ton of IO pins. | Use if you require lots of input and output pins. | Does not offer built-in network connectivity options. |
Arduino WiFi | About half the size of the 2560, with built in WiFi and 5v logic. | This board is perfect for controlling addressable LED strips as it saves us from having to set up a Logic Level shifter and—for 5v strips—a DC converter. |