Reverse Engineered Grill Controller Gets Open Firmware

If you are a regular reader, then the odds are you have taken apart an electronic gadget, either for a fix, or simply because your curiosity got the better of you. Once inside, it’s all but impossible to help yourself from doing at least a little reverse engineering. That’s what happened when [PRBS23] took a look inside a Gravity 800 Grill for a simple wire fix. But one thing led to the next, and now open source firmware for the grill is freely available!

Control board schematic.
Control board schematic.

The first order of business in creating the firmware is reverse engineering the original controller. Opening it up immediately reveals an ESP-32 and a well-labeled programming port. The rest of the control board is equally simple, including connectors for four thermistor temperature sensors, lid open/close switch, fan driver, 16 segment LCD, piezo buzzer, and some physical inputs.

The thermistor along with the physical inputs are connected to a 16 pin chip, interfacing with the MCU over a 9600 baud UART connection. [PRBS23] cannot determine an ADC chip meeting these specifications, so the most likely answer is a cheap MCU programmed to act as a simple analog fronted.

The neatly labeled programming header is used to quite easily dump the firmware with the espflash utility. Analyzing this dump reveals a rather strange ADC correction function used by the original firmware. The necessity and overall utility of this function remains unclear, does corrects a maximum of around 40 degrees Fahrenheit.

Most of the other features ended up being at least somewhat easier. The CS1621 segmented display driver is reasonably well documented with datasheets making its implementation far easier. Likewise, the other odds and ends were implemented in a far more normal manner compared to the thermistors.

All this reverse engineering work got tied together into a neat little firmware package. It comes with over the air updates PID controlled temperature, and a real-time web interface. This also isn’t the first time we have seen an IoT device liberated from proprietary firmware, and this remains one of our favorite uses of reverse engineering!

 

An open-source, DIY, point-and-shoot digital camera.

PolyShot Camera Focuses On Nostalgia

Although we personally have yet to see anyone brandishing an old digital point-and-shoot camera, we hear they’re back in vogue. Why, though? People are nostalgic for that image quality. While he certainly could have simply picked up a vintage model somewhere for a likely inflated price, [Arnov Sharma] decided to build his own version and call it the PolyShot.

The core of this project is the Unihiker K10 dev board, which uses an ESP32-S3, a whopping 2 megapixel camera, and a micro SD card to capture photos and display them back on the screen. The tricky part, if you can call it that, is the custom PCB. It’s a simple board with just three buttons: shutter, gallery, and next image. We do like that the position of the battery compartment creates a nice grip.

The biggest difference here is that there is a few-second delay between pressing the shutter button and actually capturing the image, which you can see in the short videos below. So if you’re trying to get a shot of a skink or something equally speedy, we wish you good luck.

In a future iteration, [Arnov] wants to address the issue of image quality, because this project ended up evolving into a more traditional digital camera. He would also improve the battery life, for which the current expectancy is around three hours on a charge. Ultimately, [Arnov] wants to ditch the Unihiker and design everything from the ground up, using an ESP32-S3 module.

Continue reading “PolyShot Camera Focuses On Nostalgia”

Researchers Hack An Airline Analog

Modern airliners are rather complicated feats of engineering. Innumerable safety-critical components are connected with tens of miles of wiring, complex digital buses, and dozens (perhaps hundreds) of computers. But, as hackers, we know that any computer can be hacked and, of course, aircraft avionics are no different. 

Modern aircraft typically use the ARINC 429 protocol. This differs from many protocols we see where multiple transmitters are allowed. ARINC 429 has a single transmission source. This makes a transmission-override attack hypothetically difficult, as an attacker was thought to need to physically replace a legitimate transmitter (like a flight management computer), a rather daunting task. However, the ARINC 429 transmitters sit behind a pair of 37.5 ohm resistors, so by transmitting on the same line, an attack device can simply override the legitimate transmitter’s power.

Continue reading “Researchers Hack An Airline Analog”

Scanning For Lifesigns With ESP32 And Raspberry Pi

It’s a sci-fi trope that you can ‘scan for life signs’ and detect if there are humans — or suspiciously human-shaped aliens — present, but in real life it’s harder than that. [The Masked Bear]’s wifisense-pi project isn’t really scanning for signs of life, either, unless you happen to consider breathing a sign of life. Even then, it’s not detecting breathing per se, but the subtle motion that goes with it: it’s a very sensitive motion detector that relies on the fact that we fleshy bags of goo disturb WiFi signals with our presence, and motion alters those disturbances.

We’d probably waste a lot of time watching the signal graphs on the WifiSense-Pi dashboard.

