1
1
/*
2
2
────────────────────────────────────────────────────────────────────────
3
- KodeDot – ESP32-S3R8 Variant
3
+ KodeDot – ESP32-S3R8 Variant (rev. with OPI flash/PSRAM)
4
4
Pin definition file for the Arduino-ESP32 core
5
5
────────────────────────────────────────────────────────────────────────
6
6
* External 2 × 10 connector → simple aliases PIN1 … PIN20
7
7
* On-board QSPI LCD 410×502 @40 MHz (SPI3_HOST)
8
- * micro-SD on SPI2_HOST
8
+ * micro-SD on SDMMC (1-bit)
9
9
* Dual-I²C: external (GPIO37/36) + internal-sensors (GPIO48/47)
10
10
* USB VID/PID 0x303A:0x1001
11
11
*/
@@ -33,13 +33,12 @@ static const uint8_t SDA = 36; // GPIO36 – PIN14
33
33
#define INT_I2C_SCL 47 // GPIO47
34
34
#define INT_I2C_SDA 48 // GPIO48
35
35
36
- /*──────────────── SPI2 – micro-SD ───────────────────────*/
37
- static const uint8_t SS = 15 ; // SD_CS
38
- static const uint8_t MOSI = 16 ; // SD_MOSI
39
- static const uint8_t MISO = 18 ; // SD_MISO
40
- static const uint8_t SCK = 17 ; // SD_CLK
41
- #define BOARD_HAS_SD_SPI
42
- #define SD_CS SS
36
+ /*──────────────── SDMMC – micro-SD (1-bit) ───────────────*/
37
+ #define BOARD_HAS_SD_SDMMC
38
+ #define SDMMC_CMD 5 // SD_CMD
39
+ #define SDMMC_CLK 6 // SD_CLK
40
+ #define SDMMC_D0 7 // SD_D0
41
+ #define SD_CS -1 // No CS pin in SDMMC mode
43
42
44
43
/*──────────────── QSPI LCD (SPI3_HOST) ─────────────────–
45
44
* Controller: ST7789 / 4-line SPI (no D/C pin)
@@ -52,16 +51,14 @@ static const uint8_t SCK = 17; // SD_CLK
52
51
#define LCD_HEIGHT 502
53
52
54
53
#define LCD_HOST SPI3_HOST
55
- #define LCD_SCK 35 // GPIO35 • QSPI_CLK
56
- #define LCD_MOSI 33 // GPIO33 • QSPI_IO0 (D0)
57
- #define LCD_IO1 34 // GPIO34 • QSPI_IO1 (D1)
58
- #define LCD_IO2 37 // GPIO37 • QSPI_IO2 (D2)
59
- #define LCD_IO3 36 // GPIO36 • QSPI_IO3 (D3)
60
- #define LCD_CS 10 // GPIO10
61
- #define LCD_RST 9 // GPIO09
54
+ #define LCD_SCK 17 // GPIO17 • QSPI_CLK
55
+ #define LCD_MOSI 15 // GPIO15 • QSPI_IO0 (D0)
56
+ #define LCD_IO1 14 // GPIO14 • QSPI_IO1 (D1)
57
+ #define LCD_IO2 16 // GPIO16 • QSPI_IO2 (D2)
58
+ #define LCD_IO3 10 // GPIO10 • QSPI_IO3 (D3)
59
+ #define LCD_CS 9 // GPIO09
60
+ #define LCD_RST 8 // GPIO08
62
61
#define LCD_DC -1 // not used in 4-line SPI
63
- /* Optional: back-light enable shares the NeoPixel pin */
64
- #define LCD_BL 5 // GPIO05 (same as NEOPIXEL)
65
62
66
63
/*──────────────── Analog / Touch pads ────────────────*/
67
64
static const uint8_t A0 = 11 ; // PIN4 – GPIO11 / TOUCH11 / ADC2_CH0
@@ -71,9 +68,9 @@ static const uint8_t A3 = 14; // PIN10 – GPIO14 / TOUCH14 / ADC2_CH3
71
68
static const uint8_t T0 = A0 , T1 = A1 , T2 = A2 , T3 = A3 ;
72
69
73
70
/*──────────────── On-board controls & indicator ─────────*/
74
- #define BUTTON_TOP 0 // GPIO00 – BOOT • active-LOW
75
- #define BUTTON_BOTTOM 6 // GPIO06 • active-LOW
76
- #define NEOPIXEL_PIN 5 // GPIO05 – WS2812
71
+ #define BUTTON_TOP 0 // GPIO00 – BOOT • active-LOW
72
+ #define BUTTON_BOTTOM -1 // via IO expander • no direct GPIO
73
+ #define NEOPIXEL_PIN 4 // GPIO04 – WS2812
77
74
#define LED_BUILTIN NEOPIXEL_PIN
78
75
79
76
/*──────────────── JTAG (also on connector) ──────────────*/
0 commit comments