Sunday, 26 July 2026

WS2812 LED Project Idea

Introduction 
This short blog offers a simple solution for creating an LED light using WS2812 modules. The idea is meant as an example for students wanting to design their own LED light as a low-powered lamp replacement, entertainment device, outdoor garden light or any similar LED light devices.

Inspiration
It can be interesting for students to frequently mix up the electronic devices they are asked to conceptualise, design and build. From a post by the author Wech Holger on Hackster.io, a WS2812 LED software solution was sourced and updated for a different PSoC device. The post provided an idea for the LED light and a subsequent separate microcontroller project for students with varying technical capabilities.

WS2812 Connection Diagram
WS2812 Connection Diagram

Hardware
Focusing on the LED portion of the design, off-the-shelf WS2812 modules were selected. For this example design, four Adafruit #1426 modules with 8 x WS2812 LEDs were connected in series.

Generic WS2812 LED Strips with Headers
Generic WS2812 LED Strips with Headers

Two interconnecting boards were used at the electrical ends of the LED modules to make the series circuit.

For the hardware layout, the LED modules are arranged on a circular circuit board as shown below.

Example WS2812 Interconnecting Circuit Boards
Example WS2812 Interconnecting Circuit Board

The role of the interconnecting boards was to provide power and to gang the series IN-OUT communication connections. Several modules could be connected in this fashion.

Extract of WS2812 Light Schematic

Extract of WS2812 Light Schematic

To connect the LED modules, pin headers and sockets were fitted. The design could be simplified in several ways. One solution could be to remove the sockets and then solder pin headers directly to the interconnecting circuit boards.

Testing
To test the LED design, the example project Outlook-LED.cywrk from Hackster.io was rebuilt for an Infineon CY8CKIT-059 development board. The communications wire bus was moved to a new pin - P1.7.

PSoC Creator Updated Pin Mapping for Outlook-LED.cywrk
PSoC Creator Updated Pin Mapping for Outlook-LED.cywrk

The image below shows the LED board fitted into a garden LED bollard.

LED Bollard used for WS2812 Testing
LED Bollard used for WS2812 Testing

In the clip below, three LED colours were tested. The colour selection was activated using the terminal interface provided in the example PSoC project.

Monday, 29 June 2026

Model Rocket Launcher WiFi ESP8266 Part 7

 Introduction 
This blog continues from Part 6 of the ‘Wi-Fi-controlled rocket launcher’ with a summary of board changes to suit an off-the-shelf enclosure and the addition to the circuit of a starter continuity check.

Updated Launcher PCB
Updated Launcher PCB

Hardware Change
A hardware change was made to the output circuit to detect when an unfired starter is connected to the launcher output. One of the output drivers has a built-in diagnostic feature which sends the voltage at the device's output pin to a sense pin when the driver is switched OFF. By adding resistive pull-ups to the output driver, the starter's electrical continuity can be determined in most circumstances.

Output Resistive Pull-up Addition
Output Resistive Pull-up Addition

Shorts across the output, failures in wiring or components on the circuit board are not taken into account.

Driver MSENSE Output
Driver MSENSE Output

To test the proposed starter continuity solution on the current board, the ESP module was not fitted. The SENSE input on the VN7040 was connected to the onboard 3.3 V supply. This configures the driver in the desired mode.

An external 27 k pull-up resistor was added between the output and the 3.3 V supply. The low-driver input for the starter was then connected to the 3.3 V supply.

Testing Starter Continuity Solution
Testing Starter Continuity Solution

To validate the MSENSE output voltage, a test wire was connected to the MSENSE output and to a multimeter.

With no Estes 
starter fitted and the low driver switch ON, the voltage at the MSENSE output was 3.9 V. With a new Estes starter fitted, the voltage at the MSENSE output is close to 0 V. Using the onboard regulator, the voltage range will be suitable for the ESP Huzzah digital levels. Without the onboard 3.3 V regulator, the Huzzah's onboard regulator could be used.
The continuity measurement will be integrated into the code as a continuity check before a launch. It is acknowledged that a 
starter or shorted output results in the same measurement by the ESP.

For reference, a larger-value pull-up resistor on the output, such as 100 k, does not bias the output driver. No MSENSE output voltage is produced in this instance.
Note on Aerotech Starters
The Aerotech starters were tested on the bench with a power supply.

