Using GitHub Actions To Brew Coffee

It’s getting harder and harder to think of a modern premium-level appliance that doesn’t come with some level of Internet connectivity. These days it seems all but the cheapest refrigerators, air purifiers, and microwaves include wireless capabilities — unfortunately they’re often poorly implemented or behind a proprietary system. [Matt] recently purchased a high-end coffee maker with Bluetooth functionality which turned out to be nearly useless, and set to work reverse-engineering his coffee maker and adapting it to work by sending commands from GitHub.

Since the wireless connectivity and app for this coffee maker was so buggy and unreliable, [Matt] first needed to get deep into the weeds on Bluetooth Low Energy (BTLE). After sniffing traffic and identifying the coffee maker, he set about building an interface for it in Rust. Once he is able to send commands to it, the next step was to integrate it with GitHub, so that filing issues on the GitHub interface sends the commands from a nearby computer over Bluetooth to the coffee maker, with much more reliability than the coffee maker came with originally.

Using [Matt]’s methods, anyone stuck with one of these coffee makers, a Delonghi Dinamica Plus, should be able to reactivate the use of its wireless functionality. While we’d hope that anyone selling a premium product like this would take a tiny amount of time and make sure that the extra features actually work, this low bar seems to be oddly common for companies to surmount. But it’s not required to pick up an expensive machine like this just to remotely brew a cup of coffee. You can do that pretty easily with a non-luxury coffee maker and some basic wireless hardware.

Wearable Sensor Trained To Count Coughs

There are plenty of problems that are easy for humans to solve, but are almost impossibly difficult for computers. Even though it seems that with modern computing power being what it is we should be able to solve a lot of these problems, things like identifying objects in images remains fairly difficult. Similarly, identifying specific sounds within audio samples remains problematic, and as [Eivind] found, is holding up a lot of medical research to boot. To solve one specific problem he created a system for counting coughs of medical patients.

This was built with the idea of helping people with chronic obstructive pulmonary disease (COPD). Most of the existing methods for studying the disease and treating patients with it involves manually counting the number of coughs on an audio recording. While there are some software solutions to this problem to save some time, this device seeks to identify coughs in real time as they happen. It does this by training a model using tinyML to identify coughs and reject cough-like sounds. Everything runs on an Arduino Nano with BLE for communication.

While the only data the model has been trained on are sounds from [Eivind], the existing prototypes do seem to show promise. With more sound data this could be a powerful tool for patients with this disease. And, even though this uses machine learning on a small platform, we have seen before that Arudinos are plenty capable of being effective machine learning solutions with the right tools on board.

A Simple Web Configured BLE To GPIO Bridge

[Daniel Dakhno] kept ending up in a situation where the ability to read the status of, or control a few digital IO pins with minimal effort, would be terribly useful. Not wanting to keep compiling code, for such simple needs, they instead used a nRF51-based module as a physical interface and produced a general purpose firmware that could be configured with a simple web interface. The NRF51-IO-module was born, whose job is to pair with whatever device you have in front of you, provided it supports BLE, and give direct access to those IO pins.

Rather than acting as a rather slow logic analyser, the firmware is intended for mostly static configurations. The web application sends a configuration packet over to the nRF51 board, which then programs it into FLASH and restarts, reading the updated configuration and applying it to the IO pins. These outputs then persist as long as there is power. The read-side of the equation can also be performed via the web page, but we didn’t have a chance to verify that. The code implements the Bluetooth automation IO service as well as the binary sensor service so if you have access to applications that talk these services, then you should be able to fire it up and go with it, although we’ve not personally tested this due to lack of an nRF51 board. We noticed that the Home Assistant automation platform supports the BT binary sensor, which might be a big help for some people with a need for some wireless control and sensing.

If you need a practical example of a use for remote sensing, here’s a physical mailbox status monitor, using the nRF51. Whilst we’re thinking of Bluetooth and sensors, here’s a custom firmware for some super cheap environment sensors that frees them from vendor lock-in.

Header image: Ubahnverleih, CC0.

a 3D-rendered image of a PCB with several knobs and buttons

Odd Inputs And Peculiar Peripherals: The LowPow ShortKeyboard Can Work On Your Desk Or Out In The Field

For some power users, the one-hundred-and-something keys on regular keyboards just aren’t enough for their everyday tasks. Macro keypads are a popular way of extending one’s input capabilities, and there are almost as many examples as there are power users. [Ulrich]’s latest project, dubbed the LowPow E-Ink ShortKeyboard, is a beautiful and meticulously documented design for a macro pad that includes several unusual features.

Built around an ESP32-S3 microcontroller, the ShortKeyboard features nine programmable function keys plus an analog joystick and a rotary encoder. The keys are based on Cherry MX RED types commonly seen in mechanical keyboards, illuminated from below by by miniature RGB LEDs. A big e-ink display in the middle can be used to show the function of each key.

Continue reading “Odd Inputs And Peculiar Peripherals: The LowPow ShortKeyboard Can Work On Your Desk Or Out In The Field”

The Tracer board strapped to the frame of a bicycle with a red Velcro strap

Tracer, A Platform For All Things Movement Logging

[elektroThing] is building a lightweight, battery-powered board to track and measure movement of all kinds, called Tracer. Powered by an ESP32, it has a LSM6DSL 6DoF accelerometer & gyroscope sensor, and a VL53L0X Time-of-Flight sensor. A small Li-ion battery in a holder reportedly provides for 5 hours of streaming data over Bluetooth Low Energy (BLE) at 100 Hz. It’s essentially a wireless movement sensor platform to be paired with a more powerful computer for data logging and analysis. What’s such a platform good for?

