By Bernard de Terwangne, Lead Coach CoderDojo Liège
Now that’s a hack !
To see more articles on the ESP32 by Bernard (in French), go to: https://drive.google.com/drive/u/0/folders/1xl91tSUtmINHllilZFbSYIZjbmpZqg1u
Arduino is well introduced in many Dojos and is a fantastic device. We all love Arduino Uno, the most common board that lets kids discover electronics and automation. I love Arduino Nano too. That one is compact, will neatly stand on your breadboard or get soldered on a PCB for more advanced projects. Here comes a board opening another dimension to our projects: ESP32 WEMOS LOLIN32 OLED.
ESP32? What’s that Uhhhh?
ESP32 is the second generation of devices from the Chinese company Espressif Systems. It is a wide range of boards that share fantastic features:
- They can be programmed from Arduino IDE, in C/C++ with the same kind of instructions as any Arduino;
- Espressif also provides its own IDE in C/C++ with a different API that is slightly lower level;
- You can change the firmware of the board so that you can program it in MicroPython or Lua;
- They embed Wi-Fi and Bluetooth as well as a proprietary networking protocol ESP. For connecting up to 20 Espressif devices, ESP is very efficient and powerful. Some ESP32 are also capable of communicating through a LORA network. Adding embedded networking capabilities lets it enter the world of IoT (Internet of Things) and that’s fantastic in itself!
- They feature a deep sleep mode that you can activate to wait for a long period, drastically reducing battery consumption. An ESP32 that would collect temperature and humidity data and send them to another device every hour through ESP, could now live more than one year on a simple battery and that can be very useful!
- Dual core 32 bits processor that make them really fast;
- Capacitive touch sensors;
- Runs on 3.3v;
- And most of the features are similar to Arduino, GPIO, PWM, Analog IO, etc.
So ESP32 devices are in a way halfway between a microcontroller like Arduino and a Microprocessor like a Raspberry PI.
ESP32 WEMOS LOLIN32 OLED?
Like there are tens of Arduino devices, there are tens of Espressif devices. Let’s get closer to this one. It comes with one more extraordinary feature: a tiny OLED display and for kids in our Dojos it can change everything. With Arduino you connected a temperature sensor and switched a led on whenever the temperature raised above 30°C? Now you can display the temperature on screen and let the screen flash whenever it reaches that threshold. It adds a whole other feeling to it!
You can not only display texts with several fonts on screen. You can also draw lines, circles, etc. You can even display bitmaps, invert the screen, flip it, or adjust brightness and contrasts from the program. It is a fantastic 0.96 inch 128x64 pixels monochrome display.
Is that easy?
Well yes and no. Overall this device can be used in our Dojos in a similar way you do with Arduino. I tend to recommend it for kids that have already done one or two Arduino sessions but it might not be necessary.
The real drawback of Espressif device is that they are not as well documented as Arduino. If you miss some information you are likely to struggle a bit before it works.
So?So I started writing some cards you can use in your Dojo with the kids. They are located on the google drive: https://drive.google.com/drive/u/0/folders/1xl91tSUtmINHllilZFbSYIZjbmpZqg1u
For now they cover the following subjects:
- Installation: this one is for you to help you prepare the environment. Maybe it’d be best if it could be done in a new version of our Linux Image sot that it’s done once and for all;
- Hello World : learn to display texts on screen;
- Flashing leds : learn to connect leds and switch them on/off from the program;
- Touch keys : learn to use touch sensors and display the value read from the sensors on screen.
More with your help?
I have loads of other ideas to explore this device. I need some time and why not some help of the community. Would there be members wanting to participate? Who wants to experiment on some features? Who wants to write some cards? Who wants to translate my cards from FR to NL? Who wants to test cards or let them be tested by some kids?
Just send me an email firstname.lastname@example.org and we’ll do great work together.
I want to try. How can I get one?
You can get this board from Amazon or Ali Express for a few euros. Some devices need some soldering work. Some come with pins already soldered.
The board can stand on a breadboard but it is not as breadboard friendly as would be an Arduino Nano. It is wider and does not leave space for wires beside the board unless you use two breadboards or a wide one. So I suggest to buy it with a connection board so that it can be used beside the breadboard as you’d do with Arduino UNO.
You can find it here https://www.amazon.fr/gp/product/B07912XSHV/ref=oh_aui_detailpage_o01_s00. Unfortunately this one needs soldering.
But can’t it stand on a bread board if we hack it a bit ?
Well yes there is a solution. Just cut the bread board like this :
Now that’s a hack !