Cheap Kitchen Scale Learns To Speak JSON With ESP32

Smart kitchen appliances are expensive, and more often than not, your usage data goes to whichever company operates the inevitable cloud service. Meanwhile the cheap ones contain substantially the same components without the smarts, so surely a hardware hacker can add a microcontroller to a cheap appliance for a bit of smart home technology without the privacy issues? It’s something [Liore] has done with an Amazon Basics kitchen scale, removing the electronics and wiring up an ESP32 to the load cell instead.

The Wheatstone bridge load cell circuit generates a tiny voltage difference that’s far too small for an ESP32 to measure, so in between the pair is an Avia Semiconductor HX711 strain gauge amplifier module. In addition, there’s a small OLED screen and the two buttons used in the Amazon scale are wired in too, providing the the kitchen scale functionality you’d expect.

Naturally the ESP32 brings along with it WiFi networking capabilities, which [Liore] has taken full advantage of here. By navigating a web browser to its IP address, you’ll receive the scale’s current reading in JSON format. This should make it easy to integrate with other systems, from Home Assistant to OctoPrint. We can see that there is plenty of scope for further enhancements for those prepared to write a little code.

Of course, this isn’t the first enhanced scale we’ve brought you, here’s one with Bluetooth. We’ve also seen hackers dispense with the kitchen-safe trappings and build the load cell directly into their own contraptions.

Two "On Air" signs

Automatic On Air Light Prevents Distractions During Online Meetings

Remote working has become so normal that even important meetings are now routinely held online. But for those working from home there’s always the risk of pets or flatmates entering the room right when you’re in a heated argument with your boss or presenting your results to an important client. To overcome this problem, [Hans Scharler] designed a system that lights up a big “ON AIR” sign whenever he’s in an online meeting. Although his cat might still disregard it, any human housemates will now know not to disturb him.

The inside of an "On Air" sign with an ESP32 and an LED strip inside[Hans] built a similar device out of spare parts back in 2020, but completely redesigned it to make a more robust version. The basic idea is simple: the sign is illuminated whenever [Hans]’s webcam is enabled, as he is then presumably in a meeting. A few lines of Python code detect the webcam’s state and send the result to ThingSpeak, an IoT service that can be hooked up to various types of gadgets. In this case, the online service sends a signal to an ESP32 hidden inside the sign to turn on an LED string. Those LEDs consume very little power, so they can be driven directly from one of the ESP32’s GPIO ports.

The whole system is powered by a 5V USB power supply and can be placed on a shelf or mounted on a wall, giving your room a bit of a vintage radio studio vibe. Modern IoT services make this kind of project much easier than before: back in 2011, [Matt] probably had to write a lot more code to make a similar Arduino-powered light work.

Robotic Acrobot Aces The Moves

[Daniel Simu] is a performance artist, among many other things, and does acrobatic shows, quite often with a partner “flyer”. Training for his acts gets interrupted if his flyer partner is not available due to travel, injury or other reasons. This prompted him to build Acrobotics — a robotic assistant to make sure he can continue training uninterrupted.

He has some electronics and coding chops, but had to teach himself CAD so that he could do all of the design, assembly and programming himself. Acrobotics was developed as part of a Summer Sessions residency at V2_ (Lab for the Unstable Media) at Rotterdam in 2022.

The design is built around a mannequin body and things are quite simple at the moment. There are only two rotational joints for the arms at the shoulder, and no other articulations. Two car wiper motors rotate the two arms 360 deg in either direction. Continuous rotation potentiometers attached to the motors provide position feedback.

An ESP32 controls the whole thing, and the motors get juice via a pair of BTS7960 motor drivers. All of this is housed in a cage built from 15 mm aluminium extrusion and embedded in the torso of the mannequin. [Daniel] doesn’t enlighten us how the motor movements are synchronized with the music, but we do see a trailing cable attached to the mannequin. It’s likely the cable could be for power delivery, as well as some form of data or timing signals.

He’s working on the next version of the prototype, so we hope to see improved performances soon. There’s definitely scope for adding a suite of sensors – an IMU would help a lot to determine spatial orientation, maybe some ultrasonic sensors, or a LiDAR for object detection or mapping, or additional articulated joints at the elbows and wrists. We gotta love “feature creep”, right ?

Check out the two videos after the break – in the first one, he does an overview of the Acrobotics, and the second one is the actual performance that he did. Robot or not, it’s quite an amazing project and performance.
CAVEAT : We know calling this a “robot” is stretching the definition, by a lot, but we’re going to let it slip through.

Continue reading “Robotic Acrobot Aces The Moves”

New Part Day: ESP32-P4 Espressif RISC-V Powerhouse