Aerotech Copperhead Igniter (Starter)
Aerotech Copperhead Igniter (Starter)

Using a power supply set to 8 V at 2 A, the starters will fire reliably. Applying that requirement to the launcher, two 4.2 V cells could be used in series on the launcher to fire the Aerotech starter. This was not confirmed through testing.

Circuit Board Update
As mentioned in the previous launcher post, an off-the-shelf enclosure will replace the 3D printed case. The Hammond Manufacturing part RP1135C or the Ritec RP1135 were two compatible enclosures. Choosing a wider enclosure provided more circuit board space and new layout options. Most of the surface-mount components were consolidated on one side of the circuit board.

Updated Launcher Design
Updated Launcher Design

Switch and External Cable
As two actions (a switch and the website launch button) must be realised for a launch to occur, the existing toggle switch arrangement will remain unchanged. For those desiring safety, a missile-style switch or a suitably rated keyswitch could be used instead. For the external cable interface, a gland will be used to maintain basic ingress protection.

In the next post, the new circuit board build and testing will be covered.

Sunday, 31 May 2026

Model Rocket Launcher WiFi ESP8266 Part 6

Introduction 
This blog continues from Part 5 of the ‘Wi-Fi-controlled rocket launcher’, providing a summary of code changes, battery voltage measurements and an alternative idea for the launcher housing.

Launcher Screenshot (Firefox mobile)
Launcher Screenshot (Firefox mobile)

Code Change
With 18650 batteries used in the updated launcher design, it was decided to add a basic battery voltage measurement on the served webpage. Voltage measurements are updated only when the user refreshes or presses a button on the mobile device. The WiFi code uses a PUSH/GET method or a request-reply action. The code could be updated to automatically refresh the page or implement a WebSocket solution, which would provide near-instantaneous battery voltage updates.

Battery Voltage
The refresh rate for the ESP ADC battery voltage input was set to 250 ms. To provide a reasonably accurate voltage measurement, the resistor divider and the forward voltage of the reverse polarity diode were included in the scaling factor. It should be noted that the accuracy of the ESP battery voltage will be impacted by differences in the diode forward voltage. During bench measurements, the error was less than 0.1 V for the voltage range 3.5 V to 5 V.

Battery Measurement with Engine Starters
To validate the battery voltage measurements, resistive dummy loads and several Estes starters were used.

Resistor as Load
Resistor as Load

Starter as Load
Starter as Load

Standard Estes Starter
Standard Estes Starter

Tests will also be conducted with Aerotech starters in a future post.

The two graphs below show the battery voltage when the starters were initially operated in free air and then fitted to an Estes engine. A single, fully charged 18650 3200 mAh from Naccon was used for the duration of the testing.

The green trace in the plots below represents the actual time that the ESP provides power to the starter.

Battery Voltage with Starters (Free Air)
Battery Voltage with Starters (Free Air)

Battery Voltage with Starters (Installed in engine)
Battery Voltage with Starters (Installed in engine)

Launcher Case Update
When the original rocket launcher post was first published, model rocketry was still popular in my region, and model rocket engines were not restricted from sale. Due to changes in model rocket supply and to improve design accessibility for the wider community, it was decided in the next circuit board revision to change the launcher housing. An off-the-shelf ABS case will be used. Although this is a return to the original design, it should give more hobbyists access to the design.

Thursday, 30 April 2026

Model Rocket Launcher WiFi ESP8266 Part 5

Introduction 
This short blog update continues from Part 4 of the ‘Wi-Fi-controlled rocket launcher’. A prototype design featuring 18650 batteries with the ESP modules was tested.

Rocket Launcher 3D Model
Rocket Launcher 3D Model

Design Change
As suggested in Part 3 of the blog, the design was updated to integrate two 18650 batteries onto the rocket launcher circuit board (PCB). The battery configuration can be set on the PCB to be either series or parallel using jumper resistors.

Dual Battery Series or Parallel Option
Dual Battery Series or Parallel Option

The linear regulator on the Adafruit ESP32 Huzzah board can accept up to an input of 6 V DC, meaning that an additional regulator was not required, depending on the battery configuration.

A fully charged 18650 battery is rated at 4.2 V, so the series battery resistor jumper option should be used with the optional DC-DC regulator. Using the DC-DC regulator should also allow very close to the full capacity of the battery to be utilised.

