Rising Edge Digital
Hardware & Embedded Systems for Software Developers
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.