What Is a Microcontroller?
A microcontroller is a tiny computer on a chip. That computer connects to pins, plugs, and/or other pieces of metal called “peripherals” that give and receive inputs and outputs. Both the Arduino Uno and ESP32 have bits of metal on them that do just that. But the Arduino has female header pins that bite on the metal ends of male header pins. On the other hand, the ESP32 typically has male header pins that do the opposite.
What Is an Arduino Uno?
For many hobbyists, the Arduino Uno (or any of its cheaper Chinese knockoffs) is their first introduction to microcontrollers and embedded systems. It’s a cheap machine, reliable enough to run 24/7 and durable enough to stay usable in the hands of most clumsy, inexperienced students. The Arduino Uno is the most iconic of all the Arduino products. It’s meant as a learning aid for electronics students. Nowadays, the Arduino Uno you see in stores should be the R3 version or third revision to the original Arduino Uno.
Pros
Cons
What Is an ESP32?
The ESP32 may be the next step to studying embedded systems and has everything – as long as you know how to use it. The board has Wi-Fi connectivity, Bluetooth, and over 30 I/O pins to fit as many modules as it can. It’s a beast among hobbyist boards and small enough to fit in a tiny box. Actually, the ESP32 is not just a single board. It’s a series of boards developed by Espressif. For the most part, the kind of board you get doesn’t matter much because they’re more or less the same, especially for beginners. But here we are talking about the NodeMCU32S, built on top of the NodeMCU framework.
Pros
Cons
What They Have in Common
With knowledge of the differences between the ESP32 and Arduino Uno, let’s talk about what they have in common.
Coding Standards
First of all, the Arduino IDE supports both boards. You could upload the same Blink code to each board, and there wouldn’t be anything different on the output side. Perhaps the best thing about these boards is that they’ll work with any language as long as the IDE supports it. Whether you use OpenMV or PlatformIO, both boards can run MicroPython right off the bat!
Hardware
Next up, both boards will support the same hardware as long as they:
Support both 3.3v and 5v logicAre not dedicated shields
LEDs, potentiometers, and resistors are good examples of hardware that don’t care whether it’s 3.3v or 5v. They’ll work as long as there’s electricity running through them. On the other hand, many sensors won’t mind the voltage difference. This includes the common ones you’d find in sensor bundle kits. Some do, though, so you’re better off checking the schematics if they use 3.3v, 5v, or both.
Power Supply
Lastly, and probably the most critical, is the power supply. Both boards can handle 5 volts and 500 mA from a USB port power supply and slightly more – that is, as long as they’re through the regulated ports. For the Arduino Uno, that’s the Type-B USB port. And for the ESP32, that’s the micro-USB port. There’s a regulator in these ports that only allows what their respective boards need. Both also support unregulated power supply sources. The “Vin” pin in each board is meant to take up as much electricity as it needs, but you’ll have to regulate the electricity in that pin or risk breaking the board.
How Can You Know What You Really Need?
We’re at the important part now. Should it be the Arduino Uno? Or should it be the ESP32? Despite its price and lack of extra pins and features, every electronics student should at least invest in an Arduino Uno. It’s a board meant for students who’d probably break something along the way. On the other hand, the more experienced ones should try the ESP32 for its extra features. It shouldn’t be read by those who can’t read schematics, let alone a freshman who doesn’t know how Ohm’s law works.