Open-Source, Flexible E-Reader

Although the most popular e-reader by far is the Kindle, some argue that its primary use isn’t even as an e-reader at all but rather as a storefront for one of the world’s richest companies. For those who want user-focused consumer electronics instead, we’ll often reach for something more untethered, like an off-brand ebook that’s nothing more than an Android tablet with an e-paper display or even a jailbroken Kindle freed from the chains of Amazon. But as our 555 enthusiast community continually points out, even these are overkill for reading books. Enter the ZEReader.

The ZEReader started out as a bachelor’s engineering thesis project by [Anna-Lena Marx], whose goal was an open-source, microcontroller-based e-reader instead of the Linux or Android ones most commonly available. She’s based the firmware around the Zephyr Real-Time Operating System, which is an RTOS geared towards embedded devices. With this as a backbone, it’s trivially easy to implement the e-reader on different microcontrollers as well as use a wide variety of screens. Although the firmware is a work-in-progress, it’s already mature enough to support all of the basics of an e-reader, such as reading .epub files, navigating through the book, and saving progress. It even includes basic HTML parsing.

Continue reading “Open-Source, Flexible E-Reader”

2025 One Hertz Challenge: Learn Morse Code One Second At A Time

Learning Morse Code is no longer a requirement for HAMs in many jurisdictions, but it’s still a nice skill to have. [I_void(warranties)] wanted to learn, but couldn’t find a trainer that fit his style. What to do but build it yourself? Since we’re in the midst of a challenge, he took up the gauntlet and turned his need to learn Morse into a 1 hertz Morse code game.

In concept it is quite simple: a message beeps out in Morse, with a corresponding LED flash, all in one second. The player then has one second to type think they heard. Get it done fast enough, and a character LCD will tell you if you scored.

The project is based around an Arduino Nano; thanks to easily-available libraries, a PS/2 keyboard can serve as input and a 2×16 LCD as feedback with no real effort expended. For the audible component of the Morse challenge, an 8-ohm speaker is driven right off a pin on the Arduino. We won’t claim this efficient design only took one second to put together, but it probably didn’t take too long.

Of course this trainer, unlike some we’ve seen, only helps you learn to listen to the stream of dots and dashes. None of the others ever tried to fit a One Hertz theme, or [I_void(warranties)]’s particular learning style. For some, decoupling send and receive might be just the ticket to finally learning Morse one second at a time.

Raspberry Pi RP2350 A4 Stepping Addresses E9 Current Leakage Bug

The RP2350 MCU in A4 stepping.
The RP2350 MCU in A4 stepping.

When Raspberry Pi’s new RP2350 MCU was released in 2024, it had a slight issue in that its GPIO pins would leak a significant amount of current when a pin is configured as input with the input buffer enabled. Known as erratum 9 (E9), it has now been addressed per the July 29 Product Change Note from Raspberry Pi for the A4 stepping along with a host of other hardware and software issues.

Although the PCN is for stepping A4, it covers both steppings A3 and A4, with the hardware fixes in A3 and only software (bootrom) fixes present in A4, as confirmed by the updated RP2350 datasheet. It tells us that A3 was an internal development stepping, ergo we should only be seeing the A4 stepping in the wild alongside the original defective A2 stepping.

When we first reported on the E9 bug it was still quite unclear what this issue was about, but nearly a month later it was officially defined as an input mode current leakage issue due to an internal pull-up that was too weak. This silicon-level issue has now finally been addressed in the A3 and thus new public A4 stepping.

Although we still have to see whether this is the end of the E9 saga, this should at least offer a way forward to those who wish to use the RP2350 MCU, but who were balking at the workarounds required for E9 such as external pull-downs.

2025 One Hertz Challenge: 555 Timer Gets A Signal From Above

One of the categories we chose for the One Hertz Challenge is “Could Have Used a 555.” What about when you couldn’t have, but did anyway? The 555 is famously easy to use, but not exactly the most accurate timer out there — one “ticking” at 1 Hz will pulse just about once per second (probably to within a millisecond, depending on the rest of the circuit), but when you need more precise timing, the 555 just won’t cut it. Not on its own, anyway.

An Allan deviation plot
Allan Deviation can be a bit confusing, but generally — lower is more accurate

This entry by [burble] shows us how the humble 555 can hold its own in more demanding systems with some help from a GPS receiver. He used the One Pulse per Second (1PPS) output from a GPS module to discipline the 1 Hz output from a 555 by modulating the control voltage with a microcontroller.

