This is the multi-page printable view of this section. Click here to print.
WHY2025 badge hardware
1 - WHY2025 badge specifications
(work in progress, please check this page again later)
1.1 - WHY2025 badge battery
1.2 - WHY2025 badge ESP-C6
1.3 - WHY2025 badge ESP-P4
1.4 - WHY2025 badge keyboard
1.5 - WHY2025 badge screen
2 - WHY2025 badge connectors
2.1 - WHY2025 badge pinouts
Connectors
Chips
ESP32-P4 (U8)
LDO
Pin number | Pin name | Pin net |
---|---|---|
71 | VFB/VO1 | VFLASH |
72 | VFB/VO2 | VPSRAM |
73 | VFB/VO3 | VMIPI |
74 | VFB/VO4 | VSDCARD |
GPIO
GPIO | Direction / Bus | Function | Note |
---|---|---|---|
0 | User controlled | Internal Add-On: E2 | |
1 | Output | Camera GPIO 1 / LED enable | |
2 | User controlled | JTAG: MTCK, PMOD: IO | Can be used as JTAG interface or as generic GPIO on the external Add-On connector |
3 | User controlled | JTAG: MTDI, PMOD: IO | Can be used as JTAG interface or as generic GPIO on the external Add-On connector |
4 | User controlled | JTAG: MTMS, PMOD: IO | Can be used as JTAG interface or as generic GPIO on the external Add-On connector |
5 | User controlled | JTAG: MTDO, PMOD: IO | Can be used as JTAG interface or as generic GPIO on the external Add-On connector |
6 | Input | Interrupt from CH32V203 coprocessor | Read from the coprocessor I2C device to clear the interrupt condition |
7 | Input / User controlled | Interrupt from internal Add-On board | Can also be used as GPIO, depending on the needs of the internal Add-On board |
8 | Input | Interrupt from ESP32-C6 radio | Controlled by ESP-HOSTED component |
9 | I2C bus SDA | Internal I2C bus data | Internal I2C bus connecting the ESP32-P4 to the ESP32-C6, CH32V203 coprocessor, Bosch sensors and internal Add-On board |
10 | I2C bus SCL | Internal I2C bus clock | Internal I2C bus connecting the ESP32-P4 to the ESP32-C6, CH32V203 coprocessor, Bosch sensors and internal Add-On board |
11 | Input | LCD TE (Tearing effect) | Synchronization pin for frame sync, used to avoid tearing |
12 | User controlled | SAO: I2C SDA, PMOD: IO | Can be used as I2C interface for SAO Add-On boards or as generic GPIO on the external Add-On connector |
13 | User controlled | SAO: I2C SCL, PMOD: IO | Can be used as I2C interface for SAO Add-On boards or as generic GPIO on the external Add-On connector |
14 | Output | LCD reset | Hardware reset for the LCD controller |
15 | User controlled | SAO: IO1, PMOD: IO | Can be used as generic GPIO for SAO Add-On boards or as generic GPIO on the external Add-On connector |
16 | SDIO 2.0 | SDIO bus for ESP32-C6: CMD | Controlled by ESP-HOSTED component |
17 | SDIO 2.0 | SDIO bus for ESP32-C6: CLK | Controlled by ESP-HOSTED component |
18 | SDIO 2.0 | SDIO bus for ESP32-C6: D0 | Controlled by ESP-HOSTED component |
19 | SDIO 2.0 | SDIO bus for ESP32-C6: D1 | Controlled by ESP-HOSTED component |
20 | SDIO 2.0 | SDIO bus for ESP32-C6: D2 | Controlled by ESP-HOSTED component |
21 | SDIO 2.0 | SDIO bus for ESP32-C6: D3 | Controlled by ESP-HOSTED component |
22 | Bidirectional | CH32V203 programming interface: SWDIO | For coprocessor firmware updates |
23 | Output | CH32V203 programming interface: SWCLK | For coprocessor firmware updates |
24 | USB | USB DN, port 1 on USB hub (USB-C port) | |
25 | USB | USB DP, port 1 on USB hub (USB-C port) | |
26 | User controlled | Internal Add-On: USB DN or generic GPIO | |
27 | User controlled | Internal Add-On: USB DP or generic GPIO | |
28 | I2S | I2S: data | |
29 | I2S | I2S: sample clock | |
30 | I2S | I2S: master clock | |
31 | I2S | I2S: lr clock | |
32 | I3C | I2C/I3C QWIIC port: SDA | |
33 | I3C | I2C/I3C QWIIC port: SCL | |
34 | User controlled | SAO: IO2, PMOD: IO | |
35 | User controlled | Internal Add-On: E1 | |
36 | User controlled | Internal Add-On: E0 | |
37 | Output / User controlled | Debug UART transmit | |
38 | Input / User controlled | Debug UART receive | |
39 | SDIO 3.0 | SD card slot: D0 | |
40 | SDIO 3.0 | SD card slot: D1 | |
41 | SDIO 3.0 | SD card slot: D2 | |
42 | SDIO 3.0 | SD card slot: D3 | |
43 | SDIO 3.0 | SD card slot: CLK | |
44 | SDIO 3.0 | SD card slot: CMD | |
45 | User controlled | Internal Add-On: E3 | |
46 | User controlled | Internal Add-On: E6 | |
47 | User controlled | Internal Add-On: E5 | |
48 | User controlled | Internal Add-On: E4 | |
49 | User controlled | Internal Add-On: E7 | |
50 | User controlled | Internal Add-On: E8 | |
51 | User controlled | Internal Add-On: E9 | |
52 | User controlled | Internal Add-On: E10 | |
53 | User controlled | Internal Add-On: E11 | |
54 | User controlled | Internal Add-On: E12 |
3 - WHY2025 badge expansion boards
(work in progress, please check this page again later)
4 - Frontpanel
This page describes how to design and order a WHY2025 badge frontpanel.
Designing a frontpanel using Inkscape, svg2shenzhen and Kicad
The first step of designing a frontpanel is creating artwork that can be converted into a Kicad footprint. For this Inkscape and the Inkscape plugin svg2shenzhen are used.
Of course it is also possible to use any other method which allows you to import a footprint into Kicad so if you’re using a different method then you can skip ahead to the Kicad section.
Instructions on how to install svg2shenzhen can be found in the readme of the repository.
After opening the design file in Inkscape you will notice that multiple layers are used. Each of the layers in the design corresponds with a Kicad layer, this allows you to define how a shape should appear on the circuit board.
The most important layers are:
- Edge.Cuts: this is the outline of the board, the PCB manufacturer will use a CNC mill to cut the board following the edges of the object on this layer.
- F.Cu and B.Cu: these layers define where to place copper on the front and back of the circuit board.
- F.Mask and B.Mask: all shapes drawn on this layer are cut out of the colored soldermask layer of the board.
- F.SilkS and B.SilkS: these layers are printed on the bront and back silkscreen layer respectively. The silkscreen layer is a non-conductive layer of ink usually used to add reference designators and text to a circuit board.
Mask layer
The mask layers are negative layers, the contents of the layer determine where NOT to place soldermask.Silkscreen
Silkscreen can only be placed on top of solder mask, silkscreen overlapping with any area defined in the mask layers will be removed by the board manufacturer. Keep in mind that Kicad will render the silkscreen in these locations but that this does not match the end result.Edge cut
Round shapes are not correctly exported to Kicad on the Edge.Cuts layer. Workaround is adding a lot more nodes and preferably setting segments to be straight.Export the design to Kicad by navigating to Extensions > Svg2Shenzhen > 2. Export to Kicad...
Kicad
…