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