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 berdeter@gmail.com 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 !
Comments
Post a Comment