Hackaday Prize 2023: LASK4 Watches Those Finger Wiggles

What do you get when you combine an ESP32-S2, a machine-learning model, some Hall effect sensors, and a grip exercise toy? [Turfptax] did just that and created LASK4. The four springs push down pistons with tiny magnets on them. Hall effect sensors determine the piston’s position, and since the springs are linear, the ESP32 can also estimate the force being applied on a given finger. This data is then streamed to a nearby computer over TCP. A small OLED screen shows the status, and a tidy 3D printed case creates a comfortable package.

So other than an excellent musical instrument, what is this good for? First, it creates well-labeled training data when combined with what is collected by the muscle sensor band we discussed previously. The muscle band measures various pressure sensors radially around the forearm. With just a few minutes of training data, the system can accurately predict finger movement using the random forest regression model.

What would you use it for? It’s considered a somatosensory device, so it can be used for physical therapy when undergoing hand rehabilitation, as it provides feedback during sessions. Or it could be used to train a controller efficiently.

It’s an exciting project on GitHub under an OpenCERN hardware license. The code is in MicroPython, and the PCB and STL files are included. We’re looking forward to seeing what else comes from the project. After the break, there’s a progress update video.

Continue reading “Hackaday Prize 2023: LASK4 Watches Those Finger Wiggles”

Hackaday Prize 2023: EyeBREAK Could Be A Breakthrough

For those with strokes or other debilitating conditions, control over one’s eyelid can be one of the last remaining motor functions. Inspired by [Jeremiah Denton] blinking in Morse code on a televised interview, [MBW] designed an ESP32-based device to decode blinks into words.

While an ESP32 offers Bluetooth for simulating a keyboard and has a relatively low power draw, getting a proper blink detection system to run at 20 frames per second in a constrained environment is challenging. Earlier attempts used facial landmarks to try and determine, based on ratios, whether an eye was open or closed. A cascade detector combined with an XGBoost classifier offered excellent performance but struggled when the eye wasn’t centered. Ultimately a 50×50, 4-layer CNN in TensorFlow Lite processes the camera frames, producing a single output, eye open or closed. For debugging purposes, it streams camera frames over Wi-Fi with annotations via OpenCV, though getting OpenCV to compile for ESP32 was also nontrivial.

[MBW] trained the model using the MRL dataset and then quantized to int8. Getting the Bluetooth and Wi-Fi stacks to run concurrently was a bit of a pain, as was managing RAM. After exhausting SRAM and IRAM, [MBW] had to move to PRAM. The entire system is built into some lightweight goggles and makes for a fairly comfortable experience.

While TensorFlow and microcontrollers might seem like a bit of an odd couple, at the end of the day, the inference engine is just doing some math on an array of inputs with some weights. We’ve even seen TensorFlow Lite on a Commodore 64. If you don’t know about [Admiral Jerimiah Denton] we can shed some light on it for you.

Continue reading “Hackaday Prize 2023: EyeBREAK Could Be A Breakthrough”

Google Nest Hub Teardown

Seeing the guts of devices is a fascination that many hackers share. [Txyz] tore down a 2nd gen Google Nest Hub for all of us to enjoy. The video after the break is well produced and relaxing to watch as various heat shields are removed and debug cables are soldered on.

The main SOC is an Amlogic S905D3G, a 4-core A55-based SoC. The important chips are meticulously documented, and it’s a fascinating look inside a device common in many people’s homes. One chip that’s of note is the BGT60TR13C, otherwise known as Project Soli. It is an 8x10mm chip that uses radar to detect movement with sub-millimeter accuracy. This allows the device to measure your sleep quality or recognize gestures. Luckily for us, [Txyz] has included a datasheet and a block diagram. First, the chip fills a FIFO with data samples. Once full, it will issue an interrupt to the main SoC, which empties the buffer via SPI.

The debug cables allowed him to capture traces of the SPI commands to the BGT60TR13C. [Txyz] focused on decoding the various data blocks and the configuration registers. Unfortunately, only a few registers are documented in the datasheet, and it isn’t apparent what they do.

If a hardware teardown isn’t enough for you, perhaps a software teardown to bypass Secure Boot might sate your interest.

Continue reading “Google Nest Hub Teardown”

Macro Pad Cheap Enough To Give Away

Supercon 2022 showed that hackers are starting to come together again in Maker Faires, conventions, and festivals. [Toby Chui] plans to be one of those hackers and wants something to give to fellow attendees. Thus, the $3 Macro Pad was born.

