Putting The Firmware In Your Firmware

Performing over-the-air updates of devices in the field can be a tricky business. Reliability and recovery is of course key, but even getting the right bits to the right storage sectors can be a challenge. Recently I’ve been working on a project which called for the design of a new pathway to update some small microcontrollers which were decidedly inconvenient.

There are many pieces to a project like this; a bootloader to perform the actual updating, a robust communication protocol, recovery pathways, a file transfer mechanism, and more. What made these micros particularly inconvenient was that they weren’t network-connected themselves, but required a hop through another intermediate controller, which itself was also not connected to the network. Predictably, the otherwise simple “file transfer” step quickly ballooned out into a complex onion of tasks to complete before the rest of the project could continue. As they say, it’s micros all the way down.

The system de jour

Continue reading “Putting The Firmware In Your Firmware”

Weather Warnings And Dust Detection From This Meteorological Marvel

We love getting our weather in a flurry of different methods, but have you tried building your own sensor suite to harvest the data for you? [Giovanni ‘CyB3rn0id’ Bernardo] needed to monitor isolated locations outside the reach of WiFi. His ray of hope is an ESP32 controller coupled with a LoRa module to beam data to a remote station that can access the cloud.

In addition to radios, he poured a deluge of sensors into the base station to read the temperature, barometric pressure, humidity, and fine dust. Why monitor dust as part of weather data collection? Particulate matter has a huge effect on air quality, something of great interest during a respiratory pandemic. For those readers near wildfires, quantifying your air quality (both indoors and out) is certainly of interest. [Giovanni] is using an SDS011 air quality sensor and has a long writeup just on this part. It uses a fan to move air past a laser-based sensing mechanism.

At the base station, live readings are shown on an OLED screen, but you can also connect to the ESP32 through your phone like a hotspot. If you keep a memory card installed, it will cache the readings in a perpetually-updated CSV file. In regular operation, the LoRa module overcasts the telemetry to its sister unit that acts as a Wifi/LoRa bridge so anyone can view gauges and graphs in real-time on ThingSpeak.

We want to shower [CyB3rn0id] with praise for seeing the cirrus serious impact of harmful dust and making something that can alert people. We don’t want to rain on anyone’s parade, but sometimes it is better to stay inside.

Infinity Mirror At Warp Speed

Inventing often combines more than one old ideas into a new one. Even when the fused things are similar, the result can be more valuable than the sum of its parts. Unlike those analog watches with a digital clock below the face, when [Mojoptix] combined the re-reflecting properties of an infinity mirror with the image twisting qualities of a funhouse mirror, we get more than just a pair of mirrors. The resulting images look like a lot of fun. Warping one surface of two parallel mirrors doesn’t just alter the result a bit, because the planes feed off each other’s view, the final product is an exponentially skewed show.

Our host mounts a 3D printed ring with an hubward-facing strip of LEDs to an ordinary glass mirror. Over that, he designs four mated plates that hold semi-reflective film sheets in different shapes. The first is a hyperbolic paraboloid, but it’s probably easier to think of it as shaped like a Pringles chip (crisp). Once the light is applied, it looks like a bowtie made by a deranged god or the start of an infinite rabbit hole of light and reflection. To further the madness, he hits us with four shapes at once, so we hope you’ll take a moment to enjoy the video below.

This guy is no stranger to optics, and we’ve reported on a couple of other cool inventions that teach a concept through demonstration. His precision calipers demonstrate the Moiré effect, and his digital sundial capitalizes on parallel light beams.

Continue reading “Infinity Mirror At Warp Speed”

40% Keyboard Build Is 100% Open Source

[Blake]’s interest in building keyboards happened naturally enough — he was looking for a new project to work on and fell into the treasure chest that is the mechanical keyboard community. It sounds like he hasn’t built anything but keyboards since then, and we can absolutely relate.

This tidy 40% ortholinear is [Blake]’s third build, not including macro keebs. It’s based on an open source case and plate from Thingiverse, and uses an Arduino Pro Micro running the popular QMK firmware to read input from 47 Gateron blues and a rotary encoder.

