Rising Edge Digital
Hardware & Embedded Systems for Software Developers
Turning a Bluetooth caliper into a FreeCAD input device
Steffen Vogel discovered a used Sylvac S_Cal EVO Bluetooth caliper on eBay, which he initially thought would be a better measuring tool. However, he ended up turning it into a valuable input device for FreeCAD, a popular open-source CAD software. He developed a Python library called `sylvac-measure` that enables the caliper to transmit measurements via Bluetooth.
wolfIP: a TCP/IP stack with no dynamic memory allocations, designed for embedded systems
wolfIP is a TCP/IP stack specifically designed for resource-constrained embedded systems, notable for its lack of dynamic memory allocations. This means it uses a fixed amount of memory, which can be a major advantage in environments where memory is limited. By default, wolfIP operates in a network endpoint mode but can also be configured to support multiple interfaces and IP forwarding, making it versatile for various applications.
Using a TDA2005 audio amplifier as a DC-to-DC converter
The article discusses an innovative use of the TDA2005 audio amplifier chip, typically found in car stereos and DIY audio projects, as a DC-to-DC converter. Dilshan R Jayakody explains how to leverage the chip's two amplifier channels to generate a high-frequency AC signal, which is then converted to DC using a rectifier circuit.
A USB Audio Class 2.0 host driver for ESP32-S3
The article discusses a USB Audio Class 2.0 (UAC2) host driver specifically developed for the ESP32-S3 microcontroller. Created by Avery L. and available on GitHub, this driver supports a variety of UAC2 devices such as Digital-to-Analog Converters (DACs), audio interfaces, and miniDSPs. Its primary application is to facilitate automated audio measurements, particularly for optimizing subwoofer settings through a miniDSP 2x4 HD.
DIY Moai Soap Dispenser
Electro Retro created a unique DIY Moai soap dispenser, inspired by the iconic statues from Easter Island. Using Marble PLA filament, which gives a stone-like texture, the project showcases a playful take on the popular Moai trend. The original 3D model was designed by ET-Huang, and Electro Retro expresses respect for the cultural significance of the Moai while providing a fun, functional home accessory.
A round ESP32-S3 printer companion for a Bambu Lab 3D printer
PrintSphere is a new project designed as a companion device for Bambu Lab 3D printers, leveraging the ESP32-S3 microcontroller. This device features a circular display and touch interface, allowing users to easily navigate through its functions. It supports both cloud and local routing, which is great for flexibility in managing print jobs. Additionally, it includes features for cover previews, camera snapshots, and operates with battery-aware efficiency.
Glitchy goodness from an open-source granular synthesizer
Sid Rockett built an open-source granular synthesizer called Arena Digitalis using an Arduino Nano R4. This device processes audio samples by chopping them into tiny “grains” and rearranging them, creating unique sound textures that are popular among experimental musicians. Granular synthesizers are typically expensive due to the memory and processing power required for real-time audio manipulation, but the Nano R4 offers a cost-effective solution with its 32kB of RAM and 48MHz clock speed.
Arduino® App Lab 0.6: more control, more Bricks, faster AI
Arduino has released version 0.6 of the Arduino App Lab, enhancing the user experience for managing the Arduino UNO Q board and expanding its creative capabilities. One of the most notable additions is a new board settings page, which serves as a centralized hub for checking firmware versions, operating system details, and available updates. This streamlined interface also provides easy access to serial identifiers, system specifications, and configuration options, simplifying the management of your board.
Velxio is an open-source, self-hosted Arduino, Raspberry Pi, and ESP32 simulator
Velxio is an open-source simulator designed for Arduino, Raspberry Pi, and ESP32 boards that runs directly in your web browser. This self-hosted platform allows users to drag-and-drop components, connect modules, and write and execute code in both Arduino and Python, all without needing the physical hardware. It draws inspiration from the Wokwi simulator and utilizes various emulators like the AVR8 CPU emulator and a QEMU fork for ESP32 Xtensa emulation.
John Park’s CircuitPython Parsec: CLUE Magnet Polarity Finder
John Park has created a handy project using the CLUE board, which is designed to help determine the polarity of magnets. This can be particularly useful when you're embedding magnets into your 3D printed enclosures, ensuring that everything aligns correctly. The project leverages CircuitPython, a version of Python tailored for microcontrollers, allowing for easy coding and interaction with hardware.
The smart conveyor belt from Softeq uses Arduino for a robust wireless control solution
Softeq Development Corp. has created a sophisticated smart conveyor belt system that utilizes Arduino technology for robust wireless control. This project was aimed at automating item transport along complex pathways involving multiple conveyor belts and diverters. The challenge was to design a centralized controller that could manage the sequence and timing of these components while ensuring reliable operation and easy scalability.
SupTronics X1208 – A UPS + M.2 NVMe SSD HAT for the Raspberry Pi 5
The SupTronics X1208 is a combined Uninterruptible Power Supply (UPS) and M.2 NVMe SSD HAT specifically designed for the Raspberry Pi 5. This accessory not only provides fast storage options but also protects your projects from power interruptions, making it ideal for applications like Edge Computing, Network-Attached Storage (NAS), and data logging.
The Hidden Cost of Misalignment
The article discusses the issues caused by data misalignment in memory, particularly in the context of C and C++ programming. Misalignment can lead to increased memory access times and can even cause crashes on certain architectures. The author explains how using the `packed` and `aligned` attributes in your code can help ensure that your data structures are laid out in memory correctly, preventing misalignment as your structures grow.
Pick and place without the CNC
John LeClair developed a manual pick-and-place (PnP) vacuum tool that allows hobbyists to place surface-mount device (SMD) components on printed circuit boards (PCBs) without using complex CNC machinery. This tool transforms the user into the robot, using a handheld device with a vacuum end effector to securely pick up and place components, eliminating the need for traditional tweezers that can be cumbersome and imprecise.
UPDATED GUIDE: PyPortal Astronauts in Space
The article provides an updated guide on the PyPortal Astronauts in Space project, which displays the current number and names of astronauts in space using a PyPortal device. The PyPortal, a microcontroller with a touchscreen display, pulls real-time data from the internet using an API and processes it with CircuitPython, a version of Python designed for microcontrollers. This update enhances the project by integrating a new API that allows for displaying more astronauts on a single screen.
NEW LEARN GUIDE: Egg Hunt Maze Game on Fruit Jam #Gaming #AdafruitLearningSystem @Adafruit
Adafruit has released a new learn guide for an Easter-themed game called the "Egg Hunt Maze Game" designed for the Fruit Jam, a microcontroller platform. In this game, players control a bunny character navigating through a 2D maze filled with colorful, painted eggs. As you explore, you collect these eggs, and at the end of each round, you can choose your favorites to save in your personal collection.
Designing Ultra-Low-Power Smart Thermostats with Latching Solid-State Relays
This article discusses the design of ultra-low-power smart thermostats using latching solid-state relays (SSRs). The innovative approach allows these HVAC (Heating, Ventilation, and Air Conditioning) controllers to draw power directly from the load, eliminating the need for batteries or a common wire, which simplifies installation and reduces maintenance.
A sophisticated WiFi auditing library for ESP32 microcontrollers
Albert has developed a library called Politician, aimed at enhancing WiFi security auditing capabilities on ESP32 microcontrollers. This embedded C++ library offers a straightforward API for capturing handshakes from WPA, WPA2, and WPA3 networks, as well as extracting enterprise credentials using advanced techniques related to the 802.11 protocol.
Refining the design of a 6502 laptop
TechPaula is working on refining her LT6502 laptop, which is built around the 6502 microcontroller. This updated version, the LT6502b, aims to be slimmer and features several improvements over the original design. Key specifications include a 65C02 processor running at 14MHz, 46 kilobytes of user RAM, a 10.1-inch screen, and built-in battery support with a 7400mAh capacity. The laptop also supports USB Power Delivery (USB-PD) for charging and data transfer through a single USB-C connector.
How to turn anything into a router
Noah Bailey discusses a recent policy by the American government that could ban the import of new consumer router models, prompting a need for DIY router solutions. He explains that you can create a router using almost any device that resembles a computer, drawing from his experience using a Linux-powered mini-PC as a router for several years.
How Small Can A Linux Executable Be?
Nathan Otterness has taken on the challenge of creating an ultra-small Linux executable, pushing the boundaries of what’s possible with size optimization. His journey begins with a simple "Hello, World!" program, which, in a typical C implementation, might be around 12-15 KB. However, by switching to assembly language and utilizing direct Linux system calls, he initially reduces the size to just 383 bytes.
A sea of sparks: seeing radioactivity
The article from maurycyz.com explores a fascinating method for visualizing small amounts of radioactivity, specifically through the detection of alpha particles emitted during nuclear decay. Using a source of americium from a smoke detector, the author demonstrates how these particles can be made visible by striking a special material that produces light.
A passive USB 1.1 packet sniffer for RP2040 — built entirely on the PIO coprocessor @raspberry_pi
Ângelo Moisés Alves developed a passive USB 1.1 packet sniffer called USBSnifferPIO_RP2040, utilizing the Raspberry Pi RP2040 microcontroller's PIO (Programmable Input/Output) coprocessor. This device is designed to capture Low-Speed (1.5 Mbps) and Full-Speed (12 Mbps) USB traffic without any interference, meaning that the devices on the USB bus won't even detect its presence.
Infrared Remote Control Shutter Using Circuit Playground Express
This article discusses a project by Kevin Walters that utilizes the Adafruit Circuit Playground Express (CPX) board to create an infrared remote control shutter for Sony NEX cameras. This setup is particularly useful for photographers needing precise timing, such as for stop motion or timelapse photography. The project leverages the CPX's built-in infrared LED, allowing users to trigger the camera shutter wirelessly.
An open-world engine for the N64
James Lambert developed a custom open-world engine for the Nintendo 64 (N64), aimed at creating a vast game environment without any loading screens. His project showcases how the N64 hardware can handle a seamless, expansive world, which is a notable achievement given the console's limitations.
Improving FDM Filament Drying With a Spot of Vacuum
This article discusses an innovative approach to drying Fused Deposition Modeling (FDM) filament using a vacuum, which improves moisture removal compared to traditional hot air dryers. The current methods typically involve heating the filament for several hours, but by applying a vacuum, the boiling point of water in the filament can be lowered, allowing moisture to evaporate more efficiently.
Turning a MacBook into a touchscreen with $1 of hardware
Anish Athalye and his team developed a project called "Sistine," which turns a MacBook into a touchscreen using just $1 worth of hardware and some clever computer vision techniques. The approach is based on the observation that surfaces viewed from an angle appear shiny, allowing the system to detect touch by analyzing reflections. The prototype was built quickly, taking about 16 hours to complete.
build123d: a Python-based, parametric boundary representation (BREP) framework for 2D and 3D CAD
build123d is a Python framework designed for parametric boundary representation (BREP) modeling, suitable for both 2D and 3D CAD applications. It leverages the Open Cascade geometric kernel, providing a straightforward and Pythonic interface for creating precise models that can be used in various manufacturing processes like 3D printing and CNC machining.
Reverse-Engineering The Holy Stone H120D Drone
Zac Turner has reverse-engineered the control protocol for the Holy Stone H120D drone, demonstrating how to autonomously control it using a simple Arduino program or Python script. His exploration began with sniffing UDP packets from the drone's communication, which led him to decompile the Android app that accompanies the drone to uncover its inner workings.
Refill UV Printer Ink Cartridges Like It’s The Late 90s
The Eufymake E1 is a new prosumer UV printer that allows users to print high-resolution color images on various materials. It employs proprietary ink cartridges that come with a magnetic stirrer but are quite costly compared to bulk UV ink. To tackle the high expense, [charliex] explored methods to refill these cartridges, including the cleaning cartridge, to make the printer more cost-effective and sustainable.
EEVblog 1743 – Mechanical Vibration Detection with your Oscilloscope Probe
Dave from EEVblog demonstrates how to utilize an oscilloscope probe for detecting mechanical vibrations on a printed circuit board (PCB). This technique allows engineers and hobbyists to identify vibrational modes, which can be crucial for troubleshooting issues related to noise and reliability in electronic designs.
The D in DNS Stands for DOOM
[Adam Rice] has managed to get the classic video game DOOM running over the Domain Name System (DNS). This unconventional project leverages DNS TXT (text) records, which can hold arbitrary data up to 2,000 characters each. By creatively using these records, he has developed a method to fetch the entire game, including its engine and resources, from DNS servers around the globe.
Dial any spray paint color on demand with Spectrum
Spectrum is an innovative spray paint-mixing machine designed by Sandesh Manik that allows users to create any color on demand. The system is worn like a backpack and features a control panel where you can adjust the ratios of four base colors: white, red, yellow, and blue. Once you've dialed in your desired color mix, you simply press a button on the handheld sprayer to start painting.
Raspberry Pi Pico chess timer
Nirvaan Tandon, a 14-year-old maker, developed a Raspberry Pi Pico-based chess timer to streamline gameplay and keep matches exciting. Drawing from his previous projects, including a Pomodoro timer and various robots, he utilized the Raspberry Pi Pico W for its wireless capabilities and low power requirements. This compact device, about the size of a king chess piece, effectively tracks the time each player has to make their moves, minimizing disputes over time management during games.
Select the right hardware for your local LLM deployment with this online guide
Sipeed has launched an online guide called the "AI Agent Local LLM Inference Device Deployment Guide" to help users select the right hardware for deploying local Large Language Models (LLMs). The guide provides a comprehensive comparison of various hardware options, detailing their price, performance (measured in tokens per second), power consumption, and compatibility with different LLMs.
DIY ESP32-S3 Internet radio features Winamp-styled user interface
Volos Projects has created a DIY Internet radio using the ESP32-S3 microcontroller, specifically the Waveshare ESP32-S3-LCD-1.54 development board. This project features a user interface reminiscent of Winamp, making it visually appealing and familiar for those who remember the classic media player. The setup includes a 1.54-inch color display and a speaker that reportedly produces good audio quality.
Smart IoT Pet Planter
The article presents a DIY project for creating a smart IoT pet planter using the Adafruit PyPortal and CircuitPython. This setup allows you to monitor the health of your plants by tracking vital metrics like soil moisture and temperature. To achieve this, the project incorporates the Adafruit STEMMA Soil Sensor, which provides the necessary data for plant care.
John Park’s CircuitPython Parsec: Modulo Pixel Wrap
John Park's article dives into a clever technique for wrapping NeoPixels—those vibrant addressable RGB LEDs—around a circular arrangement using CircuitPython. By applying the modulo (%) operator, he demonstrates how to elegantly map pixel indices to their positions on the ring. This approach simplifies the process of controlling LED layouts without the need for complex calculations.
A DIY eco-friendly solution to mosquito annoyances
Gal Ofel has created a DIY, eco-friendly automated system to control mosquito populations, tackling the common problem of these pests that breed in stagnant water. The system works by enticing mosquitoes to lay their eggs in a controlled water reservoir, which is then automatically drained before the eggs can hatch.
NEW GUIDE: Adafruit ADS122C04 24-Bit ADC #Adafruit Products #AdafruitLearningSystem @Adafruit
The Adafruit ADS122C04 is a 24-bit Analog-to-Digital Converter (ADC) that can handle up to 2000 samples per second on a single channel, making it a solid choice for high-precision measurements of both single-ended and differential analog signals via I2C (Inter-Integrated Circuit). Unlike many other 24-bit ADCs typically used in low-speed applications, this one offers a higher sampling rate, filling a niche for those who need speed without sacrificing resolution.
NEW GUIDE: Adafruit TMAG5273 3D Hall Effect Magnetometer Breakout #AdafruitLearningSystem @Adafruit
The Adafruit TMAG5273 3D Hall Effect Magnetometer Breakout is a compact sensor that measures magnetic fields along three axes—X, Y, and Z. This low-power device is perfect for both industrial applications and personal projects. It includes three independent Hall-effect magnetometers and features a 12-bit analog-to-digital converter (ADC) that transmits data over I2C. Additionally, it has a built-in thermometer for basic temperature readings, making it quite versatile.
Raspberry Pi Pico–powered sunrise alarm clock
Pawel Skiba has created a sunrise alarm clock using the Raspberry Pi Pico 2 W, transforming his mornings by simulating a gradual sunrise to help him and his wife wake up more gently. Frustrated with traditional alarm clocks that disrupt their sleep, especially during the dark winter months, he decided to build a custom solution that addresses their need for light to ease the waking process.
RuView project leverages ESP32 nodes for WiFi-based presence detection, pose estimation, and breathing/heart rate monitoring
RuView is an open-source project that utilizes multiple ESP32 nodes to implement a technique known as "WiFi DensePose." This system transforms WiFi signals into real-time human pose estimation, presence detection, and vital sign monitoring—like breathing and heart rates—without the need for cameras. The implementation is done using Rust or Python, and it operates by analyzing Channel State Information (CSI) disturbances caused by human movement, allowing it to track body movement even through walls.
NEW LEARN GUIDE: Adafruit VCNL4030 Proximity and Lux Sensor #Adafruit Products #AdafruitLearningSystem @Adafruit
The VCNL4030 is a versatile sensor that combines proximity detection and ambient light measurement in one compact package. It can accurately measure distances from 0 to 300mm (about 12 inches) and light levels ranging from 0.004 to 16,768 lux. This makes it particularly useful for applications that require both proximity sensing and light level monitoring, such as in robotics or environmental sensing.
Control your thermal printer using Markdown
ThermalMarky is a new tool designed to help you take control of your thermal receipt printer using Markdown, making it easier to create formatted printouts. It supports essential Markdown features like headers, bold, and lists, along with some enhanced formatting options such as custom alignment tags, horizontal lines, and QR codes. The tool also includes a straightforward Web UI for a better user experience and built-in editor shortcuts.
Discreetly modding an apartment intercom to work with Apple Home
Jack Hogan shares a project where he modified a standard apartment intercom system to integrate with Apple Home using an ESP32 relay board. The original intercom had become non-functional due to a lack of cellular service, which prompted the need for a more reliable solution for allowing guests to enter the building.
Adafruit IO Map Block Gets an Update – Multi-feed Support, Tooltips, Paths, and Click-to-Publish
Adafruit has updated its Map Block feature for Adafruit IO Dashboards, enhancing its capabilities for Internet of Things (IoT) projects. Previously limited to displaying data from a single sensor, the Map Block can now show up to five feeds simultaneously. Each feed can be customized with different colors and icons, which is particularly useful for mobile projects like weather stations or drones that gather data from multiple sensors along a path.
Adafruit Learn Guide: Bunny Ears with MakeCode
Adafruit's guide on creating motion-reactive bunny ears is a fun project that combines the Circuit Playground Express with MakeCode, a visual programming environment. The project allows you to build a set of light-up ears that respond to movement, making them an engaging accessory for events or costumes.
Can you get root with only a cigarette lighter?
David Buchanan explores an unconventional method of gaining root access to a system using just a cigarette lighter. He focuses on the concept of fault injection, which involves deliberately inducing errors in hardware to exploit vulnerabilities. By targeting the DDR (Double Data Rate) bus—the connection between DRAM (Dynamic Random-Access Memory) and the rest of the computer—he designed an experiment that utilizes an antenna wire to capture electromagnetic interference.
An ESP32-P4 board in the Feather form factor
David Johnson-Davies has created a new microcontroller board based on the ESP32-P4 processor, designed in the Feather form factor. This board features a dual-core RISC-V processor that runs at speeds up to 400 MHz and comes equipped with 768 KB of on-chip SRAM, 32 MB of on-chip PSRAM, and the option for up to 32 MB of external flash storage.