- Lots of new modules have been added to Geppetto recently
- New ESP32 and ESP8266 boards available from gumstix store
- The MCUs and sensors are available as Geppetto modules
- Easy to use with Arduino and Blynk
- See Arduino sketches in our GitHub repo
New Geppetto Modules
Enter the Espressif ModulesGumstix is announcing a plethora of new modules in Geppetto. In fact the Geppetto library is practically exploding with new sensors, connectors, interfaces and compute devices. among those are two Espressif modules: The ESP32 and ESP8266, microcontroller-wifi combo modules that have become very popular in the Arduino ecosystem and are popping up everywhere. The versatile and lightning-fast ESP32 easily flashes over a serial UART connection and sports 10 ADC channels, 40 GPIOs, PWMs (including differential pairs), audio interface, and lots more. The more compact ESP8266 provides 16 GPIOs, 3 PWMs, 1 ADC, an audio interface, I2C, SPI and UART connections.
Get a Better SenseIn addition to the Espressif MCUs, I'd also like to highlight a few new sensor modules that I am particularly excited about. First, there is the UV sensor. It's a Vishay VEML6070 UVA light sensor. It delivers the current UV index over I2C. Ideal for adding UV detection to consumer products like sports wearables.
Second is the air quality sensor, a Sensirion SGP30 gas platform. This one is impressive. It measures carbon dioxide, hydrogen, ethanol, and total volatile organic compounds (TVOC) present in the air. This sensor could be used to trigger on-demand ventilation and warning systems or monitor the health of air purifiers.
Lastly, we have added two new environmental sensor from Bosch: The BME280 and the BME680. The BME280 senses temperature from -40 to 85 °C and barometric pressure from 300 to 1100 hPa, while the BME680 adds a relative humidity sensor on top of pressure and temperature.
Showing Them Off With New Gumstix Boards
The ESP8266 UV Sensor Board
The UV Sensor Board combines the Bosch BME280 and VEML6070 sensors with the ESP8266 module and a bottom-mounted right-angle USB micro-B connector. With a simple Arduino sketch, it can provide a stream of sensor data to any number of IoT applications over WiFi.
The USB connector is positioned to simplify the process of enclosing the board in a water-resistant case with the UV sensor oriented directly upward. With a little bit of 3D printing, some hot glue and a tiny square of clear plastic, I could deploy this sensor and a little USB battery pack in my garden and determine when I can get away with skipping the sunscreen battle with the kids. (Aaaah! Daddy NO! Not the dreaded goop!)
The ESP32 Air Quality Sensor Board
The air quality board is exciting. Getting real-time gas and particulate data is extremely important. In industrial applications, workspaces, and in the open air, tracking the potentially harmful particles in the air can prevent long-term respiratory problems and provide early detection of mechanical failures.
The BME680 and the SGP30 connect to the ESP32 to deliver real-time telemetry over the network. The board is powered and programmed over a USB micro-B connector.
The Boards In Action: Blynk!I have recently discovered Blynk. This is an open-source IoT server and Android app that allows you to connect to a variety of devices to collect data and issue commands.
You can use their main server or set up your own, so your data and access is not controlled by a third party, it can be deployed locally, behind a firewall, and can bridge data from one device to another.
|UV Sensor Blynk Panel|
|Environment Sensor Blynk Panel|
The device library is currently compatible with ESP32, ESP8266, WiFi101- and Ethernet-connected Arduino devices, Particle devices, and more. It even has support for the short-lived Intel Curie and Arduino Yun modules!
It was super simple to create Arduino sketches for both boards that uploaded directly to the Blynk server. I was able to put together a project on the Blynk app that displayed *most* of the sensor data I was sending.
I say most because when you use Blynk's server, they cap the number of screen elements you can display by imposing a credit system. You get 1000 energy units to spend on features and can purchase more from their online store. These credits disappear quickly if you want things like gauges, graphs or event triggers.
As you can see from the screenshot, I get a little bit of sun at my desk, the AC is broken and I haven't calibrated the altitude calculation properly. My building is at sea level, but I'm on the third floor. The ESP32 is sending humidity in %RH, but the 8266 is giving me raw data. I'll fix that later. Also, I haven't read the datasheet for the SGP30 in depth so I'm not clear on what the units are for H2 and Ethanol, but I'm hoping that's at least in parts per billion, or some raw data value that needs converting. Otherwise I should probably be dead.
There it is! Amazingly easy to program and start collecting data! The source for my Arduino sketches can be found at Gumstix's Arduino example repo on github.