DynamicWhiteHat
added to the journal ago
Placed the components
Today, I worked on placing the components on my PCB. This takes significantly longer than other PCBs, since there are a few restrictions that must be followed. For example, the crystal must have a keep out zone around it and must be placed very close to the MCU. This is how I decided to go with my crystal layout:

I then started to work on the antenna, which I was unsure would work because I had to get a 50 ohm impedance on the trace. I didn't know that this was simply related to trace width, so I thought it would be difficult. In fact, it was much easier than I thought. All I needed was a 4x6 ground keep out zone for all layers under antenna chip. Then, I kept the antenna matching circuit near the antenna, and the chip matching one near the chip. I also curved the traces to help with RF design, which I saw online. I used the JLCPCB online impedance calculator to get the trace width:

After that, I placed the rest of my components normally, keeping decoupling caps close to the ICs and ordered everything to try to look good. I also switched out the footprints for the flash and switched the ams1117 to a AP2112k for smaller footprints. The only big footprint left is the TP4056. This is my final design:

I also created this banner:

DynamicWhiteHat
added to the journal ago
Created the schematic
Today I decided to create a devkit but I wanted it to be different from the rest. Rather than using an RP2040, I decided to use an esp-32 s3 SoC. I typically use the SoM, but I decided I wanted to try to use an SoC to make things more complicated. The first image is a SoC, and the second is a SoM


I began by finding the documentation online, as they have reference schematics and design/layout guidelines. I mostly copied the following schematic, as well as some stuff from these two videos: https://www.youtube.com/watch?v=xK14eVJCoqU and https://www.youtube.com/watch?v=EdEwRXiQsfc

I decided to go with an external antenna module rather than go antenna on PCB, as the PCB version is much harder and requires careful routing.
I copied over the power path from my ESP-BASE project, which I use to start my ESP-32 designs. All I changed was that I added an ESD protection diode array to further protect the ESP32, as well as an LED on the 3.3v LDO to show active power.

Then, I decided that I wanted this board to be able to run motors and natively support a speaker. To do this, I added in a DRV8833 motor driver along with a MAX98357A amplifier. They look like this:


This addition did require that I remove some GPIO from my ESP-32, and this is what I ended with:

I decided to use GPIO38 as an onboard LED that can be used for debugging/programming (blinky incoming). Finally, I mapped the GPIO and motor/speaker pins to headers:

This is my final schematic:

DynamicWhiteHat
started Form Nano ago
2/1/2026 - Created the schematic
Today I decided to create a devkit but I wanted it to be different from the rest. Rather than using an RP2040, I decided to use an esp-32 s3 SoC. I typically use the SoM, but I decided I wanted to try to use an SoC to make things more complicated. The first image is a SoC, and the second is a SoM


I began by finding the documentation online, as they have reference schematics and design/layout guidelines. I mostly copied the following schematic, as well as some stuff from these two videos: https://www.youtube.com/watch?v=xK14eVJCoqU and https://www.youtube.com/watch?v=EdEwRXiQsfc

I decided to go with an external antenna module rather than go antenna on PCB, as the PCB version is much harder and requires careful routing.
I copied over the power path from my ESP-BASE project, which I use to start my ESP-32 designs. All I changed was that I added an ESD protection diode array to further protect the ESP32, as well as an LED on the 3.3v LDO to show active power.

Then, I decided that I wanted this board to be able to run motors and natively support a speaker. To do this, I added in a DRV8833 motor driver along with a MAX98357A amplifier. They look like this:


This addition did require that I remove some GPIO from my ESP-32, and this is what I ended with:

I decided to use GPIO38 as an onboard LED that can be used for debugging/programming (blinky incoming). Finally, I mapped the GPIO and motor/speaker pins to headers:

This is my final schematic:

2/3/2026 - Placed the components
Today, I worked on placing the components on my PCB. This takes significantly longer than other PCBs, since there are a few restrictions that must be followed. For example, the crystal must have a keep out zone around it and must be placed very close to the MCU. This is how I decided to go with my crystal layout:

I then started to work on the antenna, which I was unsure would work because I had to get a 50 ohm impedance on the trace. I didn't know that this was simply related to trace width, so I thought it would be difficult. In fact, it was much easier than I thought. All I needed was a 4x6 ground keep out zone for all layers under antenna chip. Then, I kept the antenna matching circuit near the antenna, and the chip matching one near the chip. I also curved the traces to help with RF design, which I saw online. I used the JLCPCB online impedance calculator to get the trace width:

After that, I placed the rest of my components normally, keeping decoupling caps close to the ICs and ordered everything to try to look good. I also switched out the footprints for the flash and switched the ams1117 to a AP2112k for smaller footprints. The only big footprint left is the TP4056. This is my final design:

I also created this banner:
