ESP32-C3 Dev Board

Circuit Board

The ESP32-C3 Dev Board is a PCB I designed, had manufactured, and soldered, and will be the heart of many projects I develop going forward. With easy programming via USB-C in the Arduino IDE, it's perfect for prototyping any project that is planned to use an ESP chip. I designed it to fit right into a breadboard and it has headers for both IO and UART.

Me holding an earlier iteration of the final manufactured, soldered, and working Dev Board.

Skills Used

Altium

Demonstration Video

The video below shows the board in action, doing a simple LED blinking demonstration. It also shows how it easily snaps into a breadboard, and shows the power LEDs for both the 5V and 3V3 voltage levels.

Final Schematic Design & PCB Layout

Below are photos showcasing the final schematic sections and printed circuit board design for the project.

Entire Schematic

PCB 2D View

PCB 3D View - Front

PCB 3D View - Back

Bill of Materials (BOM)

Below is a table containing all of the parts as well as a link to the Digikey parts list.

Part Name Count Cost Per Part
0.1µF 1206 Capacitor 1 $0.09
10µF 1206 Capacitor 1 $0.15
1µF 1206 Capacitor 3 $0.12
Red 1206 LED 1 $0.20
Green 1206 LED 2 $0.20
USB-C Female Connector (16 + 8 Dummy) 1 $0.78
1x4 Male 2.54 Pin Header 1 $0.10
1x12 Male 2.54 Pin Header 1 $0.16
5.1kΩ 1206 Resistor 2 $0.10
10kΩ 1206 Resistor 2 $0.10
220Ω 1206 Resistor 2 $0.10
330Ω 1206 Resistor 1 $0.10
ESP32-C3 PCB Antenna 1 $3.28
5V to 3V3 LDO 1 $0.22

Using the Device

Using the Device such as Pinouts or Setup is detailed below.

Device Pinouts

Below is information and necessary tables of pinouts for the device.

>
Pin Technical Name Pin Name Pin Info
J1 USB-C Port General Power, Programming, or UART Port
I01 1 I/O Pin
IO2 SDA I/O Pin or SDA Pin
IO3 SCL I/O Pin or SCL Pin
IO4 4 I/O Pin
IO5 5 I/O Pin
IO6 6 I/O Pin
IO7 7 I/O Pin
IO9 9 I/O Pin
IO10 10 I/O Pin
3V3 3.3V Voltage Pin
5V0 5V Voltage Pin
GND GND Ground Pin
P1 - 1 3V3 UART Voltage Pin
P1 - 2 TXD Microcontroller TX Pin
P1 - 3 RXD Microcontroller RX Pin
P1 - 4 GND Ground Pin

Setting Up & Using the Device

When it comes to using the device or soldering one for yourself, there are a few things to note. After finishing soldering, when first plugging the device in, you should hear (if on Windows) a consistent USB disconnect sound effect. This tells you you did it correctly. In the "Arduino IDE, go to File > Preferences > Additional Board URLs". Once done, add the following two links into the additional board URLs list, and save:

													
	https://dl.espressif.com/dl/package_esp32_index.json
	https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
													
												

Once done, set the target board to the ESP32 C3 Dev Board option. Also note, when programming the device, to set "USB CDC On Boot" to ENABLED. You can follow the settings shown below:

Now, once selecting the COM port that the device is connected to via USB-C, you can program as you'd like! Some sample code to test the board, which will blink the onboard LED (as well as pin 6 if you hook that up to a breadboard and LED) periodically to show that it is programmed correctly. The console should also confirm that the device has been programmed. Additionally, the device should be setup for serial if all the steps were followed correctly, so initializing serial and printing as needed should work like any other board, and information should appear in the serial monitor if done right. One thing to note is, if a program you upload makes the device appear bricked (stuck boot looping, can't upload a program, etc.) you must unplug the device, wire pin 9 on the board to ground, and plug it back in shorted and reprogram it with a new program. This will bypass any program currently on it that may be breaking it. Handy to know!

Development Documentation

Challenges, What I Learned, and More.

Challenges

The biggest challenge of this project was getting the peripheral passive components correct so that the device could be easily programmed via USB-C, as there a lot of nuances that could have ruined my design had I done it wrong. Beyond that, designing a tight and compact yet usable board was difficult, but it ultimately came out great.

What I Learned

From this project I learned how to design boards that utilize Espressif chips, as most other Espressif follow a similar peripheral layout, meaning going forward I can look into other chips they offer beyond the C3 for boards that may need a more specialized chip.

Inspiration

This board was inspired by a friend of mine's work, Noah Smith, who also worked with an ESP32 C3 chip for a Dev Board of his own. I had originally run into challenges with another ESP chip trying to make a Dev Board (though not the C3), but was inspired to pick up that failed previous work after seeing his functional C3 Dev Board.