This Awesome ESP32 Desktop Widget Packs in Everything But the Kitchen Sink!
Keep an eye on the time, weather and surrounding air quality at your desk with this nifty, ESP32-based Wi-Fi clock and sensor widget!
I've lost count of the number of times I've gone to lash up one of my random MCU target boards with a sensor add-on, to get some metric that's got my mind wondering about.
Usually, It's a BLE-capable board, because I want my measurement readily available on the airwaves for ease of access.
And, more often than not, the measurement I'll be taking is one of a few recurring themes — with a few dedicated, application specific sensors, you can infer an awful lot about the world around you.
I've often thought of how nice it would be to have my favorite sensors laid out on a standalone board, but I find so little time for free projects, it's a real joy to find this tamed-down tricorder of sorts from Mike Rankin, with all the bells and whistles you could wish for from such a tiny little TFT-enabled board!
Packaged away in a tidy 3D-printed enclosure, there's more to this Espressif Systems ESP32-powered, pocket-sized package than first meets the eye...
Making sense of your surroundings...
If we pop the lid, we can get eyes on the front side of the board, and already, we can see there's a slew of sensors staring us in the face — a set of four devices situated either side of the generous 135 x 240 pixel TFT LCD, located in the center of the board.
Temperature and relative humidity (%RH) data is provided by Texas Instruments HDC1080DMBT. This part is able to sense relative atmospheric humidity, thanks to the use of a capacitive sensor, formed by a hygroscopic polymeric layer, the dielectric constant of which changes in response to how much moisture is present in the air.
A really hot topic these days is the quality of the air that we all breathe.
A Sensirion SGP-30-2.5K sensor is able to give an estimate on the tVOC rating of the air present around it. tVOC stands for "total volatile organic compound," which has become the buzzword for qualifying the quality of air.
VOCs are chemical compounds present in a number of nasty things, like solvent vapors, or outgassing from glues and rubbers/plastics, and many, many other sources.
The general consensus is that the higher the total count of VOC compounds in the air, the worse the air is to breathe. From headaches, all the way to "sick building syndrome" — it's at the very least a good metric to use to moderate time spent in sealed meeting rooms!
By heating a microfabricated silicon hotplate (MHP) to a few hundred degrees, a doped Metal Oxide chemiresistor is made sensitive to surface chemistry interactions with VOC molecules (oxidation and reduction), and the total concentration in the air exposed to the sensor will result in a change in the MOX resistance.
These things are tiny. Above, you can see an older generation hotplate sat at a few hundred degrees, from mere mA of current passing through it. Etched from silicon, they are one of the lesser known MEMS devices, but truly remarkable all the same.
There is a whole heap of house keeping wrapped up in these tiny sensors — with an integrated MHP (micro hot plate), fully and automatically regulated to run at the required temperature, and a full AFE to drive the sense current and read out the resistance of the MOX chemiresistor.
Packaged up and placed on the I2C bus of your project, these new gas sensors will definitely be turning up more and more frequently in future projects.
Freakin' laser...
While we haven't reached the future and it's promises of sharks, with freaking laser beams attached to their head just yet, we are doing some very cool things with lasers
We now have the ability to accurately measure the Time of Flight of light itself. Well, we've had that capability for a little while now. What we now have is the ability to measure that time scale over such short distances (say, a meter) that the resultant pulse length would be that of approximately 3.335641 nanoseconds.
We've taken this technology, made possible by the advent of vertical-cavity surface-emitting lasers (VCSELs) and packed it into a range of small SMD packages from different manufacturers so that we can now easily and accurately measure laser sharp distances with ease.
With multi-zone ranging now entering the market, these tiny ToF sensors are looking more and more like fully fledged LIDAR units every day!
Bump on over to the back side...
If we put that board down, flip it and reverse it, there's a whole heap more to feast our eyes upon!
ESP32? It's an esp-ecially good part!
If something isn't broken - don't try and fix it, right? While that's advice that many of us would eschew - we all love fixing things, right — Rankin has some good sense in sticking with a known good MCU implementation, again laying down an ESP32 PICO D4 Wi-Fi MCU SiP.
Whoo, that's a mouth full, eh? We won't dive into the magic contained within this QFN here — we'll already be familiar with it's internals from other, previously featured implementations.
Suffice to say, that dual core, 240MHz MCU is perfect for driving the TFT LCD found on the front of this board, while also happily winging packets over Wi-Fi or BLE.
The only real downside to the PICO-D4 that we can speak of is the lack of a built in USB transceiver, found on more recent Espressif silicon.
Not to fret, the tried and trusty SiLabs CP2104N steps in, deftly dealing with the conversion between the ESP's TTL UART and the USB bus.
The user interface is rounded off by a set of two SPST SMD tactile switches, an onboard buzzer, and, of course, a WS281x series, digitally addressable RGB LED — AKA everyone's favorite part, a NeoPixel!
The Neopixel is a very intuitive way to signal the SGP30's readings, with a very easy to interpret relationship between color (Green = good, red = bad) and the measured air quality.
With the LED almost instantly reacting to the SGP30 getting a whiff of a board marker, it's a clear, no-nonsense way of showing the reading.
One board, many possibilities...
Sat in front of you, the board makes a wonderful desk clock widget, packed with additional features that are really nicely implemented.
The stock code will fetch accurate, network synchronized time (NTP), along with the weather data for the current location using it's Wi-Fi connectivity.
Not only that, but the local iAQ sensors allow you to keep a close eye on what it's currently like inside your home or office, as well as out!
The hardware is also shouting out to me to be repurposed — that VL53L0X can measure up to 2m, which has the potential to make this board a handy, Wi-Fi enabled laser-based tape measure. Swapping out the VL53L0X with a footprint and pinout compatible VL53L4CX boosts that to a whopping 6m measuring range!
But, before spending too much time dwelling on derivative designs, let's take a look at the ESP32 Desktop Clock, as demonstrated by Rankin himself.
It's about time you got one of these clocks...
As always, Rankin has a well documented project repo for this board, found over on his GitHub page here.
For a more real time eye on upcoming projects (I hear there are a few good ones in the pipeline... 😉), we'd suggest giving him a follow on Twitter — @mikerankin.