They show it attached to a tennis racket, saying you could use the data to, for a start, count the strokes done in a given match. They’ve also strapped it to a bicycle’s crankshaft and used it as a cadence sensor – good for gauging your cycling efficiency! But of course, this can be used in more applications than sport. A device like this could be used for logging movement of any relatively nearby objects, be it your cat, an office chair, or a door someone might slam a bit too hard at times. Say, you wanted to develop a sleep tracker and were to collect some data for defining your algorithms and planning your hardware requirements – this would work wonders.

There’s already available example code for streaming data into the Phyphox data logging and graphing app, as well as schematics – hopefully, the full board files will be available soon. A worthy open-source opponent to commercial devices available for similar purposes, this platform is good news for any hacker that wants to do motion measurement projects without reinventing quite a few wheels at once. We are told this board might get to CrowdSupply soon, and we can’t wait! Platforms like these, if done well, can grow an offspring of new projects for us to have fun with, and our paid projects get all that much easier to work on.

We’ve shown projects with such sensors before – here’s one that helps your rifle aim by giving you data to debug your last-second rifle movements, and another that logs movement data from inside a football. There’s a million endpoints you could stream your data into, and we are told you could even use Google Sheets. Just a year ago, we held our Data Logging contest and the entries we received will surely point out quite a few under-explored areas in your daily life!

Dummy The Robot Arm Is Not So Dumb

[Zhihui Jun] is a name you’re going to want to remember because this Chinese maker has created quite probably one of the most complete open-source robot arms (video in Chinese with subtitles, embedded below) we’ve ever seen. This project has to be seen to be believed. Every aspect of the design from concept, mechanical CAD, electronics design and software covering embedded, 3D GUI, and so on, is the work of one maker, in just their spare time! Sound like we’re talking it up too much? Just watch the video and try to keep up!

After an initial review of toy robots versus more industrial units, it was quickly decided that servos weren’t going to cut it – too little torque and lacking in precision. BLDC motors offer great precision and torque when paired with a good controller, but they are tricky to make small enough, so an off-the-shelf compact harmonic drive was selected and paired with a stepper motor to get the required performance. This was multiplied by six and dropped into some slick CNC machined aluminum parts to complete the mechanics. A custom closed-loop stepper controller mounts directly to the rear of each motor. That’s really nice too.

Stepper controller mounts on the motor rear – smart!

Control electronics are based around the STM32 using an ESP32 for Wi-Fi connectivity, but the pace of the video is so fast it’s hard to keep up with how much of the design operates. There is a brief mention that the controller runs the LiteOS kernel for Harmony OS, but no details we can find. The project GitHub has many of the gory details to pore over perhaps a bit light in places but the promise is made to expand that. For remote control, there’s a BLE-connected teaching device (called ‘Peak’) with a touch screen, again details pending. Oh, did we mention there’s a force-feedback (a PS5 Adaptive Trigger had to die for the cause) remote control unit that uses binocular cameras to track motion, with an AHRS setup giving orientation and that all this is powered by a Huawei Atlas edge AI processing system? This was greatly glossed over in the video like it was just some side-note not worth talking about. We hope details of that get made public soon!

Threading a needle through a grape by remote control

The dedicated GUI, written in what looks like Unity, allows robot programming and motion planning, but since those harmonic drives are back-drivable, the robot can be moved by hand and record movements for replaying later. Some work with AR has been started, but that looks like early in the process, the features just keep on coming!

Quite frankly there is so much happening that it’s hard to summarise here and do the project any sort of justice, so to that end we suggest popping over to YT and taking a look for yourselves.

We love robots ’round these parts, especially robot arms, here’s a big one by [Jeremy Fielding],  and if you think stepper motors aren’t necessary, because servo motors can be made to work just fine, you may be right.

Continue reading “Dummy The Robot Arm Is Not So Dumb”

Turn signal monitor

Annoy Yourself Into Better Driving With This Turn Signal Monitor

Something like 99% of the people on the road at any given moment will consider themselves an above-average driver, something that’s as statistically impossible as it is easily disproven by casual observation. Drivers make all kinds of mistakes, but perhaps none as annoying and avoidable as failure to use their turn signal. This turn signal monitor aims to fix that, through the judicious use of negative feedback.

Apparently, [Mark Radinovic] feels that he has a predisposition against using his turn signal due to the fact that he drives a BMW. To break him of that habit, one that cost him his first BMW, he attached Arduino Nano 33 BLEs to the steering wheel and the turn signal stalk. The IMUs sense the position of each and send that over Bluetooth to an Arduino Uno WiFi. That in turn talks over USB to a Raspberry Pi, which connects to the car’s stereo via Bluetooth to blare an alarm when the steering wheel is turned but the turn signal remains untouched. The video below shows it in use; while it clearly works, there are a lot of situations where it triggers even though a turn signal isn’t really called for — going around a roundabout, for example, or navigating a sinuous approach to a drive-through window.

While [Mark] clearly built this tongue firmly planted in cheek, we can’t help but think there’s a better way — sniffing the car’s CANbus to determine steering angle and turn signal status comes to mind. This great workshop on CANbus sniffing from last year’s Remoticon would be a great place to start if you’d like a more streamlined solution than [Mark]’s.

Continue reading “Annoy Yourself Into Better Driving With This Turn Signal Monitor”