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 numberPin namePin net
71VFB/VO1VFLASH
72VFB/VO2VPSRAM
73VFB/VO3VMIPI
74VFB/VO4VSDCARD

GPIO

GPIODirection / BusFunctionNote
0User controlledInternal Add-On: E2
1OutputCamera GPIO 1 / LED enable
2User controlledJTAG: MTCK, PMOD: IOCan be used as JTAG interface or as generic GPIO on the external Add-On connector
3User controlledJTAG: MTDI, PMOD: IOCan be used as JTAG interface or as generic GPIO on the external Add-On connector
4User controlledJTAG: MTMS, PMOD: IOCan be used as JTAG interface or as generic GPIO on the external Add-On connector
5User controlledJTAG: MTDO, PMOD: IOCan be used as JTAG interface or as generic GPIO on the external Add-On connector
6InputInterrupt from CH32V203 coprocessorRead from the coprocessor I2C device to clear the interrupt condition
7Input / User controlledInterrupt from internal Add-On boardCan also be used as GPIO, depending on the needs of the internal Add-On board
8InputInterrupt from ESP32-C6 radioControlled by ESP-HOSTED component
9I2C bus SDAInternal I2C bus dataInternal I2C bus connecting the ESP32-P4 to the ESP32-C6, CH32V203 coprocessor, Bosch sensors and internal Add-On board
10I2C bus SCLInternal I2C bus clockInternal I2C bus connecting the ESP32-P4 to the ESP32-C6, CH32V203 coprocessor, Bosch sensors and internal Add-On board
11InputLCD TE (Tearing effect)Synchronization pin for frame sync, used to avoid tearing
12User controlledSAO: I2C SDA, PMOD: IOCan be used as I2C interface for SAO Add-On boards or as generic GPIO on the external Add-On connector
13User controlledSAO: I2C SCL, PMOD: IOCan be used as I2C interface for SAO Add-On boards or as generic GPIO on the external Add-On connector
14OutputLCD resetHardware reset for the LCD controller
15User controlledSAO: IO1, PMOD: IOCan be used as generic GPIO for SAO Add-On boards or as generic GPIO on the external Add-On connector
16SDIO 2.0SDIO bus for ESP32-C6: CMDControlled by ESP-HOSTED component
17SDIO 2.0SDIO bus for ESP32-C6: CLKControlled by ESP-HOSTED component
18SDIO 2.0SDIO bus for ESP32-C6: D0Controlled by ESP-HOSTED component
19SDIO 2.0SDIO bus for ESP32-C6: D1Controlled by ESP-HOSTED component
20SDIO 2.0SDIO bus for ESP32-C6: D2Controlled by ESP-HOSTED component
21SDIO 2.0SDIO bus for ESP32-C6: D3Controlled by ESP-HOSTED component
22BidirectionalCH32V203 programming interface: SWDIOFor coprocessor firmware updates
23OutputCH32V203 programming interface: SWCLKFor coprocessor firmware updates
24USBUSB DN, port 1 on USB hub (USB-C port)
25USBUSB DP, port 1 on USB hub (USB-C port)
26User controlledInternal Add-On: USB DN or generic GPIO
27User controlledInternal Add-On: USB DP or generic GPIO
28I2SI2S: data
29I2SI2S: sample clock
30I2SI2S: master clock
31I2SI2S: lr clock
32I3CI2C/I3C QWIIC port: SDA
33I3CI2C/I3C QWIIC port: SCL
34User controlledSAO: IO2, PMOD: IO
35User controlledInternal Add-On: E1
36User controlledInternal Add-On: E0
37Output / User controlledDebug UART transmit
38Input / User controlledDebug UART receive
39SDIO 3.0SD card slot: D0
40SDIO 3.0SD card slot: D1
41SDIO 3.0SD card slot: D2
42SDIO 3.0SD card slot: D3
43SDIO 3.0SD card slot: CLK
44SDIO 3.0SD card slot: CMD
45User controlledInternal Add-On: E3
46User controlledInternal Add-On: E6
47User controlledInternal Add-On: E5
48User controlledInternal Add-On: E4
49User controlledInternal Add-On: E7
50User controlledInternal Add-On: E8
51User controlledInternal Add-On: E9
52User controlledInternal Add-On: E10
53User controlledInternal Add-On: E11
54User controlledInternal 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.

Inkscape

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.

Export the design to Kicad by navigating to Extensions > Svg2Shenzhen > 2. Export to Kicad...

Svg2Shenzhen export dialog

Kicad

4.1 - WHY2025 badge artwork