In case you had a look at our page on the Arduino, you probably wondered about its usability, if it doesn’t have connectivity. Arduino is meant to act as the core of local robots that do not need to communicate. If you have a need to work with your device remotely, or want to build an IoT device, then ESP32 is your tool of choice.

ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs either a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations, Xtensa LX7 dual-core microprocessor or a single-core RISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. ESP32 is created and developed by Espressif Systems, a Shanghai-based Chinese company, and is manufactured by TSMC using their 40 nm process. It is a successor to the ESP8266 microcontroller.

File:ESP32 Espressif ESP-WROOM-32 Dev Board.jpg - Wikimedia Commons
The basic ESP32 WROOM chip. Image: Wikimedia Commons

The first big difference between Arduino and ESP32 is the sheer amount of available memory. Arduino has 32 kilobytes, but even the most basic ESP32 has 4 megabytes. For the technically aligned, here’s some basic data:

  • Dual-core Xtensa LX7 CPU, up to 240 MHz
  • Added instructions to accelerate machine learning applications
  • 384 kiB of RAM and an additional 384 KiB of SRAM
  • WiFi 2.4 Ghz (IEEE 802.11 b/g/n)
  • Bluetooth 5 LE
  • 44 programmable GPIOs

The best bit of ESP32 is that you can edit code for it with Arduino IDE, since it is the logical step forward when Arduino no longer serves your needs. All you need to do is to add support for ESP32 in the Arduino IDE and then select the proper board type and port. All the same sensors and peripherals you have learned to use with Arduino will work with ESP32.

And you are not limited to C++, since you can use even MicroPython. Just flash the MicroPython image onto the ESP32, and you can use Visual Studio with Pymakr to code your device in Python. here you have a couple of examples of ESP32 based devices:

Let us know your IoT needs, and we’ll craft an ESP32 device to serve it!

GPS-equipped weather station