A long, rectangular electronic device is shown in front of a book of colour swatches. A small LCD display on the electronic device says “PANTONE 3005 C,” with additional color information given in smaller font below this.

A Spectrophotometer Jailbreak To Resolve Colorful Disputes

The human eye’s color perception is notoriously variable (see, for example, the famous dress), which makes it difficult to standardize colours. This is where spectrophotometers come in: they measure colours reliably and repeatably, and can match them against a library of standard colors. Unfortunately, they tend to be expensive, so when Hackaday’s own [Adam Zeloof] ran across two astonishingly cheap X-Rite/Pantone RM200 spectrophotometers on eBay, he took the chance that they might still be working.

Continue reading “A Spectrophotometer Jailbreak To Resolve Colorful Disputes”

Update Your Chinese Radio Without The Pain

The new hotness in cheap radios this year has been the Quansheng UV-K5, a Chinese handheld transceiver with significant RF abilities and easy modding. The amateur radio community have seized upon it with glee and already reverse-engineered much of the firmware, but flashing the thing has always required a minor effort. Now thanks to the work of [whosmatt], it can be flashed with little more than a web browser and a serial cable.

This feat was made possible through the magic of WebSerial, a handy feature that allows web applications to talk to connected hardware. We’ve seen it in action a few times in the world of badges, and as browser support for it has improved it’s now available through browsers on all the major platforms.

The web app allows tweaking of the Quansheng settings and will, no doubt, be capable of uploading that when fully open-source firmware is available. It should be of great interest well beyond the world of Chinese radios, though, because we’re guessing there are a lot of projects that could benefit from such a ubiquitous interface tool.

If you’d like to know more, WebSerial is something we’ve looked at in the past.

Header image: [Concretedog]

Welcome To The Future, Where Your Microwave Thinks It’s A Steam Oven

It’s fair to say that many of us will have at some time inadvertently bricked a device by applying the wrong firmware by mistake. If we’re lucky then firing up some low-level reflashing tools can save the day and return the item in question to health, but we’re guessing that among you will be plenty of people who’ve had to discard a PCB or replace an inaccessible microcontroller chip as a result.

Spare a thought then for the consumer appliance manufacturer Electrolux, whose AEG subsidiary has bricked combi microwave ovens acrosss a swathe of Western Europe (Dutch, Google Translate link). They managed this improbable feat by distributing an over-the-air update that contains the firmware for a steam oven instead. Worse still, the update has disabled over-the-air updates, meaning that any fix requires physical access to the oven.

We can’t help sympathising with whichever poor AEG engineer has had the ultimate in bad days at work, but at the same time we should perhaps consider the difference between a computer and an appliance, and whether there should be a need for an oven to phone home in the first place. Sure, such devices have been computer-controlled for decades, but should a microcontroller doing a control task need constant updates?

We’re guessing this oven has some kind of cloud aspect to it which allows AEG to slurp customer data the user to control it via their app, but even so it should serve as a warning to anyone tempted by an internet-connected kitchen appliance. If the internet isn’t necessary for the food to be cooked, don’t connect it.

We feel sorry for anyone who might have put a pizza in the oven just before it was bricked, and watched in disappointment as their tasty meal remained uncooked.

ESP32 board with battery and nearby antenna

How To Easily Set Up Secure OTA Firmware Updates On ESP32

After an electronic IoT device has been deployed into the world, it may be necessary to reprogram or update it. But if physical access to the device (or devices) is troublesome or no longer possible, that’s a problem.

OTA updates allow a device to download new firmware, install it, and reboot itself into the new version. Convenient? Yes. Secure? It definitely needs to be.

Fortunately, over-the-air (OTA) firmware updates are a thing, allowing embedded devices to be reprogrammed over their wireless data connection instead of with a physical hardware device. Security is of course a concern, and thankfully [Refik] explains how to set up a basic framework so that ESP32 OTA updates can happen securely, allowing one to deploy devices and still push OTA updates in confidence.

[Refik] begins by setting up a web server using Ubuntu Linux, and sets up HTTPS using a free SSL certificate from Let’s Encrypt, but a self-signed SSL certificate is also an option. Once that is done, the necessary fundamentals are in place to support deploying OTA updates in a secure manner. A bit more configuration, and the rest is up to the IoT devices themselves. [Refik] explains how to set things up using the esp32FOTA library, but we’ve also seen other ways to make OTA simple to use.

You can watch a simple secure OTA firmware update happen in the video, embedded below. There are a lot of different pieces working together, so [Refik] also provides a second video for those viewers who prefer a walkthrough to help make everything clear. Watch them both, after the break.

Continue reading “How To Easily Set Up Secure OTA Firmware Updates On ESP32”

Even More Firmware In Your Firmware

There are many ways to update an embedded system in the field. Images can fly through the air one a time, travel by sneaker or hitch a ride on other passing data. OK, maybe that’s a stretch, but there are certainly a plethora of ways to get those sweet update bytes into a target system. How are those bytes assembled, and what are the tools that do the assembly? This is the problem I needed to solve.

Recall, my system wasn’t a particularly novel one (see the block diagram below). Just a few computers asking each other for an update over some serial busses. I had chosen to bundle the payload firmware images into the binary for the intermediate microcontroller which was to carry out the update process. The additional constraint was that the blending of the three firmware images (one carrier and two payload) needed to happen long after compile time, on a different system with a separate toolchain. There were ultimately two options that fit the bill.

The system thirsty for an update

Continue reading “Even More Firmware In Your Firmware”

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”

Chris Conlon: Device Security 101

We all wring our hands over the security (or lack thereof!) of our myriad smart devices. If you haven’t had your home network hacked through your toaster, or baby cam, you’re missing out on the zeitgeist. But it doesn’t have to be this way — smart devices can be designed with security in mind, and [Chris Conlon] came to Pasadena to give us a talk on the basics.

He starts off the talk with three broad conceptual realms of data security: data in transit, data at rest on the device, and the firmware and how it’s updated. A common thread underlying all of this is cryptography, and he devotes the last section of his  talk to getting that right. So if you’d like a whirlwind tour of device security, watch on!

Continue reading “Chris Conlon: Device Security 101”