It seems every day there’s a new microcontroller announcement for which the manufacturer is keen to secure your eyeballs. Today it’s the turn of Espressif, whose new part is the ESP32-P4, which despite being another confusingly named ESP32, is a high-performance addition to their RISC-V line-up.

On board are dual-core 400 MHz and a single-core low power 40 MHz RISC-V processors, and an impressive array of hardware peripherals including display and camera interfaces and a hardware JPEG codec alongside the ones you’d expect from an ESP32 part. It’s got a whopping 768 KB of on-chip SRAM as well as 8 K of very fast cache RAM for intensive operations.

So after the blurb, what’s in it for us? It’s inevitable that the RISC-V parts will over time displace the Tensilica parts over time, so we’ll be seeing more on this processor in upcoming Hackaday projects. We expect in particular for this one to be seized upon by badge developers, who are intent on pushing extra functionality out of their parts.So we look forward to seeing the inevitable modules with this chip on board, and putting them through their paces.

Thanks [Renze] for the tip.

Supercon 2022: Mooneer Salem Goes Ham With An ESP32

After being licensed as a ham radio operator since the early 2000s, you tend to start thinking about combining your love for the radio with other talents. In a 20-minute talk at Hackaday Supercon 2022, [Mooneer Salem] tells the story of one such passion project that combined software and radio to miniaturize a digital ham radio modulator.

[Mooneer] works as a software developer and contributes to a project called FreeDV (free digital voice), a digital voice mode for HF radio. FreeDV first compresses the digital audio stream, then converts it into a modulation scheme sent out over a radio. The appeal is that this can be understandable down to very low signal-to-noise ratios and includes metadata and all the other niceties that digital signals bring.

Traditionally, this has required a computer to compress the audio and modulate the signal in addition to two sound cards. One card processes the audio in and out of your headset, and another for the audio coming in and out of the radio. [David Rowe] and [Rick Barnich] developed the SM1000, a portable FreeDV adapter based around the STM32F4 microcontroller. However, flash space was running low, and the cost was more than they wanted. Continue reading “Supercon 2022: Mooneer Salem Goes Ham With An ESP32”

GitHub ESP32 OTA Updates, Now In MicroPython Flavor

Wouldn’t it be great if you could keep all of your small Internet-connected hacks up to date with a single codebase? A couple of weeks ago, we wrote up a project that automagically pulls down OTA updates to an ESP32 from GitHub, using the ESP32 C SDK. [Pascal] asked in the comments, “but what about MicroPython?” Gauntlet thrown, [TURFPTAx] wrote ugit.pya simple library that mirrors all of the code from a public GitHub Python repo straight to your gizmo running Micropython.

[Damped] wrote in about Senko, another library that does something very similar, but by then [TURFPTAx] was already done. Bam! Part of the speed is that MicroPython includes everything you need to get the job done – parsing streamed JSON was the hard part with the original hack. MicroPython makes those sorts of things easy.

This is one of those ideas that’s just brilliant for a hacker with a small flock of independent devices to herd. And because ugit.py itself is fairly simple and readable, if you need to customize it to do your own bidding, that’s no problem either. Just be sure that when you’re storing your WiFi authentication info, it’s not publicly displayed. ([TURFPTAx], could I log into your home WiFi?)

What’s [TURFPTAx] going to be using this for? We’re guessing it’s going to be deploying code to his awesome Open Muscle sensing rigs. What will we be using it for? Blinky Christmas decorations for the in-laws, now remotely updatable without them having to even learn what a “repo” is.

Continue reading “GitHub ESP32 OTA Updates, Now In MicroPython Flavor”

Push ESP32 Over The Air Updates From GitHub

Let’s say you’re working on an ESP32 project to send off to your grandma; something she can just plug in and it will start automatically monitoring her plant’s water levels. But you discover a critical flaw in the firmware and need to update it. Does she send it back? Do you walk her through dropping the update via the Arduino IDE OTA? The easiest way would be to plan and use something like esp_ghota, an OTA framework by [Justin Hammond].

OTA (Over-The-Air) updates are a fantastic feature of the ESP32, and we’ve covered libraries that make it easy. But compared to those earlier projects, esp_ghota takes a different approach. Rather than hosting a web server where someone can drop a binary, it looks at GitHub releases. [Justin] had to include a streaming JSON parser, as GitHub API responses tend to be beefy. The workflow is straightforward, push a new commit to your main branch on GitHub, and the action will trigger, building a few different versions. Your little plant watering reminder at your grandma’s will check every so often to see if a new version has been pushed and can update with rollback on littlefs, fatfs, and spiffs filesystems.

It’s an incredible project that we suspect will be very useful for many folks to update their projects. [Justin] even includes an example GitHub action and a sample ESP32 project.