// SPDX-License-Identifier: GPL-3.0-only // OpenScribe pin map. Defaults match hardware/BOM.md (Build B, ESP32-S3 devkit). // Override per board via the OPENSCRIBE_BOARD_* flags set in platformio.ini. #pragma once #if defined(OPENSCRIBE_BOARD_XIAO) // Seeed XIAO ESP32-S3 Sense: onboard PDM mic + microSD use the Sense board's fixed pins. // The audio driver selects the PDM path for this board; these are placeholders for the // user-facing controls only. #define PIN_BUTTON 2 // external tactile button to GND #define PIN_LED 21 // XIAO onboard user LED #define PIN_VBUS_SENSE -1 // use USB-serial/VBUS API on XIAO #define PIN_CHARGE_STAT -1 #else // OPENSCRIBE_BOARD_DEV (default) // I2S MEMS microphone (INMP441 / ICS-43434) #define PIN_I2S_BCLK 4 #define PIN_I2S_WS 5 #define PIN_I2S_DIN 6 // microSD (SPI mode) #define PIN_SD_SCK 12 #define PIN_SD_MOSI 11 #define PIN_SD_MISO 13 #define PIN_SD_CS 10 // Controls / status #define PIN_BUTTON 7 // active-low, internal pull-up #define PIN_LED 48 // WS2812 data (or plain LED via 330R) #define PIN_CHARGE_STAT 14 // TP4056 STAT (open-drain) #define PIN_VBUS_SENSE 15 // USB 5V present -> on-charge / powered mode #define PIN_MOTOR 16 // optional haptic, via transistor #endif