A hand holds a charcoal-colored rectangle with a black and white screen in taking up most of its face. A bulleted list of items are displayed: "Start work on new blog, Update eSticky FW, Start working on eSticky PCB, New enclosure for eSticky, Buy 18650 battery, Buy 3DP extruder anycubic, FW Update Sigma 18-35."

ESticky Is A Paperless Post-It

E-paper screens have opened up a wide variety of novel use cases that just wouldn’t work with the higher power draw of an LCD. [gokux] thought it would be perfect for a digital sticky note.

Using a Waveshare 2.9″ e-paper display hooked up to a Seeed Studio XIAO ESP32C3, a battery, and a switch all inside the 3D printed enclosure, the part count on this is about as simple as it gets. Once everything is soldered together and programmed, you get a nifty little display that can hold some of your thoughts without having to reopen an app to get to them.

Access is currently provided via a web page, and there are a few minor hiccups like text alignment and image upload support. This project is open source, so [gokux] has expressed interest in anyone wanting to help refine the concept. We think it might be nice to add a magnet on the back for an easier way to actually stick to things.

If you prefer a different way to use electricity for a sticky note, why not do it at 2,000 V? If that’s not your jam, how about a plotter that writes your label or message on masking tape?

Continue reading “ESticky Is A Paperless Post-It”

Web Dashboard For Zephyr

Over time, web browsers have accumulated a ton of features beyond what anyone from the 90s might have imagined, from an application platform to file management and even to hardware access. While this could be concerning from a certain point of view, it makes it much easier to develop a wide range of tools. All a device really needs to use a browser as a platform is an IP address, and this project brings a web UI dashboard to Zephyr to simplify application development.

Zephyr is a real-time operating system (RTOS) meant for embedded microcontrollers, so having an easy way to access these systems through a web browser can be extremely useful. At its core, this project provides a web server that can run on this operating system as well as a REST API that can be used by clients to communicate with it. For things like blinking lights this is sufficient, but for other things like sensors that update continuously the dashboard can also use WebSocket to update the web page in real time.

The web dashboards that can be built with this tool greatly reduce the effort and complexity needed to interact with Zephyr and the microcontrollers it typically runs on, especially when compared to a serial console or a custom application that might otherwise be built for these systems. If this is your first time hearing about this RTOS we recently featured a microcontroller-based e-reader which uses this OS as a platform.

Continue reading “Web Dashboard For Zephyr”

Pinout of 74HC595

Using The 74HC595 Shift Register To Drive 7-Segment Displays

In a recent video our hacker [Electronic Wizard] introduces the 74HC595 shift register and explains how to use it to drive 7-segment displays.

[Electronic Wizard] explains that understanding how to apply the 74HC595 can increase the quality of your projects and also help keep the demands on the number of pins from your microcontroller to manageable levels. If you’re interested in the gory details you can find a PDF datasheet for the 74HC595 such as this one from Texas Instruments.

[Electronic Wizard] explains further that a shift register is like a small one byte memory where its data is directly available on its eight output pins, no input address required. When you pulse the clock pin (CLK) each bit in the eight bit memory shifts right one bit, making room for a new bit on the left. The bits that fall off the right hand side can daisy chain into another 74HC595 going out on pin 9 and coming in on pin 14.

Continue reading “Using The 74HC595 Shift Register To Drive 7-Segment Displays”

A diagram with one Tag and two Base Stations.

Using Ultra-Wideband For 3D Location And Tracking

Interested in playing with ultra-wideband (UWB)? [Jaryd] recently put together a fairly comprehensive getting started guide featuring the AI Thinker BU03 that looks like a great place to start. These modules can be used to determine distance between two of them to an accuracy in the order of 10 centimeters, and they can do so in any orientation and with obstacles in the line of sight. It is possible to create a network of these UWB modules to get multiple distance measurements at once and enable real-time 3D tracking for your project.

[Jaryd] gathers up nine UWB modules and uses a Raspberry Pi Pico for command and control purposes. He explains how to nominate the “tag” (the device being tracked) and the “base stations” (which help in locating the tag). He reports having success at distances of up to about 10 meters and in favorable circumstances all the way up to as much as 30 meters.

If you don’t know anything about UWB and would like a primer on the technology be sure to check out What Is Ultra Wideband?

2025 One Hertz Challenge: STM32 Blinks In Under 50 Bytes

Many of us have run a Blink program on a microcontroller before. It’s effectively the “Hello, World!” of the embedded space. However, few of us have ever thought about optimizing our Blink code to be as miniscule as possible. But that’s precisely what [Rudra Lad] did for this entry into the 2025 One Hertz Challenge!

This example of Blink, delay_blinky_13, is built specifically for the STM32F4 Discovery microcontroller development board. [Rudra] notes the code is “highly optimized” and compiles down to a binary size of under 50 bytes. The code doesn’t even use RAM, and it aims to get the blink as close to 1 Hz as possible. Many optimizations were used to crunch it down as small as possible. For example, the standard startup code isn’t used, with the entire program instead written in the Reset_Handler to save space. Bit-band is also used to write to peripheral registers to blink the LED, since this uses less instructions than the typical methods. Meanwhile, with many tweaks to the delay counting routine, [Rudra] was eventually able to get the blink frequency to 1.00019 Hz, as measured on a logic analyzer. That’s pretty darn close!

While it’s rare that you have only 50 bytes of binary space to blink an LED, work like this is a great way to flex your coding muscles. Code is on Github for the curious, and if you’ve worked up your own impressive tiny binaries, don’t hesitate to let us know!

Walter Is A Tiny Cellular Modem For Your Projects

It wasn’t that long ago that projects with cellular connectivity were everywhere, but with 2G no longer universally available, glory days of cheap 2G modules seem to be on their way out. So when [Data Slayer] titled his video “You’ve Never Seen Cellular Like This” about a new GSM radio module, we couldn’t help but think that we have — and that we’re glad to see it back.

The module is the Walter, by DPTechnics out of Belgium. It’s fully open-source and contains a ESP32-S3 for WiFi and BLE plus a Sequans Monarch chip for GSM and GNSS connectivity. It’s not the blazing-fast 5G you’re paying your phone carrier for: this is an IoT modem, with LTE-M and NB-IoT. We’re talking speeds in the kbps, not Mbps– but we’re also talking very, very low power usage. Since it’s LTE-M rather than full LTE, you’re probably not going to be bringing back the golden days of Arduino Cellphones,  (since LTE-M doesn’t support VoLTE) but if LoRa isn’t your jam, and you hang out around cell towers, this level of connectivity might interest you.

Walter is actually a drop-in replacement for PyCom’s old GPy module, so if you had a project in mind for that and are frustrated by it being EoL — well, here you are. [Data Slayer] seemed impressed enough with its capabilities as a GPS tracker. We’re impressed with the 9.8 µA consumed in deep sleep mode, and the fact that it has already been certified with the CE, FCC, IC, RCM and UKCA. Those certs mean you could go from prototype to product without getting tangled in red tape, assuming Walter is the only radio onboard.

Our thanks to [Keith Olson] for phoning in the tip. If you have a tip and want to connect, operators are standing by. Continue reading “Walter Is A Tiny Cellular Modem For Your Projects”

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”