We particularly like the double rainbow ribbon cable wiring method [Blake] used to connect each row and column to the controller. It looks beautiful, yes, but it’s also a great way to maintain sanity while programming and troubleshooting.

Keyboard builds can look daunting, even at 40% of standard size. But as [Blake] discovered, there are some really good guides out there with fantastic tips for hand-wiring in small spaces. And now there is another well-written guide with clear pictures to point to.

Looking to split from the standard rectangle form factor but don’t know what to go with? Divine your next clacker with this split keyboard finder.

Thanks for the tip, [jrdsgl]!

Don’t Slack Off On Updating Your Status

Displaying an accurate status in Slack (or whatever other employer-provided collaboration program you may be forced to run) is crucial in 2020. If you need to make a sandwich or take the dog out real quick, but you don’t update your status to show yourself as away, you might come back to a string of increasingly concerned or frustrated messages with lots of annoying question marks and the occasional interrobang.

[Becky Stern] decided that a physical interface would be a far more fun way to keep tabs on her status, and an excellent visual reminder to actually do it. We totally agree. Inside the box is a NodeMCU which is using [Brian Lough]’s Slack API library for Arduino. This made it easy for [Becky] to create a switch/case selector of statuses, and in each of these she can set the presence token as auto or away, and show a custom message with an appropriate emoji. These of course match the emoji semi-circling the selector, which is a rotary switch with a really nice knob.

While we’re on the subject of Slack notifiers, how about a companion cat to wave when you’ve been mentioned?

Continue reading “Don’t Slack Off On Updating Your Status”

Pocket TV Now Shows The Inspection Channel 24/7

Those little pocket TVs were quite the cool gadget back in the ’80s and ’90s, but today they’re pretty much useless at least for their intended purpose of watching analog television. (If someone is out there making tiny digital-to-analog converter boxes for these things, please let us know.)

Now that analog pocket TVs are obsolete, they’re finally affordable enough for hacking into a useful tool like an inspection camera. [technichenews] found a nice Casio TV and a suitable analog pinhole camera that also does IR. Since the camera has RCA plugs and the TV’s video input is some long-gone proprietary 3.5mm cable, [technichenews] made a new video-only cable by soldering the yellow RCA wires up to the cable from an old pair of headphones. Power for the camera comes from a universal wall wart set to 12V.

Our favorite part of this project is the way that [technichenews] leveraged what is arguably the most useless part of the TV — the antenna — into the star. Their plan is to use the camera to peer into small engines, so by mounting it on the end of the antenna, it will become a telescoping, ball-jointed, all-seeing eye. You can inspect the build video after the break.

Need a faster, easier way to take a closer look without breaking the bank? We hear those slim earwax-inspection cameras are pretty good.

Continue reading “Pocket TV Now Shows The Inspection Channel 24/7”

Two-Part, Four-Wire Air Quality Meter Shows How It’s Done

The Bosch BME680 is a super-capable environmental sensor, and [Random Nerd Tutorials] has married it to the ESP32 to create an air quality meter that serves as a great tutorial on not just getting the sensor up and running, but also in setting up a simple (and optional) web server to deliver the readings. It’s a great project that steps through everything from beginning to end, including how to install the necessary libraries and how to program the ESP32, so it’s the perfect weekend project for anyone who wants to learn.

The BME680 is a small part that communicates over SPI or I2C and combines gas, pressure, temperature, and humidity sensors. The gas sensor part detects a wide range of volatile organic compounds (VOCs) and contaminants, including carbon monoxide, which makes it a useful indoor air quality sensor. It provides only a relative measurement (lower resistance corresponds to lower air quality) so for best results it should be calibrated against a known source.

The tutorial uses the Arduino IDE with an add-on to support the ESP32, and libraries from Adafruit. Unfamiliar with such things? The tutorial walks through the installation of both. There’s a good explanation of the source code, and guidance on entering setup values (such as local air pressure, a function of sea level) for best results.

Once the software is on the ESP32, the results can be read from the serial port monitor. By going one step further, the ESP32 can run a small web server (using ESPAsyncWebServer) to serve the data to any device wirelessly. It’s a well-written tutorial that covers every element well, and complements this other BME680-based air quality meter that uses MQTT and Raspberry Pi.