On the ESP32 Huzzah, the input to the linear is protected by a series diode. This series diode reduces the effective operating voltage of the battery by approximately 0.28 V. Depending on the battery manufacturer and the load current, the cell voltage could be around 3.4 V when the State of Charge (SoC) is between 0% to 10%. The dropout voltage of the ESP32 board may prevent full use of the cell capacity.

A pre-wired Multicomp part MCR13-36A2-11 was selected to replace the previous power switch.

Replacement Switch
Replacement Switch

Testing
The board was populated with the two output drivers, ESP mounting headers and the dual battery holder.

Bottom Side of Launcher PCB
Bottom Side of Launcher PCB

The jumper resistors were configured for parallel operation. The optional 3.3 V DC-DC converter was not fitted. Since there were only small design changes, the board was powered first with a 3.3 V supply, then with a charged 1650 battery.

Top Side of Launcher PCB
Top Side of Launcher PCB

It was noted that during testing with a fully charged battery, the ESP32 did not boot correctly. This issue was caused by GPIO 15. The Status LED is connected to GPIO 15, which is connected to the 3.3 V supply through a current-limiting resistor. A pull-up on GPIO 15 changes the ESP behaviour. To resolve the issue, the LED will be driven to 0 V on the revised design. A pulldown resistor already exists on the ESP board.

Other Changes
To measure the 18650 voltage, the onboard voltage divider values were adjusted to meet the ESP's maximum 1 V limit. The resistor footprint was standardised to 0603. This feature will be tested with the igniter in the next post.

Monday, 30 March 2026

Drill Press Controller Update Part 5

Introduction 
This post details the validation of the remaining hardware item on the drill press controller and Printed Circuit Board (PCB) updates.

Debug Validation
A series resistor was fitted between the microcontroller (PSoC) and the debug (TTL RX, TX) connector to serve as a basic type of input protection. During testing, the serial communications (USB to TTL converter) were intermittent, so the series 100 R resistor was reduced to 10 R to ensure reliable operation.

Updated Serial Input Resistors
Updated Serial Input Resistors

PCB Update
As noted in the previous blog, the footprint of the input device (MAX22191) on the PCB required updating.

Updated Footprints on ESTOP PCB
Updated Footprints on ESTOP PCB

During the PCB update, the top-layer silk screen text near the input and output connectors was increased to 1.5 mm.

Updated Text at Inputs on PCB
Updated Text at Inputs on PCB
 
Updated Text at Outputs on PCB
Updated Text at Outputs on PCB

To allow for easier hand soldering, a selection of component pads was increased.

ESTOP Mains Input Capacitor Pad Sizes
ESTOP Mains Input Capacitor Pad Sizes

Updates were made to the power supply (AC-DC) and mains input capacitors.

ESTOP Mains Input Capacitor Pad Sizes Updated
ESTOP Mains Input Capacitor Pad Sizes Updated

The image below shows the updated board.

ESTOP PCB Update

ESTOP PCB Update

Next, building the updated PCB, reviewing the mounting of the solid-state relay in the original enclosure shown below, and testing with the existing drill press setup.

Existing ESTOP Electrical on Drill Press
Existing ESTOP Electrical on Drill Press

Saturday, 28 February 2026

TDR Pulse Generator (Microchip) with Housing

Introduction 
This post continues a previous post that used a Microchip microcontroller and a buffer chip to generate a fast-rising edge. In this edition, the design is updated to suit an aluminium housing.

Assembled Pulse Generator Unit
Assembled Pulse Generator Unit

Another Release
To cater to those requesting a USB-powered unit in a ready-made enclosure, the same Microchip microcontroller (ATmega16U2) and driver design from the previous blog were used. Some design changes were made to improve manufacturability, such as using a right-angle PCB-mount SMA connector.

For a small sample run of the new design, the rise time is comparable to the previous design, at 1.1 ns and faster than the original design at 658 ps.

Design Changes
The Microchip microcontroller (ATmega16U2) can be USB-powered (5 V) and operate at a logic voltage of 3.3 V. An external linear regulator was chosen instead of using the UCAP 3.3 V output supply from the ATmega, as the UCAP supply is intended for only low-current loads.

