Iris Zero
A small ESP32-S3-MINI-1 based dev board with USB HID functionality.
Created by
NullByte
Tier 3
6 views
1 follower
Shadow
requested changes for Iris Zero ago
Hey! Since this is a duplicate project, I will be rejecting this. Please only submit one of the projects
NullByte
submitted Iris Zero for ship review ago
NullByte
added to the journal ago
Updated BOM.
I have updated the BOM in readme as requested by the reviewers, now it includes a detailed pricing for everything and the projects total cost including PCB, PCBA and components.

NullByte
added to the journal ago
Added BOM for the project.
Added BOM.csv in the root of the project which includes prices for PCB, PCBA and all components.
https://github.com/rootworkspace/IrisZero/blob/main/BOM.csv

NullByte
added to the journal ago
Getting ready for shipping
Created the github repo: https://github.com/rootworkspace/IrisZero
Made a basic firmware.
Published EasyEda Project, BOM, Gerbers and a 3D model.
Documented everything.

NullByte
added to the journal ago
Routing the PCB. Part 3
Finished routing the PCB, on the side you can see gaps for routing wires from the dev board, buttons are labeled to their functionality. Using NDot font for the designators and text.


NullByte
added to the journal ago
Making the schematic. Part 6
Moved the LED pins to: IO12 for LED1 and IO48 for LED2 so it would be closed on the PCB and not across the whole PCB and this seems to be the final schematic.

NullByte
added to the journal ago
Making the schematic. Part 5
Edited the schematic to use ESP32-S3-MINI-1, which I picked because it has USB-HID functionality. LED pins has been changed to IO1 (LED1) and IO2 (LED2).

zsharpminor
requested changes for Iris Zero ago
Hi, please do not use Standard PCBA unless it's really needed. I'd highly recommend redesigning your PCB to be one-sided and use Economic PCBA parts for this project to be approvable. Also, your BOM should show the cost breakdown of PCB and assembly, not just LCSC parts. Alternatively, you could find a makerspace etc. with a hot air station and assemble this PCB yourself. Otherwise, this looks great, keep up the good work! (Reviews will be going a lot faster going forward, ping me when you fix this)
NullByte
added to the journal ago
Designing the PCB. Part 3
Today, since I found a few issues in the PCB that I made, I have decided to completely remake the PCB, which gave me even more new space for new parts and it takes a little bit less space now. Since I had some space I added an addressable SK6805-EC14 led connected to IO18.





NullByte
submitted Iris Zero for ship review ago
NullByte
added to the journal ago
Making a test firmware.
I wrote a simple firmware for the dev board which just fade in/outs the LED on IO0, uses ESP-IDF, PlatformIO framework.
https://github.com/rootworkspace/IrisOne/tree/main/Firmware

NullByte
added to the journal ago
Designing the PCB. Part 2
I added some Watch Dogs 2 references to the board because they look cool and matches the boards theme and colors, specifically dedsec on the bottom side of the PCB.

NullByte
added to the journal ago
Designing the PCB. Part 1
I decided to make holes next to the GPIO pins to easier route the wires from the dev board to other peripherals. I have also rounded the corners of the PCB.


NullByte
added to the journal ago
Routing the PCB. Part 2
Since I had a little bit of space I have decided to add a white status led that I connected to IO0 via a 75ohm resistor. You can control its brightness using PWM.


NullByte
added to the journal ago
3D Preview
On the bottom side of the board you have the GPIO pins for connecting own peripherals and 2 buttons, one is for boot mode configuration so either flashing or normal operations and a reset button to reset the ESP32.

On the top we have the AP2112K-3.3TRG1(MS) voltage regulator and some pull up resistors required to power the ESP32.

NullByte
added to the journal ago
Routing the PCB
After finishing the schematic I have started routing the PCB. The PCB is almost the same size as the ESP32 but with a little gap for the USB-C port. I have also exposed the pads of ESP32 so it was possible to connect own peripherals to the ESP32 via its GPIO.


NullByte
added to the journal ago
Making the schematic. Part 4
I had to edit the schematic because it was still using too much space and I had to remove the LED matrix too, and AMS1117 was replaced by AP2112K-3.3TRG1(MS) and USB-C port has been replaced with an SMD alternative, also resistor arrays has been used to save some space

NullByte
added to the journal ago
Making the schematic. Part 3
And the schematic seems to be done! I have added AMS1117-3.3V to provide power for ESP32-S3, capacitors for power stabilization, and 2 buttons for reset and change of boot mode.

NullByte
added to the journal ago
Making the schematic. Part 2
I have decided to use SN74AHCT1G125DC(LX) to convert 3.3V logic from ESP32 to 5V logic for LEDS. To control the LEDs you can use IO0 and I also had to change the matrix to 4x3 because 5x5 one wasnt fitting on the PCB.