The device uses an ESP32-S3 to measure the radio channel 100 times per second, while a Raspberry Pi 4 provides the signal processing muscle. It can detect the slightest motions, and even determine the presence of a perfectly still human by their breathing, though you can hide your presence for as long as you can hold your breath. A single sensor, no matter how sensitive, cannot give position information, and while multiple humans will distort WiFi more than a single one, [The Masked Bear] reports you cannot reliably extract that signal. So this project answers the question: “are there humans in this room?” Or, even more likely, “are there any large breathing animals in this room?” We can’t imagine a 50 kg Mastiff looking any different to this sensor than an equivalent mass of quivering human flesh.

Before you dismiss this as just another motion sensor, keep in mind that it is sniffing the signals already present on the 2.4 GHz band, and, like the WiFi signals themselves, it can work through walls. So we think it’s pretty nifty. Of course, there are many other ways to detect humans, from machine-learning cameras to millimeter-wave sensors to a simple PIR. This isn’t the first project we’ve seen that uses WiFi like this. It isn’t even the first with an ESP32, but it’s an interesting implementation worth checking out.

Bridging Older Tasmota Hardware Into Apple Home

The Tasmota firmware is a popular choice for flashing to a range of Espressif microcontrollers to turn them into smart home devices. If you have such devices in your house, you might wish they were easier to integrate with the Apple Home platform. As it turns out, though, there’s a convenient app for that.

[Christof Müller] built an app called Tasmoshelf for just this purpose. Its primary claim to fame is that it can easily help port a Tasmota-based setup into the Apple Home universe. It can achieve this without requiring a Home Assistant server or MQTT broker or any other workarounds. This is thanks to the fact that Apple Home is compatible with Matter technology, as are ESP32 devices running Tasmota 13 firmware or newer. They can natively jump on an Apple Home setup, and even act as a bridge for older ESP8266 devices that can’t speak Matter themselves. The device is able to run network scans to automatically discover devices and advise whether they can hook up directly to Apple Home, or whether a bridge is needed.

If you’re running Tasmota devices and want to easily integrate them, you might find Tasmoshelf a useful addition to your smart home setup. Just note that it does require a one-off purchase if you intend to use it beyond three devices, a limit which some might find somewhat restrictive.

We’ve looked at Tasmota in detail before; it’s a great way to whip up a smart home to suit your own desires. Meanwhile, if you’re whipping up your own nifty integrations, don’t hesitate to let us know on the tipsline.

Grading Tomatoes With An ESP32 And ML

If you’ve ever worked with produce, you might know about grading. In addition to deciding if, say, a strawberry is good or not, they also have to sort them by color. Turns out, you don’t care if one package of berries is a bit redder than another, but you do care if one package has too much color variation. [Pmalfa31] applied an ESP32 and machine learning to grading tomatoes.

The system knows in advance if you are processing standard tomatoes or cherry tomatoes and uses two different sets of learned data depending on which you select. The program receives raw data from an optical sensor and then processes it to remove empty belt images, compute statistical information, and group readings for a single fruit together.

Continue reading “Grading Tomatoes With An ESP32 And ML”

A desktop Borg cube. Just kidding, it's a buttonless, cube-shaped timer with a really neat 3D-printed enclosure.

FlipBuddy Is Borg, You Will Be Assimilated

When you think about it, time is all we’ve really got. Where to go from there is ultimately up to you. Maybe you use an app to track every task, or just go with the onboard timer. But that can be a lot of steps to begin with, and then the phone screen goes dark again. For some people, the whole out of sight, out of mind thing will kick in. At worst, you get distracted, start doing something else, and then feel guilty and frustrated when the timer starts going off.

The guts of FlipBuddy inside the unfurled enclosure.But there’s hope for us visual simpletons, and the purveyor of that hope is [Edris] of Ponderly Robotics. You see, [Edris] created an extremely easy-to-use timer that looks like something you’d find on Captain Picard’s desk as a token of defeating the Borg. But the affably-named FlipBuddy is far more useful than that description implies.

[Edris] uses the open-source FlipBuddy every day, and swears by its simplicity. The point is accessibility, and respect for privacy. That said, there’s a companion app to provide insight.

Basically, you assign a task to each cube face. Choose one, and place the cube with that side facing up. FlipBuddy wakes up, connects to WiFi, and then pushes your session to the cloud, bypassing the need for your phone.

Time to switch tasks? Just put the new side face up. When you’re done for the day, use the stop face, which we’re hoping means to set it on the knocked-off corner.

You don’t need much to make FlipBuddy come to life. [Edris] used an ESP32 (an S3 SuperMini or similar will work), an MPU6050, six WS2812B LEDs, and a 3.7 V Li-Po cell. The beautiful, 3D printed origami mesh enclosure prints as a single, flat piece, and you get to fold it up around the internals and make your new buddy come to life.

Part of the point of FlipBuddy is that it can become as intuitive as punching a chess clock. So if it’s buttons you’re after, check out this simple Pomodoro timer.