The self-powered connection example is shown in Section 20.3 USB Module Powering Options of the ATmega16U2 datasheet (doc7799.pdf).

ATmega16U2 Bus Powered Example (Courtesy Microchip)
ATmega16U2 Bus Powered Example (Courtesy Microchip)

With the power supply reduction to the ATmega I/O, the hex Schmitt-trigger power supply was also reduced to 3.3 V. The output performance was tested with Nexperia parts 74AHC04APW and 74LVC04APW.

To support DFM (Design for Manufacturing), the hand-soldered SMA connector from TE Connectivity (5-1814832-1) was replaced with a PCB-mount right-angle part from Molex (73391-0080).

Updated Pulse Generator PCB (2D)
Updated Pulse Generator PCB (2D)

Updated Pulse Generator PCB (3D)
Updated Pulse Generator PCB (3D)

Lastly, the board shape was resized to suit a metal case. A Hammond aluminium case (1455D602BK) was chosen for the PCB. This case was at the time less than USD 8 in quantities of 10 pieces and available at several online stores. A 3D-printed plastic case would also be an ideal, cost-effective alternative.

The plastic end caps supplied with the Hammond enclosure were replaced with PCBs. This change was aimed at a more turnkey solution, meaning the pulse generator PCB and end caps could come from the same PCB fabricator.

Pulse Generator PCB Assembly Modelled in Fusion 360
Pulse Generator PCB Assembly Modelled in Fusion 360

Designing the end caps was performed after the pulse generator PCB was completed, with some adjustments.

PCB End Cap (SMA End) in Fusion 360
PCB End Cap (SMA End) in Fusion 360
 
PCB End Cap (USB End) in Fusion 360
PCB End Cap (USB End) in Fusion 360

After the pulse generator PCB was loaded into Fusion 360 and the end cap dimensioned, the PCB end caps were created in the PCB tool.

PCB End Cap (SMA End)
PCB End Cap (SMA End)
 
PCB End Cap (USB End)
PCB End Cap (USB End)


Modelling in Fusion 360
The pulse generator PCB dimensions were chosen after making physical measurements of a Hammond aluminium case.

Pulse Generator PCB with Hammond Enclosure
Pulse Generator PCB with Hammond Enclosure

Hammond provides a CAD file for the aluminium case; however, a physical measurement for the PCB width was performed because of the powder coating.

Assembly and Tests
The pulse generator PCB Rev 3 and end caps were sent for manufacture. For the 50 Ω controlled impedance on the pulse generator PCB, a predefined layer stackup was selected from the PCB manufacturer's options.

Pulse Generator Blank PCB
Pulse Generator Blank PCB

After assembling the pulse generator, programming and performing validation checks, the pulse generator PCA was slid into the Hammond case – almost. Checking another case, the PCA slid in very tightly. To make the PCA fit in all the aluminium cases, light sanding was required on the long edge of the PCB – tolerances and case anodising were possibly the culprit.

Update: To fit the PCB end caps, the Hammond-supplied thread rolling steel screws #6 x 3/8" were changed to self-tapping screws (Farnell #3769176).

Pulse Generator SMA End View
Pulse Generator SMA End View

Changing the straight SMA to a right-angle SMA connector had a negligible effect on the rising edge.

With a 74AHC04PW fitted, the rise time (20-80 %) was 1.18 ns. Using a 74LVC04PW, the rise time (20-80 %) was 759 ps.

Pulse Generator Output Rise Time (74AHC04)

Pulse Generator Output Rise Time (74AHC04)

Pulse Generator Output Rise Time (74LVC04)
Pulse Generator Output Rise Time (74LVC04)

Summary and Future Updates
As noted by readers, this design is slower than other designs offered on the market. However, as readers continue to use this design, write their own USB interfaces and highlight the need for faster solutions, new posts on this subject will be made available.

Engineering Files
The same Atmel Studio project applies to this project. Below is the updated revision 4 schematic, PCB Gerbers and PCB BOM for download. The Rev 4 includes only a minor top-layer change near the SMA connector.

In addition to the PCBs, the Hammond case 1455D602BK and suitable screws are required, for example, M3 x 8 mm thread cutting.

Pulse Generator Microchip Studio Project

Pulse Generator Schematic Rev4









Pulse Generator Bill of Materials Rev4