Okay, this sounds a bit like baking a cake by buying a cake, scraping all the icing off, then icing it yourself, but what better way to learn how to ice a cake? The GPS-disciplined 555 is way more accurate than a free running one — just check out that Allan Deviation plot. While the accuracy of the standard 555 begins to decrease as oscillator drift dominates, the GPS-disciplined version just keeps getting better (up to a point — it would also eventually begin to increase, if the data were recorded for long enough). Compared to other high-end oscillators though, [burble] describes the project’s accuracy in one word: “Badly.”

That’s okay though — it really is a fantastic investigation into how GPS-disciplined oscillators work, and does a fantastic job illustrating the accuracy of different types of clocks, and some possible sources of error. This project is a great addition to some of the other precision timekeeping projects we’ve seen here at Hackaday, and a very fitting entry to the competition. Think you can do better? Or much, much worse? You’ve got a few weeks left to enter!

The Open-Source Multimeter: The HydraMeter

Designing An Open Source Multimeter: The HydraMeter

Our hacker [John Duffy] wrote in to let us know about a video he put together to explain the design of his open-source multimeter, the HydraMeter.

If you’re interested in how the circuitry for a voltmeter, ohmmeter, or ammeter might work, this video is a masterclass. In this long and detailed video, [John] walks us through his solutions to various challenges he had while designing his own multimeter. We covered this multimeter last year, and this new video elaborates on the design of the HydraMeter which has been a work in progress for years now.

The basic design feeds voltage, current, and resistance front-ends into an Analog to Digital Converter (ADC), which then feeds into a microcontroller and out to the (detachable) display. You can find the KiCad design files on the GitHub page. There is also a write-up on hackaday.io.

The user interface for the meter is… opinionated, and perhaps not to everyone’s taste. In the video, [John] talks a little bit about why he made the UI work the way that it does, and he noted that adding a rotary range switch is a goal for version 2.0.

Thank you, [John], for putting this video together; it is an excellent resource. We look forward to seeing version 2.0 develop soon!

Continue reading “Designing An Open Source Multimeter: The HydraMeter”

One ROM to rule them all.

Software Defined Retro ROMs

Here’s something fun from our hacker [Piers]: Software Defined ROMs.

In this series of three videos, [Piers] runs us through what a software defined ROM is, how to make them, and then how to use them.

As [Piers] explains, one frustration a retro technician will face is a failed ROM chip. In the era he’s interested in, there are basically three relevant kinds of ROM chip, all 24-pin Dual Inline Package (DIP):

  • 2364 ROM chip: 8KB; 1x chip-select line
  • 2332 ROM chip: 4KB; 2x chip-select lines
  • 2316 ROM chip: 2KB; 3x chip-select lines

Continue reading “Software Defined Retro ROMs”

ESP32 Plugs In To Real-Time Crypto Prices

In today’s high-speed information overload environment, we often find ourselves with too much data to take in at once, causing us to occasionally miss out on opportunities otherwise drowned out in noise. None of this is more evident in the realm of high-speed trading, whether it’s for stocks, commodities, or even crypto. Most of us won’t be able to build dedicated high speed connections directly to stock exchanges for that extra bit of edge over the other traders, but what we can do is build a system that keys us in to our cryptocurrency price of choice so we know exactly when to pull the trigger on a purchase or sale.

[rishab]’s project for doing this is based on an ESP32 paired with a 10″ touchscreen display. It gathers live data from Binance, a large cryptocurrency exchange that maintains various pieces of information about many digital currencies. [rishab]’s tool offers a quick, in-depth look at a custom array of coins, with data such as percentage change over a certain time and high and low values for that coin as well. The chart updates in real time, and [rishab] also built a feature in which scales coins up if they have been seeing large movements in price over short timeframes.

Although it’s not a direct fiber link into an exchange, it certainly has its advantages over keeping this information in a browser window on a computer where it could get missed, and since it’s dedicated hardware running custom firmware it can show you exactly what you need to see if you’re day trading crypto. Certainly projects like this are in the DIY spirit that crypto enthusiasts tout as ideals of the currency, and as people move away from mining and more into speculative trading we’d expect to see more projects like this.

Continue reading “ESP32 Plugs In To Real-Time Crypto Prices”