A Simple, Easy To Use ESP32 Dev Board

The ESP32 is Espressif’s follow-up to their extraordinarily popular ESP8266 WiFi chip. It has a dual-core, 32-bit processor, WiFi, Bluetooth, ADCs, DACs, CAN, a Hall effect sensor, an Ethernet MAC, and a whole bunch of other goodies that make this chip the brains for the Internet of Everything. Everyone has been able to simply buy an ESP32 for a few months now, but the Hackaday tip line isn’t exactly overflowing with projects and products built around this wonderchip. Perhaps we need an ESP32 dev board or something.

The Hornbill is the latest crowdfunding campaign from CrowdSupply. It’s an ESP32 dev board, packed with the latest goodies, a single cell LiPo charger, and a USB to serial chip that will probably work with most operating systems. The Hornbill comes in two varieties, a breadboardable module, with a breakout board that includes an SD card slot, sensors, an RGB LED, and a bunch of prototyping space. The second version is something like an Adafruit Flora with big pads for alligator clips.

While this isn’t the first ESP32 breakout we’ve seen — Adafruit, Sparkfun, and a hundred factories in China are pumping boards with this chip out — it is a very easy and inexpensive way to get into the ESP32 ecosystem.

I do wonder why I keep seeing the dual button configuration with ESP dev boards (gpio 0 and reset).

What I did is I linked reset to the serial DTR signal, and gpio 0 to a switch which holds it low when in “program” mode. Works with arduino and platformio, as well as esptool in general it seems. I recall seeing an even better solution around that detected programming using the serial lines, but haven’t tried it out (and question it a little, even though it came from igrr himself).

An even better solution would be to build a pair RC circuits that drive a pair of pulldown transistors, so that first gpio 0 then reset get pulled low every time the DTR signal fires (unless disabled with a jumper, as some software (like arduino) pulls DTR when opening a serial terminal)

It’s not that there aren’t enough cheap ESP32 boards, but just the software support isn’t at the level of the ESP8266. Not by far.
The SDK isn’t finished yet, some oft the most interesting features are still missing, Arduino isn’t finished, and (maybe the most important fact) easy to use firmware packages like ESPEasy, ESPurna, etc. don’t support the ESP32 (yet).

I don’t get that, could you explain?
If you use the native SDK, the ESP8266 software support is essentially a joke. The IDF-SDK for the ESP32 is on a whole different level, though admittedly still work in progress. They have proper driver, example code for every peripheral and protocol, a very nice build system and a great support forum.

For very simple things that require wifi of course just use the ESP8266 with Arduino.

I don’t know why people bother with the ESP32 when they can get for ~$10 or even less similarly sized boards with more memory, that run a minimal LInux distro (OpenWRT, etc.), such as the Domino, Onion2, LinkIt, etc.
If you want something cheaper, stick with an ESP8266. If you spend more money, go with a real Linux board.
When the ESP32 drops to price levels similar to the ESP8266, it would make more sense.

And I don’t buy the “overkill” argument, unless it’s backed by some real facts – can you actually run the ESP32 on a reasonable battery, while the linux ones can’t? Is it smaller? does it take more time to develop on linux ? (actually I believe it’s the other way around). In the same way I don’t buy the AVR vs ARM argument unless it’s backed by facts (price/size/power).

Take a look at the power draw when sleeping. The ESP8266 can’t match that nor can any Linux board I’ve seen. I rather doubt that anything that could support Linux can come close. That’s a major issue for a lot of applications. A friend designed RF reading water meters using an MSP430 with a 15 year battery life. No Linux board will do that.

It’s not quite MSP430 territory, but the ESP32 is close enough for anything that is going to use an RF link. The ADC channel count alone makes the ESP32 quite attractive. The ESP32 designers clearly considered use cases very carefully. I think they will come to dominate a large segment of the industrial data collection market. For most such applications collecting data once a minute from several channels and dumping it once a month with a multi-year battery life is all that’s needed.

When electricity, size, and stability aren’t a problem, you’re probably right, an Orange Pi Zero would do, and be a lot easier to work with for a one off project. But an ESP you can put in a deep sleep, have it wake up every 5 minutes for less than 1 second and do something and have it run off of a couple of AA’s for a year. I haven’t even seen any attempts to power an SBC off of a battery for a long period of time.

I am working with a ESP32 too, Pycom’s LoPy actually.
It’s a great device, capable of many things.
I’m running 2 TLS connections at the same time, with Bluetooth.
it’s not that expensive anymore, $9 on aliexpress for a dev board.
A revised chip is coming up, allowing for flash PSRAM. Which is useful because wifi/bt/mbedtls eat your ram.
My only complaint is the jtag debugging, its really temperamental. But there are enough tools at your disposal to move past that. Might just be because I’m using VisualGDB(Cool intergration with VisualStudio btw) with an outdated esp-idf.
Most of it is open source which has taught me alot.