We’ve seen our fair share of macro pads, so a simple four-key pad isn’t exactly novel. However, the focus on size and cost makes it stand out. The pad is the size of a business card, making it easy to give away. For a microcontroller, [Toby] used a CH552G, which is cheap and compatible with the Arduino IDE. Although, with 10 GPIO, a matrix layout could have supported a full-sized number pad, the diodes required would have added to the cost significantly. A cheap PCB and 3d-printed base make up the device’s bulk.

[Toby] provides a handy tool for assigning keys from your browser without coding. However, the source code is on GitHub if you want to develop a more complicated scheme. This isn’t the first time we’ve featured the CH552 chip, and it likely won’t be the last.

Continue reading “Macro Pad Cheap Enough To Give Away”

Bringing The PIO To The FPGA

We’ve seen some pretty incredible hacks using the Raspberry Pi 2040. However, one of the most exciting bits of hardware onboard is the Programmable I/O (PIO). Not content with it just being a part of RP2040-based projects, [Lawrie Griffiths] has been porting the PIO to Verilog so anyone can enjoy it.

This particular implementation is based only on the spec that Raspberry Pi provides. For assembling PIO code, [Lawrie] uses Adafruit’s pioasm assembler they use for their MicroPython framework. There’s a simulator to test different programs, and the project targets the Blackice MX and the Ulx3s. A few example programs are included in the repo, such as outputting a pleasant guitar note over I2S and driving a chain of WS2812s.

The project is still incomplete but slowly making progress. It’s an incredible feat of reverse engineering. While the simulator can be used to debug programs, step through instructions, and inspect waveforms, the ultimate value of bringing the PIO to other systems is that now we can re-use the code. Things like the can2040, an implementation of the CAN bus protocol using the PIO. Or even a PIO-based USB host.

We’ve Got A Saxaboom At Home Son

Most parents have heard a familiar story. Their lovely child comes up, having seen a celebrity rocking out with a funny $20 toy from the 80s, and asks for it. Of course, you reply, it’s just 20 dollars. However, a quick scan through eBay reveals that everyone else’s kid has also been asking for this obscure toy for a school event, which now costs around $700. [Ben] found himself in that exact position and made a crucial off-hand comment, “I bet I could make one of those.” That was how his hectic journey into the world of toy reproduction began.

All [Ben] had for reference when recreating a Sax-A-Boom were pictures and sound clips. Modeling complex sweeping shapes in CAD is difficult, and [Ben] commissioned a 3d model from a professional on Fiverr. [Ben] broke down the model into printable sections and tweaked it to account for buttons. After a concerning amount of putty, wet sanding, and elbow grease, [Ben] had a decently smooth body for an instrument. The device’s guts is an ESP32-based board called Sonatino, built around music generation. The music samples came from a virtual instrument clone on GitHub and loaded onto an SD card.

Time pressure crept in towards the end, and [Ben] had to go for some dirty solution that he would have preferred (popsicle sticks and epoxy for button mounting). Yes, there were some gaps and paint flaws, but ultimately [Ben’s] son rocked the school presentation. It’s a beautiful journey through creating something with a high level of finish on a limited timescale.

Perhaps future versions of the Sax-A-Boom can take it further by adding a breath sensor, like this 3d printed MIDI instrument.

Continue reading “We’ve Got A Saxaboom At Home Son”

Hackaday Prize 2023: The Realities Of The Homework Machine

For those outside the world of education, it can be hard to judge the impact that ChatGPT has had on homework assignments. If you didn’t know, the first challenge of the 2023 Hackaday Prize is focused on improving education. [Devadath P R] decided that the best way to help teachers and teaching culture was to confront them head-on with our new reality by building the homework machine.

The goal of the machine is to be able to stick in any worksheet or assignment and have it write out the answers in your own handwriting, and so far, the results are pretty impressive. There are already pen holder tools for 3D printers, but they often have a few drawbacks. Existing tools often take quite a while to generate G-Code for long pages of text. Hobby servos to lift the pen up and down take more wear than you’d expect as a single page has thousands of actuations. Vibrations are also a problem as they are a dead giveaway that the text was not human-written. [Devadath] created a small Python GUI to record their particular handwriting style on a graphics tablet and used ChatGPT to generate answers. Continue reading “Hackaday Prize 2023: The Realities Of The Homework Machine”