Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions PCB/GPIO_table.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
> USB-C for firmware flashing, charging, and future accessory expansion
> (the module's native USB is genuinely exposed, unlike a Pico-family
> module whose USB is hardwired to its own onboard connector).
> Pins referenced by number in the yaml, not name — the module's pins are
> Pins referenced by GPIO number, not name — the module's pins are
> heavily multi-function (e.g. pin 4 is "GPIO4/TOUCH4/ADC1_CH3") and
> numbers are unambiguous. See `MCU_Core` section of `snips_controller.yaml`.
> numbers are unambiguous. The wiring source is `PCB/stackup/board.kdl`.

## Reserved / Do Not Use
| Pin | Reason |
Expand Down Expand Up @@ -104,7 +104,7 @@ QMA6100P accelerometer at 0x12 instead. See Accelerometer section below.
| Vol down | 32 (GPIO39) | Internal pull-up, active low |
| Trigger up (mirrored VOL pair, opposite-handed variant) | 9 (GPIO16) | Internal pull-up, active low |
| Trigger down (mirrored VOL pair, opposite-handed variant) | 10 (GPIO17) | Internal pull-up, active low |
| Digital trigger (bumper) | 11 (GPIO18) | Internal pull-up, active low |
| Digital trigger (bumper) | 11 (GPIO18) | Internal pull-up, active low. SW_TRIG_DIG1 and SW_TRIG_DIG2 in parallel, one at each end of the top edge |
| Thumbstick click (KEY) | 23 (GPIO21) | Internal pull-up, active low |
| Macro button 1-6 | 24, 25, 28, 29, 30, 31 (GPIO47, 48, 35, 36, 37, 38) | Internal pull-up, active low — direct-wired, no scan matrix |
| Power button sense | 38 (GPIO2) | Input, monitors for 3-second hold |
Expand Down
4 changes: 2 additions & 2 deletions PCB/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ through `snips_controller.stackup_sch`; sync it with the Stackup KiCad plugin. R
| MCU | ESP32-S3-WROOM-1 module | Pre-certified: integrated flash, crystal, WiFi/BT radio + antenna. Same MCU family as Amidala. See `GPIO_table.md` for the full support circuitry | — |
| Display | SSD1306 1.3" OLED | 128x64, monochrome, I2C | — |
| Radio | XBee3 Pro (XB3-24Z8UT) | Zigbee 3.0 firmware, U.FL, +19 dBm, SPI mode, THT socket (proto) | — |
| Hall trigger | DRV5055A2 | Ratiometric linear hall effect, 3.3V | — |
| Hall trigger | DRV5055A2QDBZR (SOT-23) | Ratiometric linear hall effect, 3.3V. On the bottom of the board under the trigger magnet; senses the field perpendicular to the board. Trigger calibration accepts either magnet polarity | — |
| Thumbstick | GuliKit hall effect module | Native 3.3V, analog X/Y + click | — |
| Buttons | Omron B3F series | Tactile momentary clicky | — |
| RGB LED | SK6812 NeoPixel-compatible | RMT-driven status indicator; specified supply begins at 3.7 V, but board supplies 3.3 V | — |
Expand Down Expand Up @@ -93,7 +93,7 @@ consuming GPIO, unlike the bare-RP2350A design this replaced.
| Vol down | 32 | Active low, internal pull-up |
| Trigger up (mirrored VOL pair, opposite-handed variant) | 9 | Active low, internal pull-up |
| Trigger down (mirrored VOL pair, opposite-handed variant) | 10 | Active low, internal pull-up |
| Digital trigger (bumper) | 11 | Active low, internal pull-up |
| Digital trigger (bumper) | 11 | Active low, internal pull-up. Two switches in parallel (SW_TRIG_DIG1/2), one at each end of the top edge, so the bumper presses from either side |
| Thumbstick click (KEY) | 23 | Active low, internal pull-up |
| Macro buttons 1-6 | 24, 25, 28, 29, 30, 31 | Active low, internal pull-up — direct-wired, no scan matrix |
| Power button sense | 38 | Input, 3-second hold detect |
Expand Down
9 changes: 5 additions & 4 deletions PCB/production/bom/snips_controller-bom.csv
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@
31;"R_XBEE_RC1";"R_0402_1005Metric";1;"100Ω";;;
32;"SW_BOOT1";"SW_SPST_EVQP2_ShortPushTravel_H2.1mm";1;"Panasonic_EVQP2";;;
33;"SW_MACRO1, SW_MACRO2, SW_MACRO3, SW_MACRO4, SW_MACRO5, SW_MACRO6";"SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm";6;"6x6x5mm SMD Tactile";;;
34;"SW_PWR1, SW_THR_DN1, SW_THR_UP1, SW_TRIG_DIG1, SW_VOL_DN1, SW_VOL_UP1";"SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010";6;"SKRTLAE010";;;
34;"SW_PWR1, SW_THR_DN1, SW_THR_UP1, SW_TRIG_DIG1, SW_TRIG_DIG2, SW_VOL_DN1, SW_VOL_UP1";"SW_Push_1P1T-MP_NO_Horizontal_Alps_SKRTLAE010";7;"SKRTLAE010";;;
35;"U_BUCK1";"SOT-23-5";1;"TLV62569DBVR";;;
36;"U_CHG1";"IC_BQ25185DLHR";1;"BQ25185DLHR";;;
37;"U_IMU1";"LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y";1;"ICM-42670-P";;;
38;"U_MCU1";"ESP32-S3-WROOM-1";1;"ESP32-S3-WROOM-1-N8";;;
39;"U_OLED1";"JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal";1;"Qwiic connector";;;
37;"U_HALL1";"SOT-23";1;"DRV5055A2QDBZR";;;
38;"U_IMU1";"LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y";1;"ICM-42670-P";;;
39;"U_MCU1";"ESP32-S3-WROOM-1";1;"ESP32-S3-WROOM-1-N8";;;
40;"U_OLED1";"JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal";1;"Qwiic connector";;;
Loading
Loading