Week 6: Electronics Design

Overview

This week, I focused on designing a better circuit for my project, building on the work I did in Week 5. Last week, I created a dead bug circuit using an ESP32C6 and a Neopixel ring, which connected to a web server and allowed users to select different lighting effects. The circuit was integrated into my 3D-printed crystal rock holder, making it a functional and visually appealing piece.

deadbug1 deadbug2
For this assignment, I aimed to refine my circuit design by moving from a freeform soldered setup to a properly designed PCB using KiCad. Since I couldn’t find the official schematics for the Neopixel ring, I had to create a custom schematic symbol and footprint—a great exercise in understanding component design in KiCad. Even though my circuit is relatively simple, this process served as an excellent KiCad tutorial, helping me navigate PCB design, schematic capture, and footprint association. The goal is to make a cleaner, more reliable version of my previous circuit while improving my skills in electronics design.

Checklist

Group Assignment: Electronics Design

As part of the group assignment, we explored lab instruments and PCB design processes to better understand how circuits are tested and manufactured.

Lab Test Equipment

We used various lab instruments to analyze and validate PCB designs. These tools were crucial in ensuring that circuits functioned as expected.

Instrument Purpose Relevance to the Assignment
Multimeter Used to measure voltage, current, and resistance in a circuit. Essential for checking continuity and ensuring proper electrical connections in PCB designs.
Oscilloscope Helps visualize electrical signals over time. Used in the group assignment to analyze signal integrity and troubleshoot PCB traces.
Power Supply Provides a stable voltage source for testing circuits. Ensured that the designed circuits received consistent power during testing.

For more details, visit the group assignment page: Group Assignment - Week 6

Findings

Electronics design is not an easy assignment when you have little experience making circuits. However, having a solid grasp of the basics and using the right tools can make a big difference.

With the support of Puebla’s FabLab staff, I learned that even complex circuits become manageable when broken down into smaller tasks. Designing a PCB requires patience, but the results are rewarding when you see your custom board come to life.

ESP32C6 (5V) + Neopixel Ring (WS2812B-16) Circuit Design

Understanding the Key Components

ESP32C6 Microcontroller (5V Version)

The ESP32C6 is a Wi-Fi and Bluetooth-enabled microcontroller. In this project, it controls the Neopixel Ring using a digital data signal.

Neopixel Ring (WS2812B - 16 LEDs)

The Neopixel Ring is a chain of 16 individually addressable LEDs that receive data signals from the ESP32C6.

Circuit Explanation

I used CircuitLab to create this schematic. CircuitLab is an in-browser schematic capture and circuit simulation software tool to help you rapidly design and analyze analog and digital electronics systems

CircuitLab FAQ
CircuitLab Logo

The following schematic shows the correct way to connect the ESP32C6 to the Neopixel Ring:

ESP32C6 to Neopixel Ring Circuit

Power (5V & GND)

Since the ESP32C6 and the Neopixel Ring both run at 5V, they can share the same power supply.

Data Line (GPIO → Neopixel DIN)

The Neopixel Ring requires a single data signal to control the LEDs. The ESP32C6 sends this data through a dedicated GPIO pin.

Capacitor (C2: 1000µF)

A 1000µF capacitor is placed between 5V and GND to stabilize power.

Calculating the Resistor (R1)

The Neopixel Ring (WS2812B) is sensitive to voltage spikes, and a resistor helps prevent signal ringing.

Reference:

Calculating the Capacitor (C2)

When multiple LEDs turn on at full brightness, they draw high current. Without a capacitor, voltage fluctuations may cause flickering or unexpected resets.

Reference:

Final Thoughts

The circuit follows best practices for Neopixel integration:

Getting Started with KiCad

Kicad Logo

To design the PCB for this project, I used KiCad, an open-source electronic design automation (EDA) tool. The official documentation provides an excellent introduction:

Step 1: Adding the Xiao ESP32C6 Library

The Xiao ESP32C6 was not included in the default KiCad library, so I had to download it separately. The official Seeed Studio KiCad library is available on GitHub, and I followed the provided instructions:

To easily download the library, I cloned the GitHub repository using the following command:


    git clone https://github.com/Seeed-Studio/OPL_Kicad_Library.git
    

It is important to download the library to a proper directory where it can be easily accessed for the next step.

Step 2: Adding the Library to KiCad

Once the library was downloaded, I added it to KiCad:

Adding Symbol and Footprint Libraries in KiCad Adding Symbol and Footprint Libraries in KiCad

Step 3: Creating the Schematic

After successfully adding the ESP32C6 library, I started designing the schematic.

Creating the Schematic in KiCad

Step 4: Creating a Custom Symbol and Footprint for the Neopixel Ring

Since I could not find a predefined symbol or footprint for the Neopixel Ring, I had to create my own. While not difficult, the process required attention to detail.

Creating the Symbol

Using the Symbol Editor, I defined a new component with the correct pin configuration for the Neopixel Ring. This involved:

Creating a Custom Symbol in KiCad
Creating the Footprint

Next, I used the Footprint Editor to create a matching physical layout:

Creating a Custom Footprint in KiCad

Step 5: Completing the Schematic

With all necessary symbols and footprints in place, I completed the schematic, ensuring that all connections matched my original design.

Completed Schematic in KiCad

Step 6: Designing the PCB

After finishing the schematic, I moved to the PCB Editor to arrange components and route the traces.

Designing the PCB Layout in KiCad

Step 7: 3D Rendering and PCB Production

KiCad provides a powerful 3D viewer that allows previewing the PCB before production. This helped in verifying component placement and overall design accuracy.

In the upcoming weeks, I will fabricate a PCB using two methods:

KiCad 3D Render of the PCB

KiCad's features made the design process intuitive and efficient, allowing for a streamlined workflow from schematic creation to PCB layout and rendering.

Download Project Files

All project files, including the schematic, custom footprint and symbol for the Neopixel Ring, and Gerber files for PCB manufacturing, are available in the following archive:

These files include:

These files can be used to reproduce the PCB design, modify the schematic, or send the board for fabrication.