Rising Edge Digital
Hardware & Embedded Systems for Software Developers
Uladzimir Kazakevich's Sleeper-Build Toshiba T1200 Upgrade Hides a Raspberry Pi Inside
Uladzimir Kazakevich has transformed a vintage Toshiba T1200 laptop into a modern sleeper build by integrating a Raspberry Pi 4 Model B while maintaining the original keyboard. This project showcases a clever blend of nostalgia and functionality, as the T1200, which originally launched in 1987 with an Intel 80C86 processor and minimal RAM, is now powered by significantly more advanced technology.
USB for Software Developers
The article provides a comprehensive overview of USB (Universal Serial Bus) technology, specifically tailored for those looking to understand its implications in software development and hardware interaction. It breaks down the USB protocol, explaining how it facilitates communication between devices and hosts. The author highlights the importance of understanding USB’s various components, such as the physical connections, protocols, and data transfer modes, which are crucial for anyone working on projects that involve USB interfaces.
Desktop Power in a Tiny Homelab
Michael Klements built a compact homelab solution by fitting a Mini-ITX motherboard into a custom-designed 10-inch Lab Rax server rack. This approach allows for greater computing power and expandability compared to smaller single-board computers like Raspberry Pis, which are limited in performance and peripheral support.
Flash Bee – An ESP32-C3-based DIY handheld lightning detector
Flash Bee is a DIY handheld lightning detector that you can build using widely available components, including the XIAO ESP32-C3 Wi-Fi and Bluetooth board, a 1.28-inch round touchscreen display, and an AMS AS3935 Franklin lightning sensor. The design is compact and user-friendly, featuring a 3D-printed enclosure that makes it easy to assemble. The AS3935 sensor is capable of detecting lightning strikes up to 40 kilometers away with an accuracy of about one kilometer.
Biquad Filters (DSP with STM32) - Phil's Lab #172
Phil's Lab dives into the theory and implementation of biquad filters within a digital signal processing (DSP) context, specifically using STM32 microcontrollers for audio processing. The video explains the fundamental concepts of biquad filters, which are second-order recursive filters essential for various audio applications due to their efficiency and flexibility. Phil breaks down the reasons for using biquad filters, emphasizes their advantages such as stability and easy coefficient management, and introduces the transposed direct form II structure, which optimizes performance.
Thermostat? Do It With a 555!
Stephen Woodward created a simple thermostat using the classic 555 timer integrated circuit (IC). Instead of employing a complex PID (Proportional-Integral-Derivative) controller, he opted for a straightforward bang-bang control method. The design incorporates a thermistor for temperature measurement and some clever tricks, like using the threshold pin to turn the trigger pin into an inverting analog comparator. This approach allows for a basic yet effective temperature control system.
Tips for using AI to write Embedded Firmware
Shawn Hymel’s article dives into how embedded developers can effectively leverage AI tools to streamline the process of writing embedded firmware. He emphasizes that while AI can be a powerful aid, particularly for rapid prototyping and filling in gaps, it may not always grasp the complexities of embedded systems, which often involve strict memory limitations, real-time requirements, and safety concerns.
Make SpaceDrums
In a cool project by Instructables user Makestreme, you can create "Space Drums," a set of virtual drums that let you play in the air without any physical pads. This innovative setup uses the LSM6DS3TR-C 6-DoF (Degrees of Freedom) Accelerometer and Gyroscope Inertial Measurement Unit (IMU) to track your shoulder and joint movements in real-time. The result is a fully responsive 3D drum kit that adapts to your position, allowing you to jam out without needing a lot of space.
SN1 Solar Node – An ESP32-C3-based board with IP67 enclosure, solar charging, ESPHome firmware
The SN1 Solar Node is a new development board from Granz Scientific LLC that utilizes the ESP32-C3 microcontroller, designed specifically for off-grid Internet of Things (IoT) applications. This board stands out due to its IP67-rated enclosure, which provides dust and water resistance, along with an integrated solar panel that allows for efficient solar charging. The SN1 also supports 18650 lithium-ion batteries, making it a flexible option for powering various projects.
An Arduino gives this quirky old LED sign a new life as a smart display
Clem Mayer revamped an old LED matrix display using an Arduino UNO R4 WiFi, breathing new life into the quirky device while addressing safety concerns. Initially, the display worked fine and even showcased its last programmed message, but upon inspection, Mayer discovered a risky setup: the AC-to-DC adapter had exposed wires soldered directly to its pins. He replaced it with a properly wired external power supply that outputs a safe 5V DC, ensuring the display is now safe to use.
An Arduino gives this quirky old LED sign a new life as a smart display
Clem Mayer from element14 Presents revived a vintage LED matrix display using an Arduino UNO R4 WiFi. The sign, which still worked and displayed its last programmed message, posed a safety risk due to a poorly wired AC-to-DC adapter. Mayer first replaced the risky power supply with a correctly wired external one that outputs a safe 5V DC, ensuring it was safe to use.
Garden Path Lights with WLED and a Sunset Timer
This article details a project for creating modular, weather-resistant garden pathway lights using WLED (a free, open-source software for controlling LED strips) and a sunset timer. The guide, authored by Erin St. Blaine, outlines the steps to build these lights, which can be controlled via a smartphone or any web-enabled browser. This setup allows users to program the lights to turn on at sunset and off at a predetermined time, enhancing evening outdoor experiences.
Mighty projects for your 1GB Raspberry Pi 5
The article from Raspberry Pi highlights various projects you can undertake with the 1GB variant of the Raspberry Pi 5. This model features the same powerful BCM2712 system-on-chip as its higher RAM counterparts but offers a budget-friendly entry point for users looking to leverage its processing capabilities without needing extensive memory. The article showcases how to make the most of this limited RAM through creative project ideas.
Mighty projects for your 1GB Raspberry Pi 5
The article highlights project ideas specifically for the 1GB variant of the Raspberry Pi 5, emphasizing how to make efficient use of its resources given the current high cost of DRAM. This model features the same powerful BCM2712 system-on-chip (SoC) as its higher RAM counterparts, making it a budget-friendly option for users needing decent processing power without the full RAM capacity.
wolfIP – An open-source, lightweight TCP/IP stack with no dynamic memory allocations for embedded systems
wolfIP is an open-source, lightweight TCP/IP stack developed by wolfSSL, the same company behind the well-known wolfSSL SSL/TLS library. This new stack is tailored for embedded systems that are resource-constrained, emphasizing that it does not use dynamic memory allocations—meaning there are no calls to functions like malloc. This design choice helps avoid issues related to memory fragmentation and allocation failures, which can be critical in embedded applications.
Rescuing a Pokémon off a Pokéwalker After Losing the Game Cartridge
The article discusses a method for recovering a Pokémon from a Pokéwalker after losing the associated game cartridge. The Pokéwalker, a device that accompanied Pokémon HeartGold and SoulSilver, can hold a Pokémon, but it's typically tied to the game cartridge, leaving many users frustrated when they lose the cartridge and access to their Pokémon.
NASA Artemis Watch 2.0 – An ESP32-S3-powered, NASA-inspired wearable kit for education
The NASA Artemis Watch 2.0 is a programmable smartwatch designed for educational purposes, featuring the ESP32-S3 WiFi and Bluetooth module. It includes a 1.14-inch monochrome display, an accelerometer, a gyroscope, and a variety of user interface elements such as buttons and LEDs. The watch is powered by a 600 mAh lithium polymer battery, which provides 2 to 3 hours of usage on a single charge.
NASA Artemis Watch 2.0 – An ESP32-S3-powered, NASA-inspired wearable kit for education
The NASA Artemis Watch 2.0 is a programmable smartwatch designed for educational purposes, built around the ESP32-S3 microcontroller. This device features a 1.14-inch monochrome display and includes various sensors such as a 6-axis accelerometer and gyroscope, a buzzer, and a real-time clock. It connects via WiFi and Bluetooth, making it versatile for different projects. The watch is powered by a 600 mAh lithium-polymer battery, providing about 2 to 3 hours of usage on a single charge.
Modular Mechanical Keyboard Transformed Into a Compact Workstation
A maker named [anurag.id] has transformed a standard mechanical keyboard into a compact workstation using 3D printing techniques. The project began with a simple modification: redesigning the keyboard's knob, which quickly expanded into creating multiple knob designs. This initial spark of creativity led to the addition of a stand for an iPad, cleverly mounted on the keyboard itself, enhancing its functionality.
MVIDIA is an online visual hardware basics course
MVIDIA is an online course designed to teach the fundamentals of visual hardware through an engaging, hands-on approach. Created by Jason, a Computer Science and Math student at Yale, the course focuses on building components of a Graphics Processing Unit (GPU) from the ground up. This project not only helps him test his own knowledge but also aims to provide a learning resource for others interested in hardware design.
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.