Well now why would I want a single-button keyboard, you might be asking yourself. We say it all depends on how you build the thing, and how you program it. Would you believe that the MagiClick by [Modular] is capable of showing live weather information or the date and time, acting as animated dice, or being a stopwatch and Pomodoro timer? Now you’re beginning to understand.
Before we get much further, yes, this bad boy has two additional buttons on the sides. But the spirit of the thing is in the single large switch in the middle. It’s hiding beneath the 0.85″ 128×128 display, which is protected from pressure and fingerprints by that Pop-o-Matic bubble over the top. While the big button is the main operator used to access the function options, the side buttons are used as auxiliaries to exit and return to the home screen.
MagiClick is based on the ESP32-S3 and is designed to run on CircuitPython. In addition to everything else packed into this thing, there are blinkenlights and a small speaker inside, plus a GPIO expansion header around back. Everything is available on GitHub if you want to build your own.
Not enough keys for you? Well, here’s one with two.
Of all the electrical signals generated by the human body, those coming from the heart are probably the most familiar to the average person. And because it’s also quite simple to implement the required sensors, it makes sense that electrocardiogram (ECG) machines are a popular choice among introductory medical electronics projects. [Dániel Buga], for instance, designed a compact ECG system the size of a credit card, cleverly dubbed Card/IO, that clearly demonstrates how to implement a single-lead ECG.
Although obviously not a medical-grade instrument, it still contains all the basic components that make up a proper biosignal sensing system. First, there are the sensing pads, which sense the voltage difference between the user’s two thumbs and simultaneously cancel their common-mode voltage with a technique called Right Leg Driving (RLD). The differential signal then goes through a low-pass filter to remove high-frequency noise, after which it enters an ADS1291 ECG analog front-end chip.
The ADS1291 contains a delta-sigma analog-to-digital converter as well as an SPI bus to communicate with the main processor. [Dániel] chose an ESP32-S3, programmed in Rust, to interface with the SPI bus and drive a 1″ OLED display that shows the digitized ECG signal. It also runs the user interface, which is operated using the ECG sensing pads: if you touch them for less than five seconds, the device goes into menu mode and the two pads become buttons to scroll through the different options.
All source code, as well as KiCad files for the board, can be found on the project’s GitHub page. If you’re just getting started in the biosensing field, you might also want check out this slightly more advanced project that includes lots of relevant safety information.
Continue reading “Card/IO Is A Credit Card-Sized, Open Source ECG Monitor”
[Ovidiu] cares for their house plants, trying to dial in the perfect soil humidity and light levels. However, many cheap monitors tend to rust after a few weeks of sitting in a damp, slightly acidic environment. By creating a custom plant monitor with a removable probe, not only can [Ovidiu] integrate better with their Home Assistant setup, but it will also be less wasteful.
The build starts with an ESP32-S3, a TP4056 charging circuit, a small e-ink display, and an AHT20 IC for air humidity and temperature. The ESP32 reads the probe using the capacitance measuring devices for touchpads built into the chip. Or course, a 450mAh battery provides a battery life of about 11 days. The probe is just a bare PCB with a connector at the top, making them cheap and easy to swap. They included pads on the probe for a thermistor for reading soil temperature, but this is optional. A handsome 3D-printed case wraps it all up nicely.
Continue reading “2023 Hackaday Prize: A Reusable Plant Monitor”
The Framework laptop will no doubt already have caught the eye of more than one Hackaday reader, as a machine designed for upgrade and expansion by its users. One of its key features is a system of expansion modules. The modules are USB-C devices in a form factor that slides into the expansion bays on the Framework Laptop. Framework encourages the development of new modules, which is something [Spacehuhn] has taken on with an ESP32-S3 development board.
The board itself is what you’d expect, the ESP is joined by a multicolor LED and one of those Stemma/Quiik connectors for expansion. The case is handily provided by Framework themselves, and all the files for the ESP32 module can be found in a GitHub repository. We’re guessing it will find application in experimenting with WiFi networks rather than as a standalone microcontroller. Either way, it shows the route for any Framework owners into making their own add-ons. Take a look, we’ve placed the video below the break.
As you might expect we’ve given a lot of coverage to the Framework laptop since its launch, in particular, our colleague [Arya Voronova] is a fan and has shown us many alternative uses for the parts.
Continue reading “An ESP32 Dev Board As A Framework Laptop Module”
The ESP32 series from Espressif have been a successful line of products, offering a powerful microcontroller with on-chip wireless networking. There’s a snag though in their practice of calling all of them ESP32s despite wildly varying specifications and even different processor cores, such that it’s easy to lose track of exactly what the chip in front of you can do. [Bitluni] was faced with updating his VGA library to include a newer variant, and was pleasantly surprised to find that it includes a far more capable display peripheral which enables significantly higher resolutions than previously.
The part in question is the ESP32-S3, a version of the chip with the dual Extensa cores we’re familiar with from earlier versions, but the interesting addition of an LCD controller. His previous VGA on ESP32 used the I2S peripheral and sacrificed some of the available bits to create sync pulses, while this version is not only faster but also includes dedicated sync hardware. He can now do up to 16-bit colour in as much as 1024×768 resolution as can be seen in the video below the break, though this feat requires a slightly out of spec framerate that only works on some screens. It’s by no means perfect because the peripheral is intended for LCD rather than VGA use, but it’s pushing microcontroller VGA to new heights and we look forward to any other uses people will put it to.
We covered the original Bitluni ESP32 VGA library when it first appeared.
Continue reading “Much Better VGA From An ESP32”
We all know the drill when it comes to online security — something you know, and something you have. But when the “something you have” is a two-factor token in a keyfob at the bottom of a backpack, or an app on your phone that’s buried several swipes and taps deep, inconvenience can stand in the way of adding that second level of security. Thankfully, this “2FA Sidecar” is the perfect way to lower the barrier to using two-factor authentication.
That’s especially true for a heavy 2FA user like [Matt Perkins], who typically needs to log in and out of multiple 2FA-protected networks during his workday. His Sidecar is similar in design to many of the macro pads we’ve seen, with a row of Cherry MX key switches, a tiny TFT display — part of an ESP32-S3 Reverse TFT Feather — and a USB HID interface. Pressing one of the five keys on the pad generates a new time-based one-time password (TOTP) and sends it over USB as typed keyboard characters; the TOTP is also displayed on the TFT if you prefer to type it in yourself.
As for security, [Matt] took pains to keep things as tight as possible. The ESP32 only connects to network services to keep the time synced up for proper TOTP generation, and to serve up a simple web configuration page so that you can type in the TOTP salts and service name to associate with each key. He also discusses the possibility of protecting the ESP32’s flash memory by burning the e-fuses, as well as the pros and cons of that maneuver. The video below shows the finished project in action.
This is definitely a “use at your own risk” proposition, but we tend to think that in the right physical environment, anything that makes 2FA more convenient is probably a security win. If you need to brush up on the risks and benefits of 2FA, you should probably start here.
Continue reading “Hackaday Prize 2023: Sleek Macro Pad Makes 2FA A Little Easier”
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”