NullByte
added to the journal ago
Making the schematic. Part 1
As the MCU I have decided to pick ESP32-C6-MINI-1 because its small, supports most wireless protocols needed and has integrated USB support. I have also decided to add a 5x5 RGB Led matrix, I original thought of using WS2812B-2020 as the led but it was too big so I have switched to SK6805-EC14, I will also have to find a way to easily convert 5V logic from the leds to 3.3V for the esp32. USB-C has been added too.

NullByte
started Iris Zero ago
2/19/2026 9:06 PM - Making the schematic. Part 1
As the MCU I have decided to pick ESP32-C6-MINI-1 because its small, supports most wireless protocols needed and has integrated USB support. I have also decided to add a 5x5 RGB Led matrix, I original thought of using WS2812B-2020 as the led but it was too big so I have switched to SK6805-EC14, I will also have to find a way to easily convert 5V logic from the leds to 3.3V for the esp32. USB-C has been added too.

2/19/2026 9:29 PM - Making the schematic. Part 2
I have decided to use SN74AHCT1G125DC(LX) to convert 3.3V logic from ESP32 to 5V logic for LEDS. To control the LEDs you can use IO0 and I also had to change the matrix to 4x3 because 5x5 one wasnt fitting on the PCB.

2/19/2026 9:44 PM - Making the schematic. Part 3
And the schematic seems to be done! I have added AMS1117-3.3V to provide power for ESP32-S3, capacitors for power stabilization, and 2 buttons for reset and change of boot mode.

2/20/2026 6:09 PM - Making the schematic. Part 4
I had to edit the schematic because it was still using too much space and I had to remove the LED matrix too, and AMS1117 was replaced by AP2112K-3.3TRG1(MS) and USB-C port has been replaced with an SMD alternative, also resistor arrays has been used to save some space

2/20/2026 6:12 PM - Routing the PCB
After finishing the schematic I have started routing the PCB. The PCB is almost the same size as the ESP32 but with a little gap for the USB-C port. I have also exposed the pads of ESP32 so it was possible to connect own peripherals to the ESP32 via its GPIO.


2/20/2026 6:14 PM - 3D Preview
On the bottom side of the board you have the GPIO pins for connecting own peripherals and 2 buttons, one is for boot mode configuration so either flashing or normal operations and a reset button to reset the ESP32.

On the top we have the AP2112K-3.3TRG1(MS) voltage regulator and some pull up resistors required to power the ESP32.

2/20/2026 6:52 PM - Routing the PCB. Part 2
Since I had a little bit of space I have decided to add a white status led that I connected to IO0 via a 75ohm resistor. You can control its brightness using PWM.


2/20/2026 7 PM - Designing the PCB. Part 1
I decided to make holes next to the GPIO pins to easier route the wires from the dev board to other peripherals. I have also rounded the corners of the PCB.


2/20/2026 8 PM - Designing the PCB. Part 2
I added some Watch Dogs 2 references to the board because they look cool and matches the boards theme and colors, specifically dedsec on the bottom side of the PCB.

2/20/2026 9 PM - Making a test firmware.
I wrote a simple firmware for the dev board which just fade in/outs the LED on IO0, uses ESP-IDF, PlatformIO framework.
https://github.com/rootworkspace/IrisOne/tree/main/Firmware

2/21/2026 - Designing the PCB. Part 3
Today, since I found a few issues in the PCB that I made, I have decided to completely remake the PCB, which gave me even more new space for new parts and it takes a little bit less space now. Since I had some space I added an addressable SK6805-EC14 led connected to IO18.





3/11/2026 3:45 PM - Making the schematic. Part 5
Edited the schematic to use ESP32-S3-MINI-1, which I picked because it has USB-HID functionality. LED pins has been changed to IO1 (LED1) and IO2 (LED2).

3/11/2026 3:46 PM - Making the schematic. Part 6
Moved the LED pins to: IO12 for LED1 and IO48 for LED2 so it would be closed on the PCB and not across the whole PCB and this seems to be the final schematic.

3/11/2026 3:47 PM - Routing the PCB. Part 3
Finished routing the PCB, on the side you can see gaps for routing wires from the dev board, buttons are labeled to their functionality. Using NDot font for the designators and text.


3/11/2026 3:48 PM - Getting ready for shipping
Created the github repo: https://github.com/rootworkspace/IrisZero
Made a basic firmware.
Published EasyEda Project, BOM, Gerbers and a 3D model.
Documented everything.

3/11/2026 3:49 PM - Added BOM for the project.
Added BOM.csv in the root of the project which includes prices for PCB, PCBA and all components.
https://github.com/rootworkspace/IrisZero/blob/main/BOM.csv

3/11/2026 4 PM - Updated BOM.
I have updated the BOM in readme as requested by the reviewers, now it includes a detailed pricing for everything and the projects total cost including PCB, PCBA and components.
