From 1108d317977163a7e260ff3fd43453f26e1fc174 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Tue, 28 Jun 2022 15:26:54 +0200 Subject: [PATCH] microcontrollers: auto-generate a list of available pins This can simply be updated using `make` in the doc-gen directory. --- .../microcontrollers/arduino-mega1280.md | 75 ++++++++ .../microcontrollers/arduino-mega2560.md | 75 ++++++++ .../microcontrollers/arduino-mkr1000.md | 29 +++ .../microcontrollers/arduino-mkrwifi1010.md | 36 ++++ .../microcontrollers/arduino-nano.md | 25 +++ .../microcontrollers/arduino-nano33.md | 38 ++++ .../microcontrollers/arduino-zero.md | 37 ++++ .../reference/microcontrollers/arduino.md | 25 +++ .../microcontrollers/atsame54-xpro.md | 91 ++++++++++ .../reference/microcontrollers/bluepill.md | 39 ++++ .../microcontrollers/circuitplay-bluefruit.md | 26 +++ .../microcontrollers/circuitplay-express.md | 30 +++ .../docs/reference/microcontrollers/clue.md | 44 +++++ .../docs/reference/microcontrollers/d1mini.md | 16 ++ .../reference/microcontrollers/digispark.md | 11 ++ .../microcontrollers/esp32-coreboard-v2.md | 37 ++++ .../microcontrollers/esp32-mini32.md | 37 ++++ .../reference/microcontrollers/feather-m0.md | 30 +++ .../microcontrollers/feather-m4-can.md | 40 ++++ .../reference/microcontrollers/feather-m4.md | 35 ++++ .../feather-nrf52840-sense.md | 39 ++++ .../microcontrollers/feather-nrf52840.md | 39 ++++ .../microcontrollers/feather-rp2040.md | 26 +++ .../microcontrollers/feather-stm32f405.md | 44 +++++ .../microcontrollers/grandcentral-m4.md | 94 ++++++++++ .../reference/microcontrollers/hifive1b.md | 22 +++ .../microcontrollers/itsybitsy-m0.md | 36 ++++ .../microcontrollers/itsybitsy-m4.md | 38 ++++ .../microcontrollers/itsybitsy-nrf52840.md | 36 ++++ .../docs/reference/microcontrollers/lgt92.md | 25 +++ .../docs/reference/microcontrollers/lorae5.md | 16 ++ .../microcontrollers/m5stack-core2.md | 76 ++++++++ .../reference/microcontrollers/m5stack.md | 39 ++++ .../reference/microcontrollers/m5stamp-c3.md | 27 +++ .../reference/microcontrollers/maixbit.md | 41 +++++ .../microcontrollers/matrixportal-m4.md | 52 ++++++ .../microcontrollers/metro-m4-airlift.md | 46 +++++ .../reference/microcontrollers/microbit.md | 32 ++++ .../reference/microcontrollers/nano-33-ble.md | 39 ++++ .../reference/microcontrollers/nano-rp2040.md | 33 ++++ .../reference/microcontrollers/nicenano.md | 31 ++++ .../reference/microcontrollers/nodemcu.md | 16 ++ .../nrf52840-mdk-usb-dongle.md | 9 + .../microcontrollers/nrf52840-mdk.md | 10 + .../microcontrollers/nucleo-f103rb.md | 15 ++ .../microcontrollers/nucleo-f722ze.md | 16 ++ .../microcontrollers/nucleo-l031k6.md | 26 +++ .../microcontrollers/nucleo-l432kc.md | 28 +++ .../microcontrollers/nucleo-l552ze.md | 13 ++ .../microcontrollers/nucleo-wl55jc.md | 23 +++ .../reference/microcontrollers/p1am-100.md | 38 ++++ .../microcontrollers/particle-argon.md | 48 +++++ .../microcontrollers/particle-boron.md | 49 +++++ .../microcontrollers/particle-xenon.md | 41 +++++ .../reference/microcontrollers/pca10031.md | 10 + .../reference/microcontrollers/pca10040.md | 26 +++ .../reference/microcontrollers/pca10056.md | 26 +++ .../reference/microcontrollers/pca10059.md | 14 ++ .../docs/reference/microcontrollers/pico.md | 33 ++++ .../microcontrollers/pinetime-devkit0.md | 20 ++ .../reference/microcontrollers/pybadge.md | 50 +++++ .../reference/microcontrollers/pygamer.md | 52 ++++++ .../reference/microcontrollers/pyportal.md | 52 ++++++ .../docs/reference/microcontrollers/qtpy.md | 25 +++ .../reference/microcontrollers/reelboard.md | 24 +++ .../microcontrollers/stm32f4disco.md | 30 +++ .../docs/reference/microcontrollers/swan.md | 13 ++ .../reference/microcontrollers/teensy36.md | 69 +++++++ .../reference/microcontrollers/teensy40.md | 45 +++++ .../microcontrollers/thingplus-rp2040.md | 32 ++++ .../reference/microcontrollers/trinket-m0.md | 13 ++ .../reference/microcontrollers/wioterminal.md | 96 ++++++++++ .../docs/reference/microcontrollers/x9pro.md | 16 ++ .../reference/microcontrollers/xiao-ble.md | 27 +++ .../docs/reference/microcontrollers/xiao.md | 21 +++ doc-gen/main.go | 171 +++++++++++++++++- 76 files changed, 2796 insertions(+), 8 deletions(-) diff --git a/content/docs/reference/microcontrollers/arduino-mega1280.md b/content/docs/reference/microcontrollers/arduino-mega1280.md index 38da24e0..0242d88f 100644 --- a/content/docs/reference/microcontrollers/arduino-mega1280.md +++ b/content/docs/reference/microcontrollers/arduino-mega1280.md @@ -19,6 +19,81 @@ Note: the AVR backend of LLVM is still experimental so you may encounter bugs. | PWM | YES | YES | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `A0` | `PF0` | `ADC0` | +| `A1` | `PF1` | `ADC1` | +| `A2` | `PF2` | `ADC2` | +| `A3` | `PF3` | `ADC3` | +| `A4` | `PF4` | `ADC4` | +| `A5` | `PF5` | `ADC5` | +| `A6` | `PF6` | `ADC6` | +| `A7` | `PF7` | `ADC7` | +| `A8` | `PK0` | `ADC8` | +| `A9` | `PK1` | `ADC9` | +| `A10` | `PK2` | `ADC10` | +| `A11` | `PK3` | `ADC11` | +| `A12` | `PK4` | `ADC12` | +| `A13` | `PK5` | `ADC13` | +| `A14` | `PK6` | `ADC14` | +| `A15` | `PK7` | `ADC15` | +| `D0` | `PE0` | | +| `D1` | `PE1` | | +| `D2` | `PE4` | | +| `D3` | `PE5` | | +| `D4` | `PG5` | | +| `D5` | `PE3` | | +| `D6` | `PH3` | | +| `D7` | `PH4` | | +| `D8` | `PH5` | | +| `D9` | `PH6` | | +| `D10` | `PB4` | | +| `D11` | `PB5` | | +| `D12` | `PB6` | | +| `D13` | `PB7` | `LED` | +| `D14` | `PJ1` | | +| `D15` | `PJ0` | | +| `D16` | `PH1` | | +| `D17` | `PH0` | | +| `D18` | `PD3` | | +| `D19` | `PD2` | | +| `D20` | `PD1` | | +| `D21` | `PD0` | | +| `D22` | `PA0` | | +| `D23` | `PA1` | | +| `D24` | `PA2` | | +| `D25` | `PA3` | | +| `D26` | `PA4` | | +| `D27` | `PA5` | | +| `D28` | `PA6` | | +| `D29` | `PA7` | | +| `D30` | `PC7` | | +| `D31` | `PC6` | | +| `D32` | `PC5` | | +| `D33` | `PC4` | | +| `D34` | `PC3` | | +| `D35` | `PC2` | | +| `D36` | `PC1` | | +| `D37` | `PC0` | | +| `D38` | `PD7` | | +| `D39` | `PG2` | | +| `D40` | `PG1` | | +| `D41` | `PG0` | | +| `D42` | `PL7` | | +| `D43` | `PL6` | | +| `D44` | `PL5` | | +| `D45` | `PL4` | | +| `D46` | `PL3` | | +| `D47` | `PL2` | | +| `D48` | `PL1` | | +| `D49` | `PL0` | | +| `D50` | `PB3` | | +| `D51` | `PB2` | | +| `D52` | `PB1` | | +| `D53` | `PB0` | | + ## Machine Package Docs [Documentation for the machine package for the Arduino Mega 1280](../machine/arduino-mega1280) diff --git a/content/docs/reference/microcontrollers/arduino-mega2560.md b/content/docs/reference/microcontrollers/arduino-mega2560.md index 59f285e7..d5787afd 100644 --- a/content/docs/reference/microcontrollers/arduino-mega2560.md +++ b/content/docs/reference/microcontrollers/arduino-mega2560.md @@ -19,6 +19,81 @@ Note: the AVR backend of LLVM is still experimental so you may encounter bugs. | PWM | YES | Not yet | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `A0` | `PF0` | `ADC0` | +| `A1` | `PF1` | `ADC1` | +| `A2` | `PF2` | `ADC2` | +| `A3` | `PF3` | `ADC3` | +| `A4` | `PF4` | `ADC4` | +| `A5` | `PF5` | `ADC5` | +| `A6` | `PF6` | `ADC6` | +| `A7` | `PF7` | `ADC7` | +| `A8` | `PK0` | `ADC8` | +| `A9` | `PK1` | `ADC9` | +| `A10` | `PK2` | `ADC10` | +| `A11` | `PK3` | `ADC11` | +| `A12` | `PK4` | `ADC12` | +| `A13` | `PK5` | `ADC13` | +| `A14` | `PK6` | `ADC14` | +| `A15` | `PK7` | `ADC15` | +| `D0` | `PE0` | `UART_RX_PIN`, `UART0_RX_PIN` | +| `D1` | `PE1` | `UART_TX_PIN`, `UART0_TX_PIN` | +| `D2` | `PE4` | | +| `D3` | `PE5` | | +| `D4` | `PG5` | | +| `D5` | `PE3` | | +| `D6` | `PH3` | | +| `D7` | `PH4` | | +| `D8` | `PH5` | | +| `D9` | `PH6` | | +| `D10` | `PB4` | | +| `D11` | `PB5` | | +| `D12` | `PB6` | | +| `D13` | `PB7` | `LED` | +| `D14` | `PJ1` | `UART3_TX_PIN` | +| `D15` | `PJ0` | `UART3_RX_PIN` | +| `D16` | `PH1` | `UART2_TX_PIN` | +| `D17` | `PH0` | `UART2_RX_PIN` | +| `D18` | `PD3` | `UART1_TX_PIN` | +| `D19` | `PD2` | `UART1_RX_PIN` | +| `D20` | `PD1` | | +| `D21` | `PD0` | | +| `D22` | `PA0` | | +| `D23` | `PA1` | | +| `D24` | `PA2` | | +| `D25` | `PA3` | | +| `D26` | `PA4` | | +| `D27` | `PA5` | | +| `D28` | `PA6` | | +| `D29` | `PA7` | | +| `D30` | `PC7` | | +| `D31` | `PC6` | | +| `D32` | `PC5` | | +| `D33` | `PC4` | | +| `D34` | `PC3` | | +| `D35` | `PC2` | | +| `D36` | `PC1` | | +| `D37` | `PC0` | | +| `D38` | `PD7` | | +| `D39` | `PG2` | | +| `D40` | `PG1` | | +| `D41` | `PG0` | | +| `D42` | `PL7` | | +| `D43` | `PL6` | | +| `D44` | `PL5` | | +| `D45` | `PL4` | | +| `D46` | `PL3` | | +| `D47` | `PL2` | | +| `D48` | `PL1` | | +| `D49` | `PL0` | | +| `D50` | `PB3` | | +| `D51` | `PB2` | | +| `D52` | `PB1` | | +| `D53` | `PB0` | | + ## Machine Package Docs [Documentation for the machine package for the Arduino Mega 2560](../machine/arduino-mega2560) diff --git a/content/docs/reference/microcontrollers/arduino-mkr1000.md b/content/docs/reference/microcontrollers/arduino-mkr1000.md index db0d55e3..1eb6ac14 100644 --- a/content/docs/reference/microcontrollers/arduino-mkr1000.md +++ b/content/docs/reference/microcontrollers/arduino-mkr1000.md @@ -17,6 +17,35 @@ The [Arduino MKR1000](https://store.arduino.cc/arduino-mkr1000-wifi) is a very s | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA22` | | +| `D1` | `PA23` | | +| `D2` | `PA10` | `I2S_SCK_PIN` | +| `D3` | `PA11` | | +| `D4` | `PB10` | | +| `D5` | `PB11` | | +| `D6` | `PA20` | `LED` | +| `D7` | `PA21` | | +| `D8` | `PA16` | `SPI0_SDO_PIN` | +| `D9` | `PA17` | `SPI0_SCK_PIN` | +| `D10` | `PA19` | `SPI0_SDI_PIN` | +| `D11` | `PA08` | `SDA_PIN` | +| `D12` | `PA09` | `SCL_PIN` | +| `D13` | `PB23` | `RX0`, `UART_RX_PIN` | +| `D14` | `PB22` | `TX1`, `UART_TX_PIN` | +| `A0` | `PA02` | | +| `A1` | `PB02` | | +| `A2` | `PB03` | | +| `A3` | `PA04` | | +| `A4` | `PA05` | | +| `A5` | `PA06` | | +| `A6` | `PA07` | `I2S_SD_PIN` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | + ## Machine Package Docs [Documentation for the machine package for the Arduino MKR1000](../machine/arduino-mkr1000) diff --git a/content/docs/reference/microcontrollers/arduino-mkrwifi1010.md b/content/docs/reference/microcontrollers/arduino-mkrwifi1010.md index 8dd09836..3e79c7e1 100644 --- a/content/docs/reference/microcontrollers/arduino-mkrwifi1010.md +++ b/content/docs/reference/microcontrollers/arduino-mkrwifi1010.md @@ -17,6 +17,42 @@ The [Arduino MKR WiFi 1010](https://store.arduino.cc/usa/mkr-wifi-1010) is a ver | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA22` | `NINA_TX` | +| `D1` | `PA23` | `NINA_RX` | +| `D2` | `PA10` | `I2S_SCK_PIN` | +| `D3` | `PA11` | | +| `D4` | `PB10` | | +| `D5` | `PB11` | | +| `D6` | `PA20` | `LED` | +| `D7` | `PA21` | | +| `D8` | `PA16` | `SPI0_SDO_PIN` | +| `D9` | `PA17` | `SPI0_SCK_PIN` | +| `D10` | `PA19` | `SPI0_SDI_PIN` | +| `D11` | `PA08` | `SDA_PIN` | +| `D12` | `PA09` | `SCL_PIN` | +| `D13` | `PB23` | `RX0`, `UART_RX_PIN` | +| `D14` | `PB22` | `TX1`, `UART_TX_PIN` | +| `A0` | `PA02` | | +| `A1` | `PB02` | | +| `A2` | `PB03` | | +| `A3` | `PA04` | | +| `A4` | `PA05` | | +| `A5` | `PA06` | | +| `A6` | `PA07` | `I2S_SD_PIN` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `NINA_SDO` | `PA12` | | +| `NINA_SDI` | `PA13` | | +| `NINA_CS` | `PA14` | | +| `NINA_SCK` | `PA15` | | +| `NINA_GPIO0` | `PA27` | | +| `NINA_RESETN` | `PB08` | | +| `NINA_ACK` | `PA28` | | + ## Machine Package Docs [Documentation for the machine package for the Arduino MKR WiFi 1010](../machine/arduino-mkrwifi1010) diff --git a/content/docs/reference/microcontrollers/arduino-nano.md b/content/docs/reference/microcontrollers/arduino-nano.md index ffa305ef..22c5ac7a 100644 --- a/content/docs/reference/microcontrollers/arduino-nano.md +++ b/content/docs/reference/microcontrollers/arduino-nano.md @@ -19,6 +19,31 @@ Note: the AVR backend of LLVM is still experimental so you may encounter bugs. | PWM | YES | YES | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PD0` | `UART_RX_PIN` | +| `D1` | `PD1` | `UART_TX_PIN` | +| `D2` | `PD2` | | +| `D3` | `PD3` | | +| `D4` | `PD4` | | +| `D5` | `PD5` | | +| `D6` | `PD6` | | +| `D7` | `PD7` | | +| `D8` | `PB0` | | +| `D9` | `PB1` | | +| `D10` | `PB2` | | +| `D11` | `PB3` | | +| `D12` | `PB4` | | +| `D13` | `PB5` | `LED` | +| `ADC0` | `PC0` | | +| `ADC1` | `PC1` | | +| `ADC2` | `PC2` | | +| `ADC3` | `PC3` | | +| `ADC4` | `PC4` | | +| `ADC5` | `PC5` | | + ## Machine Package Docs [Documentation for the machine package for the Arduino Nano](../machine/arduino-nano) diff --git a/content/docs/reference/microcontrollers/arduino-nano33.md b/content/docs/reference/microcontrollers/arduino-nano33.md index 8b00e9d0..9f822b75 100644 --- a/content/docs/reference/microcontrollers/arduino-nano33.md +++ b/content/docs/reference/microcontrollers/arduino-nano33.md @@ -21,6 +21,44 @@ Peripherals: | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `RX0` | `PB23` | | +| `TX1` | `PB22` | | +| `D2` | `PB10` | | +| `D3` | `PB11` | | +| `D4` | `PA07` | | +| `D5` | `PA05` | | +| `D6` | `PA04` | | +| `D7` | `PA06` | | +| `D8` | `PA18` | | +| `D9` | `PA20` | | +| `D10` | `PA21` | | +| `D11` | `PA16` | `SPI0_SDO_PIN` | +| `D12` | `PA19` | `SPI0_SDI_PIN` | +| `D13` | `PA17` | `LED`, `SPI0_SCK_PIN` | +| `A0` | `PA02` | | +| `A1` | `PB02` | | +| `A2` | `PA11` | | +| `A3` | `PA10` | `I2S_SCK_PIN` | +| `A4` | `PB08` | `SDA_PIN` | +| `A5` | `PB09` | `SCL_PIN` | +| `A6` | `PA09` | | +| `A7` | `PB03` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `UART_TX_PIN` | `PA22` | `NINA_TX` | +| `UART_RX_PIN` | `PA23` | `NINA_RX` | +| `NINA_SDO` | `PA12` | | +| `NINA_SDI` | `PA13` | | +| `NINA_CS` | `PA14` | | +| `NINA_SCK` | `PA15` | | +| `NINA_GPIO0` | `PA27` | | +| `NINA_RESETN` | `PA08` | `I2S_SD_PIN` | +| `NINA_ACK` | `PA28` | | + ## Machine Package Docs [Documentation for the machine package for the Arduino Nano33 IoT](../machine/arduino-nano33) diff --git a/content/docs/reference/microcontrollers/arduino-zero.md b/content/docs/reference/microcontrollers/arduino-zero.md index ee77150b..36b74f6c 100644 --- a/content/docs/reference/microcontrollers/arduino-zero.md +++ b/content/docs/reference/microcontrollers/arduino-zero.md @@ -17,6 +17,43 @@ The [Arduino Zero](https://store.arduino.cc/arduino-zero) is a very small ARM de | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA11` | `I2S_WS_PIN`, `UART_RX_PIN` | +| `D1` | `PA10` | `I2S_SCK_PIN`, `UART_TX_PIN` | +| `D2` | `PA14` | | +| `D3` | `PA09` | | +| `D4` | `PA08` | | +| `D5` | `PA15` | | +| `D6` | `PA20` | | +| `D7` | `PA21` | | +| `D8` | `PA06` | | +| `D9` | `PA07` | `I2S_SD_PIN` | +| `D10` | `PA18` | | +| `D11` | `PA16` | `SPI0_SDO_PIN` | +| `D12` | `PA19` | `SPI0_SDI_PIN` | +| `D13` | `PA17` | `LED`, `LED1`, `SPI0_SCK_PIN` | +| `AREF` | `PA03` | | +| `ADC0` | `PA02` | | +| `ADC1` | `PB08` | | +| `ADC2` | `PB09` | | +| `ADC3` | `PA04` | | +| `ADC4` | `PA05` | | +| `ADC5` | `PB02` | | +| `LED2` | `PA27` | | +| `LED3` | `PB03` | | +| `SPI1_SDO_PIN` | `PB10` | | +| `SPI1_SDI_PIN` | `PA12` | | +| `SPI1_SCK_PIN` | `PB11` | | +| `SDA_PIN` | `PA22` | | +| `SCL_PIN` | `PA23` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `XIN32` | `PA00` | | +| `XOUT32` | `PA01` | | + ## Machine Package Docs [Documentation for the machine package for the Arduino Zero](../machine/arduino-zero) diff --git a/content/docs/reference/microcontrollers/arduino.md b/content/docs/reference/microcontrollers/arduino.md index c37ecac3..874ed25e 100644 --- a/content/docs/reference/microcontrollers/arduino.md +++ b/content/docs/reference/microcontrollers/arduino.md @@ -19,6 +19,31 @@ Note: the AVR backend of LLVM is still experimental so you may encounter bugs. | PWM | YES | YES | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PD0` | `UART_RX_PIN` | +| `D1` | `PD1` | `UART_TX_PIN` | +| `D2` | `PD2` | | +| `D3` | `PD3` | | +| `D4` | `PD4` | | +| `D5` | `PD5` | | +| `D6` | `PD6` | | +| `D7` | `PD7` | | +| `D8` | `PB0` | | +| `D9` | `PB1` | | +| `D10` | `PB2` | | +| `D11` | `PB3` | | +| `D12` | `PB4` | | +| `D13` | `PB5` | `LED` | +| `ADC0` | `PC0` | | +| `ADC1` | `PC1` | | +| `ADC2` | `PC2` | | +| `ADC3` | `PC3` | | +| `ADC4` | `PC4` | | +| `ADC5` | `PC5` | | + ## Machine Package Docs [Documentation for the machine package for the Arduino Uno](../machine/arduino) diff --git a/content/docs/reference/microcontrollers/atsame54-xpro.md b/content/docs/reference/microcontrollers/atsame54-xpro.md index f892a33c..de421451 100644 --- a/content/docs/reference/microcontrollers/atsame54-xpro.md +++ b/content/docs/reference/microcontrollers/atsame54-xpro.md @@ -17,6 +17,97 @@ The [Microchip SAM E54 Xplained Pro](https://www.microchip.com/developmenttools/ | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED` | `PC18` | `PDEC_INDEX`, `PIN_LED0` | +| `BUTTON` | `PB31` | `PIN_BTN0` | +| `EXT1_PIN3_ADC_P` | `PB04` | | +| `EXT1_PIN4_ADC_N` | `PB05` | | +| `EXT1_PIN5_GPIO1` | `PA06` | | +| `EXT1_PIN6_GPIO2` | `PA07` | | +| `EXT1_PIN7_PWM_P` | `PB08` | | +| `EXT1_PIN8_PWM_N` | `PB09` | | +| `EXT1_PIN9_IRQ` | `PB07` | `EXT1_PIN9_GPIO` | +| `EXT1_PIN10_SPI_SS_B` | `PA27` | `EXT1_PIN10_GPIO` | +| `EXT1_PIN11_TWI_SDA` | `PA22` | `CAN0_TX`, `PCC_DATA06`, `SDA0_PIN`, `SDA_PIN` | +| `EXT1_PIN12_TWI_SCL` | `PA23` | `CAN0_RX`, `PCC_DATA07`, `SCL0_PIN`, `SCL_PIN` | +| `EXT1_PIN13_UART_RX` | `PA05` | `UART_RX_PIN` | +| `EXT1_PIN14_UART_TX` | `PA04` | `UART_TX_PIN` | +| `EXT1_PIN15_SPI_SS_A` | `PB28` | `SPI0_SS_PIN` | +| `EXT1_PIN16_SPI_SDO` | `PB27` | `SPI0_SDO_PIN` | +| `EXT1_PIN17_SPI_SDI` | `PB29` | `SPI0_SDI_PIN` | +| `EXT1_PIN18_SPI_SCK` | `PB26` | `SPI0_SCK_PIN` | +| `EXT2_PIN3_ADC_P` | `PB00` | | +| `EXT2_PIN4_ADC_N` | `PA03` | | +| `EXT2_PIN5_GPIO1` | `PB01` | | +| `EXT2_PIN6_GPIO2` | `PB06` | | +| `EXT2_PIN7_PWM_P` | `PB14` | `PCC_DATA08` | +| `EXT2_PIN8_PWM_N` | `PB15` | `PCC_DATA09` | +| `EXT2_PIN9_IRQ` | `PD00` | `EXT2_PIN9_GPIO` | +| `EXT2_PIN10_SPI_SS_B` | `PB02` | `EXT2_PIN10_GPIO` | +| `EXT2_PIN11_TWI_SDA` | `PD08` | `EXT3_PIN11_TWI_SDA`, `I2C_SDA`, `PCC_I2C_SDA`, `SDA1_PIN`, `SDA2_PIN`, `SDA_DGI_PIN` | +| `EXT2_PIN12_TWI_SCL` | `PD09` | `EXT3_PIN12_TWI_SCL`, `I2C_SCL`, `PCC_I2C_SCL`, `SCL1_PIN`, `SCL2_PIN`, `SCL_DGI_PIN` | +| `EXT2_PIN13_UART_RX` | `PB17` | `UART2_RX_PIN` | +| `EXT2_PIN14_UART_TX` | `PB16` | `UART2_TX_PIN` | +| `EXT2_PIN15_SPI_SS_A` | `PC06` | `SPI1_SS_PIN` | +| `EXT2_PIN16_SPI_SDO` | `PC04` | `EXT3_PIN16_SPI_SDO`, `SPI1_SDO_PIN`, `SPI2_SDO_PIN`, `SPI_DGI_SDO_PIN` | +| `EXT2_PIN17_SPI_SDI` | `PC07` | `EXT3_PIN17_SPI_SDI`, `SPI1_SDI_PIN`, `SPI2_SDI_PIN`, `SPI_DGI_SDI_PIN` | +| `EXT2_PIN18_SPI_SCK` | `PC05` | `EXT3_PIN18_SPI_SCK`, `SPI1_SCK_PIN`, `SPI2_SCK_PIN`, `SPI_DGI_SCK_PIN` | +| `EXT3_PIN3_ADC_P` | `PC02` | | +| `EXT3_PIN4_ADC_N` | `PC03` | | +| `EXT3_PIN5_GPIO1` | `PC01` | | +| `EXT3_PIN6_GPIO2` | `PC10` | | +| `EXT3_PIN7_PWM_P` | `PD10` | | +| `EXT3_PIN8_PWM_N` | `PD11` | | +| `EXT3_PIN9_IRQ` | `PC30` | `EXT3_PIN9_GPIO` | +| `EXT3_PIN10_SPI_SS_B` | `PC31` | `EXT3_PIN10_GPIO` | +| `EXT3_PIN13_UART_RX` | `PC23` | `UART3_RX_PIN` | +| `EXT3_PIN14_UART_TX` | `PC22` | `UART3_TX_PIN` | +| `EXT3_PIN15_SPI_SS_A` | `PC14` | `SPI2_SS_PIN` | +| `SD_CARD_MCDA0` | `PB18` | | +| `SD_CARD_MCDA1` | `PB19` | | +| `SD_CARD_MCDA2` | `PB20` | | +| `SD_CARD_MCDA3` | `PB21` | | +| `SD_CARD_MCCK` | `PA21` | `PCC_DATA05` | +| `SD_CARD_MCCDA` | `PA20` | `PCC_DATA04` | +| `SD_CARD_DETECT` | `PD20` | | +| `SD_CARD_PROTECT` | `PD21` | | +| `CAN1_STANDBY` | `PC13` | `CAN_STANDBY` | +| `CAN1_TX` | `PB12` | `CAN_TX` | +| `CAN1_RX` | `PB13` | `CAN_RX` | +| `PDEC_PHASE_A` | `PC16` | | +| `PDEC_PHASE_B` | `PC17` | | +| `PCC_VSYNC_DEN1` | `PA12` | `ETHERNET_RX1` | +| `PCC_HSYNC_DEN2` | `PA13` | `ETHERNET_RX0` | +| `PCC_CLK` | `PA14` | `ETHERNET_TXCK` | +| `PCC_XCLK` | `PA15` | `ETHERNET_RXER` | +| `PCC_DATA00` | `PA16` | `PIN_QT_BUTTON` | +| `PCC_DATA01` | `PA17` | `ETHERNET_TXEN` | +| `PCC_DATA02` | `PA18` | `ETHERNET_TX0` | +| `PCC_DATA03` | `PA19` | `ETHERNET_TX1` | +| `PCC_RESET` | `PC12` | `ETHERNET_MDIO` | +| `PCC_PWDN` | `PC11` | `ETHERNET_MDC` | +| `ETHERNET_RXDV` | `PC20` | | +| `ETHERNET_INT` | `PD12` | | +| `ETHERNET_RESET` | `PC21` | | +| `PIN_ETH_LED` | `PC15` | | +| `PIN_ADC_DAC` | `PA02` | | +| `PIN_VBUS_DETECT` | `PC00` | | +| `PIN_USB_ID` | `PC19` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `UART4_TX_PIN` | `PB25` | | +| `UART4_RX_PIN` | `PB24` | | +| `SPI_DGI_SS_PIN` | `PD01` | | +| `QSPI_SCK` | `PB10` | | +| `QSPI_CS` | `PB11` | | +| `QSPI_DATA0` | `PA08` | | +| `QSPI_DATA1` | `PA09` | | +| `QSPI_DATA2` | `PA10` | | +| `QSPI_DATA3` | `PA11` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit SAM E54 Xplained Pro](../machine/atsame54-xpro) diff --git a/content/docs/reference/microcontrollers/bluepill.md b/content/docs/reference/microcontrollers/bluepill.md index 3860ca9b..c4a8530f 100644 --- a/content/docs/reference/microcontrollers/bluepill.md +++ b/content/docs/reference/microcontrollers/bluepill.md @@ -17,6 +17,45 @@ The [Bluepill](http://wiki.stm32duino.com/index.php?title=Blue_Pill) is a popula | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `C13` | `PC13` | `LED` | +| `C14` | `PC14` | | +| `C15` | `PC15` | | +| `A0` | `PA0` | `ADC0`, `BUTTON` | +| `A1` | `PA1` | `ADC1` | +| `A2` | `PA2` | `ADC2` | +| `A3` | `PA3` | `ADC3` | +| `A4` | `PA4` | `ADC4` | +| `A5` | `PA5` | `ADC5`, `SPI0_SCK_PIN` | +| `A6` | `PA6` | `ADC6`, `SPI0_SDI_PIN` | +| `A7` | `PA7` | `ADC7`, `SPI0_SDO_PIN` | +| `B0` | `PB0` | `ADC8` | +| `B1` | `PB1` | `ADC9` | +| `B10` | `PB10` | | +| `B11` | `PB11` | | +| `B12` | `PB12` | | +| `B13` | `PB13` | | +| `B14` | `PB14` | | +| `B15` | `PB15` | | +| `A8` | `PA8` | | +| `A9` | `PA9` | `UART_TX_PIN` | +| `A10` | `PA10` | `UART_RX_PIN` | +| `A11` | `PA11` | | +| `A12` | `PA12` | | +| `A13` | `PA13` | | +| `A14` | `PA14` | | +| `A15` | `PA15` | | +| `B3` | `PB3` | | +| `B4` | `PB4` | | +| `B5` | `PB5` | | +| `B6` | `PB6` | `UART_ALT_TX_PIN`, `I2C0_SCL_PIN` | +| `B7` | `PB7` | `UART_ALT_RX_PIN`, `I2C0_SDA_PIN` | +| `B8` | `PB8` | | +| `B9` | `PB9` | | + ## Machine Package Docs [Documentation for the machine package for the Bluepill](../machine/bluepill) diff --git a/content/docs/reference/microcontrollers/circuitplay-bluefruit.md b/content/docs/reference/microcontrollers/circuitplay-bluefruit.md index 65b0c692..83907b8e 100644 --- a/content/docs/reference/microcontrollers/circuitplay-bluefruit.md +++ b/content/docs/reference/microcontrollers/circuitplay-bluefruit.md @@ -18,6 +18,32 @@ The [Adafruit Circuit Playground Bluefruit](https://www.adafruit.com/product/433 | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `P0_30` | `A6`, `UART_RX_PIN` | +| `D1` | `P0_14` | `A7`, `UART_TX_PIN` | +| `D2` | `P0_05` | `A5`, `SDA_PIN` | +| `D3` | `P0_04` | `A4`, `SCL_PIN` | +| `D4` | `P1_02` | `BUTTONA`, `BUTTON` | +| `D5` | `P1_15` | `BUTTONB`, `BUTTON1` | +| `D6` | `P0_02` | `A1` | +| `D7` | `P1_06` | `SLIDER` | +| `D8` | `P0_13` | `NEOPIXELS`, `WS2812` | +| `D9` | `P0_29` | `A2` | +| `D10` | `P0_03` | `A3` | +| `D11` | `P1_04` | | +| `D12` | `P0_26` | | +| `D13` | `P1_14` | `LED` | +| `A8` | `P0_28` | `LIGHTSENSOR` | +| `A9` | `P0_31` | `TEMPSENSOR` | +| `SDA1_PIN` | `P1_10` | | +| `SCL1_PIN` | `P1_12` | | +| `SPI0_SCK_PIN` | `P0_19` | | +| `SPI0_SDO_PIN` | `P0_21` | | +| `SPI0_SDI_PIN` | `P0_23` | | + ## Machine Package Docs [Documentation for the machine package for the Circuit Playground Bluefruit](../machine/circuitplay-bluefruit) diff --git a/content/docs/reference/microcontrollers/circuitplay-express.md b/content/docs/reference/microcontrollers/circuitplay-express.md index 389a9ef2..6961d011 100644 --- a/content/docs/reference/microcontrollers/circuitplay-express.md +++ b/content/docs/reference/microcontrollers/circuitplay-express.md @@ -17,6 +17,36 @@ The [Adafruit Circuit Playground Express](https://www.adafruit.com/product/3333) | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PB09` | `A6`, `UART_RX_PIN` | +| `D1` | `PB08` | `A7`, `UART_TX_PIN` | +| `D2` | `PB02` | `A5`, `SDA_PIN` | +| `D3` | `PB03` | `A4`, `SCL_PIN` | +| `D4` | `PA28` | `BUTTONA`, `BUTTON` | +| `D5` | `PA14` | `BUTTONB`, `BUTTON1` | +| `D6` | `PA05` | `A1` | +| `D7` | `PA15` | `SLIDER` | +| `D8` | `PB23` | `NEOPIXELS`, `WS2812` | +| `D9` | `PA06` | `A2` | +| `D10` | `PA07` | `A3` | +| `D12` | `PA02` | `A0` | +| `D13` | `PA17` | `LED` | +| `A8` | `PA11` | `LIGHTSENSOR` | +| `A9` | `PA09` | `TEMPSENSOR` | +| `A10` | `PA04` | `PROXIMITY` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `SDA1_PIN` | `PA00` | | +| `SCL1_PIN` | `PA01` | | +| `SPI0_SCK_PIN` | `PA21` | | +| `SPI0_SDO_PIN` | `PA20` | | +| `SPI0_SDI_PIN` | `PA16` | | +| `I2S_SCK_PIN` | `PA10` | | +| `I2S_SD_PIN` | `PA08` | | + ## Machine Package Docs [Documentation for the machine package for the Circuit Playground Express](../machine/circuitplay-express) diff --git a/content/docs/reference/microcontrollers/clue.md b/content/docs/reference/microcontrollers/clue.md index 797bb76d..239a3204 100644 --- a/content/docs/reference/microcontrollers/clue.md +++ b/content/docs/reference/microcontrollers/clue.md @@ -18,6 +18,50 @@ The [Adafruit CLUE](https://www.adafruit.com/product/4500) is small ARM developm | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `P0_04` | `A2`, `UART_RX_PIN` | +| `D1` | `P0_05` | `A3`, `UART_TX_PIN` | +| `D2` | `P0_03` | `A4` | +| `D3` | `P0_28` | `A5` | +| `D4` | `P0_02` | `A6` | +| `D5` | `P1_02` | `BUTTON_LEFT` | +| `D6` | `P1_09` | | +| `D7` | `P0_07` | | +| `D8` | `P1_07` | | +| `D9` | `P0_27` | | +| `D10` | `P0_30` | `A7` | +| `D11` | `P1_10` | `BUTTON_RIGHT` | +| `D12` | `P0_31` | `A0` | +| `D13` | `P0_08` | `SPI0_SCK_PIN` | +| `D14` | `P0_06` | `SPI0_SDI_PIN` | +| `D15` | `P0_26` | `SPI0_SDO_PIN` | +| `D16` | `P0_29` | `A1` | +| `D17` | `P1_01` | `LED`, `LED1` | +| `D18` | `P0_16` | `NEOPIXEL`, `WS2812` | +| `D19` | `P0_25` | `SCL_PIN` | +| `D20` | `P0_24` | `SDA_PIN` | +| `D29` | `P0_14` | `TFT_SCK` | +| `D30` | `P0_15` | `TFT_SDO` | +| `D31` | `P0_12` | `TFT_CS` | +| `D32` | `P0_13` | `TFT_DC` | +| `D33` | `P1_03` | `TFT_RESET` | +| `D34` | `P1_05` | `TFT_LITE` | +| `D35` | `P0_00` | `PDM_DAT` | +| `D36` | `P0_01` | `PDM_CLK` | +| `D37` | `P0_19` | `QSPI_SCK` | +| `D38` | `P0_20` | `QSPI_CS` | +| `D39` | `P0_17` | `QSPI_DATA0` | +| `D40` | `P0_22` | `QSPI_DATA1` | +| `D41` | `P0_23` | `QSPI_DATA2` | +| `D42` | `P0_21` | `QSPI_DATA3` | +| `D43` | `P0_10` | `LED2` | +| `D44` | `P0_09` | | +| `D45` | `P1_06` | | +| `D46` | `P1_00` | `SPEAKER` | + ## Machine Package Docs [Documentation for the machine package for the Adafruit CLUE](../machine/clue) diff --git a/content/docs/reference/microcontrollers/d1mini.md b/content/docs/reference/microcontrollers/d1mini.md index 059df523..0d2230b4 100644 --- a/content/docs/reference/microcontrollers/d1mini.md +++ b/content/docs/reference/microcontrollers/d1mini.md @@ -18,6 +18,22 @@ The [Espressif ESP8266](https://www.espressif.com/en/products/socs/esp8266) d1mi | USBDevice | NO | NO | | WiFi | YES | Not Yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `GPIO16` | | +| `D1` | `GPIO5` | `SCL_PIN` | +| `D2` | `GPIO4` | `SDA_PIN` | +| `D3` | `GPIO0` | | +| `D4` | `GPIO2` | `LED` | +| `D5` | `GPIO14` | `SPI0_SCK_PIN` | +| `D6` | `GPIO12` | `SPI0_SDI_PIN` | +| `D7` | `GPIO13` | `SPI0_SDO_PIN` | +| `D8` | `GPIO15` | `SPI0_CS0_PIN` | +| `UART_TX_PIN` | `GPIO1` | | +| `UART_RX_PIN` | `GPIO3` | | + ## Machine Package Docs [Documentation for the machine package for the ESP8266 d1mini](../machine/d1mini) diff --git a/content/docs/reference/microcontrollers/digispark.md b/content/docs/reference/microcontrollers/digispark.md index da5dd90b..f7793c54 100644 --- a/content/docs/reference/microcontrollers/digispark.md +++ b/content/docs/reference/microcontrollers/digispark.md @@ -21,6 +21,17 @@ Note: the AVR backend of LLVM is still experimental so you may encounter bugs. | PWM | YES | Not yet | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `P0` | `PB0` | | +| `P1` | `PB1` | `LED` | +| `P2` | `PB2` | | +| `P3` | `PB3` | | +| `P4` | `PB4` | | +| `P5` | `PB5` | | + ## Machine Package Docs [Documentation for the machine package for the Digispark](../machine/digispark) diff --git a/content/docs/reference/microcontrollers/esp32-coreboard-v2.md b/content/docs/reference/microcontrollers/esp32-coreboard-v2.md index 4557bc83..b62e5f0d 100644 --- a/content/docs/reference/microcontrollers/esp32-coreboard-v2.md +++ b/content/docs/reference/microcontrollers/esp32-coreboard-v2.md @@ -19,6 +19,43 @@ The esp32-coreboard-v2 is a development board based on the [Espressif ESP32](htt | WiFi | YES | Not Yet | | Bluetooth | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `CLK` | `GPIO6` | | +| `CMD` | `GPIO11` | | +| `IO0` | `GPIO0` | `PWM1_PIN` | +| `IO1` | `GPIO1` | `TXD`, `UART_TX_PIN` | +| `IO2` | `GPIO2` | `LED`, `PWM0_PIN` | +| `IO3` | `GPIO3` | `RXD`, `UART_RX_PIN` | +| `IO4` | `GPIO4` | `PWM2_PIN` | +| `IO5` | `GPIO5` | `SPI0_CS0_PIN` | +| `IO9` | `GPIO9` | `SD2`, `UART1_TX_PIN` | +| `IO10` | `GPIO10` | `SD3`, `UART1_RX_PIN` | +| `IO16` | `GPIO16` | | +| `IO17` | `GPIO17` | | +| `IO18` | `GPIO18` | `SPI0_SCK_PIN` | +| `IO19` | `GPIO19` | `SPI0_SDI_PIN` | +| `IO21` | `GPIO21` | `SDA_PIN` | +| `IO22` | `GPIO22` | `SCL_PIN` | +| `IO23` | `GPIO23` | `SPI0_SDO_PIN` | +| `IO25` | `GPIO25` | | +| `IO26` | `GPIO26` | | +| `IO27` | `GPIO27` | | +| `IO32` | `GPIO32` | | +| `IO33` | `GPIO33` | | +| `IO34` | `GPIO34` | `ADC0` | +| `IO35` | `GPIO35` | `ADC1` | +| `IO36` | `GPIO36` | `SVP`, `ADC2` | +| `IO39` | `GPIO39` | `SVN`, `ADC3` | +| `SD0` | `GPIO7` | | +| `SD1` | `GPIO8` | | +| `TCK` | `GPIO13` | | +| `TD0` | `GPIO15` | | +| `TDI` | `GPIO12` | | +| `TMS` | `GPIO14` | | + ## Machine Package Docs [Documentation for the machine package for the ESP32 Core board v2](../machine/esp32-coreboard-v2) diff --git a/content/docs/reference/microcontrollers/esp32-mini32.md b/content/docs/reference/microcontrollers/esp32-mini32.md index a6cd44da..c8d52b8c 100644 --- a/content/docs/reference/microcontrollers/esp32-mini32.md +++ b/content/docs/reference/microcontrollers/esp32-mini32.md @@ -19,6 +19,43 @@ The mini32 is a small development board based on the popular [Espressif ESP32](h | WiFi | YES | Not Yet | | Bluetooth | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `CLK` | `GPIO6` | | +| `CMD` | `GPIO11` | | +| `IO0` | `GPIO0` | `PWM1_PIN` | +| `IO1` | `GPIO1` | `TXD`, `UART_TX_PIN` | +| `IO2` | `GPIO2` | `LED`, `PWM0_PIN` | +| `IO3` | `GPIO3` | `RXD`, `UART_RX_PIN` | +| `IO4` | `GPIO4` | `PWM2_PIN` | +| `IO5` | `GPIO5` | `SPI0_CS0_PIN` | +| `IO9` | `GPIO9` | `SD2`, `UART1_TX_PIN` | +| `IO10` | `GPIO10` | `SD3`, `UART1_RX_PIN` | +| `IO16` | `GPIO16` | | +| `IO17` | `GPIO17` | | +| `IO18` | `GPIO18` | `SPI0_SCK_PIN` | +| `IO19` | `GPIO19` | `SPI0_SDI_PIN` | +| `IO21` | `GPIO21` | `SDA_PIN` | +| `IO22` | `GPIO22` | `SCL_PIN` | +| `IO23` | `GPIO23` | `SPI0_SDO_PIN` | +| `IO25` | `GPIO25` | | +| `IO26` | `GPIO26` | | +| `IO27` | `GPIO27` | | +| `IO32` | `GPIO32` | | +| `IO33` | `GPIO33` | | +| `IO34` | `GPIO34` | `ADC0` | +| `IO35` | `GPIO35` | `ADC1` | +| `IO36` | `GPIO36` | `SVP`, `ADC2` | +| `IO39` | `GPIO39` | `SVN`, `ADC3` | +| `SD0` | `GPIO7` | | +| `SD1` | `GPIO8` | | +| `TCK` | `GPIO13` | | +| `TD0` | `GPIO15` | | +| `TDI` | `GPIO12` | | +| `TMS` | `GPIO14` | | + ## Machine Package Docs [Documentation for the machine package for the ESP32-mini32](../machine/esp32-mini32) diff --git a/content/docs/reference/microcontrollers/feather-m0.md b/content/docs/reference/microcontrollers/feather-m0.md index a3fa7569..754a2784 100644 --- a/content/docs/reference/microcontrollers/feather-m0.md +++ b/content/docs/reference/microcontrollers/feather-m0.md @@ -17,6 +17,36 @@ The [Adafruit Feather M0](https://www.adafruit.com/product/3403) is a tiny ARM d | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA11` | | +| `D1` | `PA10` | `I2S_SCK_PIN` | +| `D3` | `PA09` | | +| `D4` | `PA08` | `I2S_SD_PIN` | +| `D5` | `PA15` | | +| `D6` | `PA20` | | +| `D8` | `PA06` | | +| `D9` | `PA07` | | +| `D10` | `PA18` | `UART_TX_PIN` | +| `D11` | `PA16` | `UART_RX_PIN` | +| `D12` | `PA19` | | +| `D13` | `PA17` | `LED` | +| `A0` | `PA02` | | +| `A1` | `PB08` | | +| `A2` | `PB09` | | +| `A3` | `PA04` | | +| `A4` | `PA05` | | +| `A5` | `PB02` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `SDA_PIN` | `PA22` | | +| `SCL_PIN` | `PA23` | | +| `SPI0_SCK_PIN` | `PB11` | | +| `SPI0_SDO_PIN` | `PB10` | | +| `SPI0_SDI_PIN` | `PA12` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Feather M0](../machine/feather-m0) diff --git a/content/docs/reference/microcontrollers/feather-m4-can.md b/content/docs/reference/microcontrollers/feather-m4-can.md index d9355dc9..1d0b3c4a 100644 --- a/content/docs/reference/microcontrollers/feather-m4-can.md +++ b/content/docs/reference/microcontrollers/feather-m4-can.md @@ -17,6 +17,46 @@ The [Adafruit Feather M4 CAN](https://www.adafruit.com/product/4759) is a tiny A | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PB17` | `UART_RX_PIN` | +| `D1` | `PB16` | `UART_TX_PIN` | +| `D4` | `PA14` | | +| `D5` | `PA16` | | +| `D6` | `PA18` | | +| `D7` | `PB03` | | +| `D8` | `PB02` | `NEOPIXELS`, `WS2812` | +| `D9` | `PA19` | | +| `D10` | `PA20` | | +| `D11` | `PA21` | | +| `D12` | `PA22` | `CAN0_TX` | +| `D13` | `PA23` | `LED`, `CAN0_RX` | +| `D21` | `PA13` | `SCL_PIN` | +| `D22` | `PA12` | `SDA_PIN` | +| `D23` | `PB22` | `SPI0_SDI_PIN` | +| `D24` | `PB23` | `SPI0_SDO_PIN` | +| `D25` | `PA17` | `SPI0_SCK_PIN` | +| `A0` | `PA02` | | +| `A1` | `PA05` | | +| `A2` | `PB08` | | +| `A3` | `PB09` | | +| `A4` | `PA04` | `UART2_TX_PIN` | +| `A5` | `PA06` | `UART2_RX_PIN` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `CAN1_STANDBY` | `PB12` | `CAN_STANDBY`, `CAN_S` | +| `CAN1_TX` | `PB14` | `CAN_TX` | +| `CAN1_RX` | `PB15` | `CAN_RX` | +| `BOOST_EN` | `PB13` | | +| `QSPI_SCK` | `PB10` | | +| `QSPI_CS` | `PB11` | | +| `QSPI_DATA0` | `PA08` | | +| `QSPI_DATA1` | `PA09` | | +| `QSPI_DATA2` | `PA10` | | +| `QSPI_DATA3` | `PA11` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Feather M4 CAN](../machine/feather-m4-can) diff --git a/content/docs/reference/microcontrollers/feather-m4.md b/content/docs/reference/microcontrollers/feather-m4.md index ee465088..d0390ceb 100644 --- a/content/docs/reference/microcontrollers/feather-m4.md +++ b/content/docs/reference/microcontrollers/feather-m4.md @@ -17,6 +17,41 @@ The [Adafruit Feather M4](https://www.adafruit.com/product/3857) is a tiny ARM d | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PB17` | `UART_RX_PIN` | +| `D1` | `PB16` | `UART_TX_PIN` | +| `D4` | `PA14` | | +| `D5` | `PA16` | | +| `D6` | `PA18` | | +| `D8` | `PB03` | `WS2812` | +| `D9` | `PA19` | | +| `D10` | `PA20` | | +| `D11` | `PA21` | | +| `D12` | `PA22` | | +| `D13` | `PA23` | `LED` | +| `D21` | `PA13` | `SCL_PIN` | +| `D22` | `PA12` | `SDA_PIN` | +| `D23` | `PB22` | `SPI0_SDI_PIN` | +| `D24` | `PB23` | `SPI0_SDO_PIN` | +| `D25` | `PA17` | `SPI0_SCK_PIN` | +| `A0` | `PA02` | | +| `A1` | `PA05` | | +| `A2` | `PB08` | | +| `A3` | `PB09` | | +| `A4` | `PA04` | `UART2_TX_PIN` | +| `A5` | `PA06` | `UART2_RX_PIN` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `QSPI_SCK` | `PB10` | | +| `QSPI_CS` | `PB11` | | +| `QSPI_DATA0` | `PA08` | | +| `QSPI_DATA1` | `PA09` | | +| `QSPI_DATA2` | `PA10` | | +| `QSPI_DATA3` | `PA11` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Feather M4](../machine/feather-m4) diff --git a/content/docs/reference/microcontrollers/feather-nrf52840-sense.md b/content/docs/reference/microcontrollers/feather-nrf52840-sense.md index 2401dd12..67c6c308 100644 --- a/content/docs/reference/microcontrollers/feather-nrf52840-sense.md +++ b/content/docs/reference/microcontrollers/feather-nrf52840-sense.md @@ -18,6 +18,45 @@ The [Adafruit Feather nRF52840 Sense](https://www.adafruit.com/product/4516) is | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `P0_25` | `UART_TX_PIN` | +| `D1` | `P0_24` | `UART_RX_PIN` | +| `D2` | `P0_10` | | +| `D3` | `P1_11` | | +| `D4` | `P1_10` | `LED2` | +| `D5` | `P1_08` | | +| `D6` | `P0_07` | | +| `D7` | `P1_02` | `BUTTON` | +| `D8` | `P0_16` | `NEOPIXEL`, `WS2812` | +| `D9` | `P0_26` | | +| `D10` | `P0_27` | | +| `D11` | `P0_06` | | +| `D12` | `P0_08` | | +| `D13` | `P1_09` | `LED`, `LED1` | +| `D14` | `P0_04` | `A0` | +| `D15` | `P0_05` | `A1` | +| `D16` | `P0_30` | `A2` | +| `D17` | `P0_28` | `A3` | +| `D18` | `P0_02` | `A4` | +| `D19` | `P0_03` | `A5` | +| `D20` | `P0_29` | `A6` | +| `D21` | `P0_31` | `A7` | +| `D22` | `P0_12` | `SDA_PIN` | +| `D23` | `P0_11` | `SCL_PIN` | +| `D24` | `P0_15` | `SPI0_SDI_PIN` | +| `D25` | `P0_13` | `SPI0_SDO_PIN` | +| `D26` | `P0_14` | `SPI0_SCK_PIN` | +| `D27` | `P0_19` | `QSPI_SCK` | +| `D28` | `P0_20` | `QSPI_CS` | +| `D29` | `P0_17` | `QSPI_DATA0` | +| `D30` | `P0_22` | `QSPI_DATA1` | +| `D31` | `P0_23` | `QSPI_DATA2` | +| `D32` | `P0_21` | `QSPI_DATA3` | +| `D33` | `P0_09` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Feather nRF52840 Sense](../machine/feather-nrf52840-sense) diff --git a/content/docs/reference/microcontrollers/feather-nrf52840.md b/content/docs/reference/microcontrollers/feather-nrf52840.md index c9a8b00f..3ff61ba7 100644 --- a/content/docs/reference/microcontrollers/feather-nrf52840.md +++ b/content/docs/reference/microcontrollers/feather-nrf52840.md @@ -18,6 +18,45 @@ The [Adafruit Feather nRF52840](https://www.adafruit.com/product/4500) is a smal | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `P0_25` | `UART_TX_PIN` | +| `D1` | `P0_24` | `UART_RX_PIN` | +| `D2` | `P0_10` | | +| `D3` | `P1_15` | `LED`, `LED1` | +| `D4` | `P1_10` | `LED2` | +| `D5` | `P1_08` | | +| `D6` | `P0_07` | | +| `D7` | `P1_02` | `BUTTON` | +| `D8` | `P0_16` | `NEOPIXEL`, `WS2812` | +| `D9` | `P0_26` | | +| `D10` | `P0_27` | | +| `D11` | `P0_06` | | +| `D12` | `P0_08` | | +| `D13` | `P1_09` | | +| `D14` | `P0_04` | `A0` | +| `D15` | `P0_05` | `A1` | +| `D16` | `P0_30` | `A2` | +| `D17` | `P0_28` | `A3` | +| `D18` | `P0_02` | `A4` | +| `D19` | `P0_03` | `A5` | +| `D20` | `P0_29` | `A6` | +| `D21` | `P0_31` | `A7` | +| `D22` | `P0_12` | `SDA_PIN` | +| `D23` | `P0_11` | `SCL_PIN` | +| `D24` | `P0_15` | `SPI0_SDI_PIN` | +| `D25` | `P0_13` | `SPI0_SDO_PIN` | +| `D26` | `P0_14` | `SPI0_SCK_PIN` | +| `D27` | `P0_19` | `QSPI_SCK` | +| `D28` | `P0_20` | `QSPI_CS` | +| `D29` | `P0_17` | `QSPI_DATA0` | +| `D30` | `P0_22` | `QSPI_DATA1` | +| `D31` | `P0_23` | `QSPI_DATA2` | +| `D32` | `P0_21` | `QSPI_DATA3` | +| `D33` | `P0_09` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Feather nRF52840](../machine/feather-nrf52840) diff --git a/content/docs/reference/microcontrollers/feather-rp2040.md b/content/docs/reference/microcontrollers/feather-rp2040.md index ad25d6bc..8993d515 100644 --- a/content/docs/reference/microcontrollers/feather-rp2040.md +++ b/content/docs/reference/microcontrollers/feather-rp2040.md @@ -17,6 +17,32 @@ The [Adafruit Feather RP2040](https://www.adafruit.com/product/4884) is a tiny d | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D4` | `GPIO6` | | +| `D5` | `GPIO7` | | +| `D6` | `GPIO8` | `UART1_TX_PIN` | +| `D9` | `GPIO9` | `UART1_RX_PIN` | +| `D10` | `GPIO10` | `SPI1_SCK_PIN` | +| `D11` | `GPIO11` | `SPI1_SDO_PIN` | +| `D12` | `GPIO12` | `SPI1_SDI_PIN` | +| `D13` | `GPIO13` | `LED` | +| `D24` | `GPIO24` | `I2C0_SDA_PIN` | +| `D25` | `GPIO25` | `I2C0_SCL_PIN` | +| `A0` | `GPIO26` | `ADC0` | +| `A1` | `GPIO27` | `ADC1` | +| `A2` | `GPIO28` | `ADC2` | +| `A3` | `GPIO29` | `ADC3` | +| `I2C1_SDA_PIN` | `GPIO2` | `SDA_PIN` | +| `I2C1_SCL_PIN` | `GPIO3` | `SCL_PIN` | +| `SPI0_SCK_PIN` | `GPIO18` | | +| `SPI0_SDO_PIN` | `GPIO19` | | +| `SPI0_SDI_PIN` | `GPIO20` | | +| `UART0_TX_PIN` | `GPIO0` | `UART_TX_PIN` | +| `UART0_RX_PIN` | `GPIO1` | `UART_RX_PIN` | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Feather RP2040](../machine/feather-rp2040) diff --git a/content/docs/reference/microcontrollers/feather-stm32f405.md b/content/docs/reference/microcontrollers/feather-stm32f405.md index 1233b392..beba2153 100644 --- a/content/docs/reference/microcontrollers/feather-stm32f405.md +++ b/content/docs/reference/microcontrollers/feather-stm32f405.md @@ -17,6 +17,50 @@ The [Adafruit Feather STM32F405](https://www.adafruit.com/product/4382) is a tin | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PB11` | `UART1_RX_PIN`, `UART0_RX_PIN`, `UART_RX_PIN`, `I2C2_SDA_PIN` | +| `D1` | `PB10` | `UART1_TX_PIN`, `UART0_TX_PIN`, `UART_TX_PIN`, `I2C2_SCL_PIN` | +| `D2` | `PB3` | `SPI2_SCK_PIN` | +| `D3` | `PB4` | `SPI2_SDI_PIN` | +| `D4` | `PB5` | `SPI2_SDO_PIN` | +| `D5` | `PC7` | `UART2_RX_PIN` | +| `D6` | `PC6` | `UART2_TX_PIN` | +| `D7` | `PA15` | | +| `D8` | `PC0` | `LED_NEOPIXEL`, `WS2812` | +| `D9` | `PB8` | `I2C3_SDA_PIN` | +| `D10` | `PB9` | `I2C3_SCL_PIN` | +| `D11` | `PC3` | | +| `D12` | `PC2` | | +| `D13` | `PC1` | `LED_RED`, `LED_BUILTIN`, `LED` | +| `D14` | `PB7` | `UART3_RX_PIN`, `I2C1_SDA_PIN`, `I2C0_SDA_PIN`, `I2C_SDA_PIN`, `SDA_PIN` | +| `D15` | `PB6` | `UART3_TX_PIN`, `I2C1_SCL_PIN`, `I2C0_SCL_PIN`, `I2C_SCL_PIN`, `SCL_PIN` | +| `D16` | `PA4` | `A0` | +| `D17` | `PA5` | `A1`, `SPI3_SCK_PIN` | +| `D18` | `PA6` | `A2`, `SPI3_SDI_PIN` | +| `D19` | `PA7` | `A3`, `SPI3_SDO_PIN` | +| `D20` | `PC4` | `A4` | +| `D21` | `PC5` | `A5` | +| `D22` | `PA3` | `A6` | +| `D23` | `PB13` | `SPI1_SCK_PIN`, `SPI0_SCK_PIN`, `SPI_SCK_PIN` | +| `D24` | `PB14` | `SPI1_SDI_PIN`, `SPI0_SDI_PIN`, `SPI_SDI_PIN` | +| `D25` | `PB15` | `SPI1_SDO_PIN`, `SPI0_SDO_PIN`, `SPI_SDO_PIN` | +| `D26` | `PC8` | | +| `D27` | `PC9` | | +| `D28` | `PC10` | | +| `D29` | `PC11` | | +| `D30` | `PC12` | | +| `D31` | `PD2` | | +| `D32` | `PB12` | | +| `D33` | `PC14` | | +| `D34` | `PC15` | | +| `D35` | `PA11` | | +| `D36` | `PA12` | | +| `D37` | `PA13` | | +| `D38` | `PA14` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Feather STM32F405](../machine/feather-stm32f405) diff --git a/content/docs/reference/microcontrollers/grandcentral-m4.md b/content/docs/reference/microcontrollers/grandcentral-m4.md index 86f9b74e..2baf5f0b 100644 --- a/content/docs/reference/microcontrollers/grandcentral-m4.md +++ b/content/docs/reference/microcontrollers/grandcentral-m4.md @@ -17,6 +17,100 @@ The [Adafruit Grand Central M4](https://www.adafruit.com/product/4064) is a tiny | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PB25` | `UART1_RX_PIN`, `UART_RX_PIN` | +| `D1` | `PB24` | `UART1_TX_PIN`, `UART_TX_PIN` | +| `D2` | `PC18` | | +| `D3` | `PC19` | | +| `D4` | `PC20` | | +| `D5` | `PC21` | | +| `D6` | `PD20` | | +| `D7` | `PD21` | | +| `D8` | `PB18` | | +| `D9` | `PB02` | | +| `D10` | `PB22` | | +| `D11` | `PB23` | | +| `D12` | `PB00` | | +| `D13` | `PB01` | `D87`, `LED_PIN`, `LED` | +| `D14` | `PB16` | `UART4_TX_PIN`, `I2S0_SCK_PIN`, `I2S_SCK_PIN` | +| `D15` | `PB17` | `UART4_RX_PIN`, `I2S0_MCK_PIN` | +| `D16` | `PC22` | `UART3_TX_PIN` | +| `D17` | `PC23` | `UART3_RX_PIN` | +| `D18` | `PB12` | `UART2_TX_PIN` | +| `D19` | `PB13` | `UART2_RX_PIN` | +| `D20` | `PB20` | `D62`, `I2C0_SDA_PIN`, `I2C_SDA_PIN`, `SDA_PIN` | +| `D21` | `PB21` | `D63`, `I2C0_SCL_PIN`, `I2C_SCL_PIN`, `SCL_PIN` | +| `D22` | `PD12` | | +| `D23` | `PA15` | | +| `D24` | `PC17` | `I2C1_SCL_PIN` | +| `D25` | `PC16` | `I2C1_SDA_PIN` | +| `D26` | `PA12` | | +| `D27` | `PA13` | | +| `D28` | `PA14` | | +| `D29` | `PB19` | | +| `D30` | `PA23` | | +| `D31` | `PA22` | `I2S0_SDI_PIN` | +| `D32` | `PA21` | `I2S0_SDO_PIN`, `I2S_SD_PIN` | +| `D33` | `PA20` | `I2S0_FS_PIN`, `I2S_WS_PIN` | +| `D34` | `PA19` | | +| `D35` | `PA18` | | +| `D36` | `PA17` | | +| `D37` | `PA16` | | +| `D38` | `PB15` | | +| `D39` | `PB14` | | +| `D40` | `PC13` | | +| `D41` | `PC12` | | +| `D42` | `PC15` | | +| `D43` | `PC14` | | +| `D44` | `PC11` | | +| `D45` | `PC10` | | +| `D46` | `PC06` | | +| `D47` | `PC07` | | +| `D48` | `PC04` | | +| `D49` | `PC05` | | +| `D50` | `PD11` | `D64`, `SPI0_SDI_PIN`, `SPI_SDI_PIN` | +| `D51` | `PD08` | `D65`, `SPI0_SDO_PIN`, `SPI_SDO_PIN` | +| `D52` | `PD09` | `D66`, `SPI0_SCK_PIN`, `SPI_SCK_PIN` | +| `D53` | `PD10` | `SPI0_CS_PIN`, `SPI_CS_PIN` | +| `D54` | `PB05` | `A8` | +| `D55` | `PB06` | `A9` | +| `D56` | `PB07` | `A10` | +| `D57` | `PB08` | `A11` | +| `D58` | `PB09` | `A12` | +| `D59` | `PA04` | `A13` | +| `D60` | `PA06` | `A14` | +| `D61` | `PA07` | `A15` | +| `D67` | `PA02` | `D85`, `A0` | +| `D68` | `PA05` | `D86`, `A1` | +| `D69` | `PB03` | `A2` | +| `D70` | `PC00` | `A3` | +| `D71` | `PC01` | `A4` | +| `D72` | `PC02` | `A5` | +| `D73` | `PC03` | `A6` | +| `D74` | `PB04` | `A7` | +| `D75` | `PC31` | `UART_RX_LED_PIN`, `LED_RX` | +| `D76` | `PC30` | `UART_TX_LED_PIN`, `LED_TX` | +| `D77` | `PA27` | `USBCDC_HOSTEN_PIN` | +| `D78` | `PA24` | `USBCDC_DM_PIN` | +| `D79` | `PA25` | `USBCDC_DP_PIN` | +| `D80` | `PB29` | `SPI1_SDI_PIN`, `SD0_SDI_PIN`, `SDCARD_SDI_PIN` | +| `D81` | `PB27` | `SPI1_SCK_PIN`, `SD0_SCK_PIN`, `SDCARD_SCK_PIN` | +| `D82` | `PB26` | `SPI1_SDO_PIN`, `SD0_SDO_PIN`, `SDCARD_SDO_PIN` | +| `D83` | `PB28` | `SD0_CS_PIN`, `SDCARD_CS_PIN` | +| `D84` | `PA03` | `AREF` | +| `D88` | `PC24` | `NEOPIXEL_PIN`, `NEOPIXEL`, `WS2812` | +| `D89` | `PB10` | `QSPI_SCK` | +| `D90` | `PB11` | `QSPI_CS` | +| `D91` | `PA08` | `QSPI_DATA0` | +| `D92` | `PA09` | `QSPI_DATA1` | +| `D93` | `PA10` | `QSPI_DATA2` | +| `D94` | `PA11` | `QSPI_DATA3` | +| `D95` | `PB31` | `SD0_DET_PIN`, `SDCARD_DET_PIN` | +| `D96` | `PB30` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Grand Central M4](../machine/grandcentral-m4) diff --git a/content/docs/reference/microcontrollers/hifive1b.md b/content/docs/reference/microcontrollers/hifive1b.md index bccc9c08..425001f0 100644 --- a/content/docs/reference/microcontrollers/hifive1b.md +++ b/content/docs/reference/microcontrollers/hifive1b.md @@ -17,6 +17,28 @@ The [HiFive1 Rev B](https://www.sifive.com/boards/hifive1-rev-b) is low-cost, Ar | PWM | YES | Not yet | | USBDevice | ? | ? | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `P16` | `D7`, `UART_RX_PIN` | +| `D1` | `P17` | `UART_TX_PIN` | +| `D2` | `P18` | | +| `D3` | `P19` | `LED2`, `LED_GREEN` | +| `D4` | `P20` | | +| `D5` | `P21` | `LED3`, `LED_BLUE` | +| `D6` | `P22` | `LED`, `LED1`, `LED_RED` | +| `D9` | `P01` | | +| `D10` | `P02` | | +| `D11` | `P03` | `SPI1_SDO_PIN` | +| `D12` | `P04` | `SPI1_SDI_PIN` | +| `D13` | `P05` | `SPI1_SCK_PIN` | +| `D15` | `P09` | | +| `D16` | `P10` | | +| `D17` | `P11` | | +| `D18` | `P12` | `I2C0_SDA_PIN` | +| `D19` | `P13` | `I2C0_SCL_PIN` | + ## Machine Package Docs [Documentation for the machine package for the SiFive HiFive1b](../machine/hifive1b) diff --git a/content/docs/reference/microcontrollers/itsybitsy-m0.md b/content/docs/reference/microcontrollers/itsybitsy-m0.md index 8afcd822..b5adf704 100644 --- a/content/docs/reference/microcontrollers/itsybitsy-m0.md +++ b/content/docs/reference/microcontrollers/itsybitsy-m0.md @@ -17,6 +17,42 @@ The [Adafruit ItsyBitsy M0](https://www.adafruit.com/product/3727) is very compa | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA11` | | +| `D1` | `PA10` | `I2S_SCK_PIN` | +| `D2` | `PA14` | | +| `D3` | `PA09` | | +| `D4` | `PA08` | `I2S_SD_PIN` | +| `D5` | `PA15` | | +| `D6` | `PA20` | | +| `D7` | `PA21` | | +| `D8` | `PA06` | | +| `D9` | `PA07` | | +| `D10` | `PA18` | `UART_TX_PIN` | +| `D11` | `PA16` | `UART_RX_PIN` | +| `D12` | `PA19` | | +| `D13` | `PA17` | `LED` | +| `A0` | `PA02` | | +| `A1` | `PB08` | | +| `A2` | `PB09` | | +| `A3` | `PA04` | | +| `A4` | `PA05` | | +| `A5` | `PB02` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `SDA_PIN` | `PA22` | | +| `SCL_PIN` | `PA23` | | +| `SPI0_SCK_PIN` | `PB11` | | +| `SPI0_SDO_PIN` | `PB10` | | +| `SPI0_SDI_PIN` | `PA12` | | +| `SPI1_CS_PIN` | `PA27` | | +| `SPI1_SCK_PIN` | `PB23` | | +| `SPI1_SDO_PIN` | `PB22` | | +| `SPI1_SDI_PIN` | `PB03` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit ItsyBitsy M0](../machine/itsybitsy-m0) diff --git a/content/docs/reference/microcontrollers/itsybitsy-m4.md b/content/docs/reference/microcontrollers/itsybitsy-m4.md index 1f1a638d..da4fb29a 100644 --- a/content/docs/reference/microcontrollers/itsybitsy-m4.md +++ b/content/docs/reference/microcontrollers/itsybitsy-m4.md @@ -17,6 +17,44 @@ The [Adafruit ItsyBitsy M4](https://www.adafruit.com/product/3800) is very compa | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA16` | `UART_RX_PIN` | +| `D1` | `PA17` | `UART_TX_PIN` | +| `D2` | `PA07` | `UART2_RX_PIN` | +| `D3` | `PB22` | | +| `D4` | `PA14` | | +| `D5` | `PA15` | | +| `D6` | `PB02` | | +| `D7` | `PA18` | | +| `D8` | `PB03` | | +| `D9` | `PA19` | | +| `D10` | `PA20` | | +| `D11` | `PA21` | | +| `D12` | `PA23` | | +| `D13` | `PA22` | `LED` | +| `A0` | `PA02` | | +| `A1` | `PA05` | | +| `A2` | `PB08` | | +| `A3` | `PB09` | | +| `A4` | `PA04` | `UART2_TX_PIN` | +| `A5` | `PA06` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `SDA_PIN` | `PA12` | | +| `SCL_PIN` | `PA13` | | +| `SPI0_SCK_PIN` | `PA01` | | +| `SPI0_SDO_PIN` | `PA00` | | +| `SPI0_SDI_PIN` | `PB23` | | +| `QSPI_SCK` | `PB10` | | +| `QSPI_CS` | `PB11` | | +| `QSPI_DATA0` | `PA08` | | +| `QSPI_DATA1` | `PA09` | | +| `QSPI_DATA2` | `PA10` | | +| `QSPI_DATA3` | `PA11` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit ItsyBitsy M4](../machine/itsybitsy-m4) diff --git a/content/docs/reference/microcontrollers/itsybitsy-nrf52840.md b/content/docs/reference/microcontrollers/itsybitsy-nrf52840.md index 6e2e8cd7..4e1cd094 100644 --- a/content/docs/reference/microcontrollers/itsybitsy-nrf52840.md +++ b/content/docs/reference/microcontrollers/itsybitsy-nrf52840.md @@ -18,6 +18,42 @@ The [Adafruit ItsyBitsy-nRF52840](https://www.adafruit.com/product/4333) is a sm | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `P0_25` | `UART_RX_PIN` | +| `D1` | `P0_24` | `UART_TX_PIN` | +| `D2` | `P1_02` | | +| `D3` | `P0_06` | `LED`, `LED1` | +| `D4` | `P0_29` | `BUTTON` | +| `D5` | `P0_27` | | +| `D6` | `P1_09` | | +| `D7` | `P1_08` | | +| `D8` | `P0_08` | | +| `D9` | `P0_07` | | +| `D10` | `P0_05` | `D20`, `A6` | +| `D11` | `P0_26` | | +| `D12` | `P0_11` | | +| `D13` | `P0_12` | | +| `D14` | `P0_04` | `A0` | +| `D15` | `P0_30` | `A1` | +| `D16` | `P0_28` | `A2` | +| `D17` | `P0_31` | `A3` | +| `D18` | `P0_02` | `A4` | +| `D19` | `P0_03` | `A5` | +| `D21` | `P0_16` | `SDA_PIN` | +| `D22` | `P0_14` | `SCL_PIN` | +| `D23` | `P0_20` | `SPI0_SDI_PIN` | +| `D24` | `P0_15` | `SPI0_SDO_PIN` | +| `D25` | `P0_13` | `SPI0_SCK_PIN` | +| `D26` | `P0_19` | `QSPI_SCK` | +| `D27` | `P0_23` | `QSPI_CS` | +| `D28` | `P0_21` | `QSPI_DATA0` | +| `D29` | `P0_22` | `QSPI_DATA1` | +| `D30` | `P1_00` | `QSPI_DATA2` | +| `D31` | `P0_17` | `QSPI_DATA3` | + ## Machine Package Docs [Documentation for the machine package for the ItsyBitsy-nRF52840](../machine/itsybitsy-nrf52840) diff --git a/content/docs/reference/microcontrollers/lgt92.md b/content/docs/reference/microcontrollers/lgt92.md index 85a98588..e6f7b583 100644 --- a/content/docs/reference/microcontrollers/lgt92.md +++ b/content/docs/reference/microcontrollers/lgt92.md @@ -17,6 +17,31 @@ The [Dragino LGT-92](https://www.dragino.com/products/lora-lorawan-end-node/item | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED1` | `PA12` | `LED_RED`, `LED` | +| `LED2` | `PA8` | `LED_BLUE` | +| `LED3` | `PA11` | `LED_GREEN` | +| `BUTTON` | `PB14` | | +| `GPS_STANDBY_PIN` | `PB3` | | +| `GPS_RESET_PIN` | `PB4` | | +| `GPS_POWER_PIN` | `PB5` | | +| `MEMS_ACCEL_CS` | `PE3` | | +| `MEMS_ACCEL_INT1` | `PE0` | | +| `MEMS_ACCEL_INT2` | `PE1` | | +| `SPI1_SCK_PIN` | `PA5` | `SPI0_SCK_PIN` | +| `SPI1_SDI_PIN` | `PA6` | `SPI0_SDI_PIN` | +| `SPI1_SDO_PIN` | `PA7` | `SPI0_SDO_PIN` | +| `RFM95_DIO0_PIN` | `PC13` | | +| `UART_RX_PIN` | `PA13` | | +| `UART_TX_PIN` | `PA14` | | +| `UART1_RX_PIN` | `PB6` | | +| `UART1_TX_PIN` | `PB7` | | +| `I2C0_SCL_PIN` | `PA9` | | +| `I2C0_SDA_PIN` | `PA10` | | + ## Machine Package Docs [Documentation for the machine package for the Dragino LGT-92](../machine/lgt-92) diff --git a/content/docs/reference/microcontrollers/lorae5.md b/content/docs/reference/microcontrollers/lorae5.md index 021b3ec4..4bce3441 100644 --- a/content/docs/reference/microcontrollers/lorae5.md +++ b/content/docs/reference/microcontrollers/lorae5.md @@ -19,6 +19,22 @@ It has onboard LoRa®, (G)FSK, (G)MSK, and BPSK as well as 1 user LED, 1 user bu | PWM | YES | Not yet | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED` | `PB5` | | +| `SPI0_NSS_PIN` | `PA4` | | +| `SPI0_SCK_PIN` | `PA5` | | +| `SPI0_SDO_PIN` | `PA6` | | +| `SPI0_SDI_PIN` | `PA7` | | +| `UART1_TX_PIN` | `PB6` | `UART_TX_PIN` | +| `UART1_RX_PIN` | `PB7` | `UART_RX_PIN` | +| `UART2_TX_PIN` | `PA2` | | +| `UART2_RX_PIN` | `PA3` | | +| `I2C1_SCL_PIN` | `PA9` | `I2C0_SCL_PIN` | +| `I2C1_SDA_PIN` | `PA10` | `I2C0_SDA_PIN` | + ## Machine Package Docs [Documentation for the machine package for the LoRa E5](../machine/lorae5) diff --git a/content/docs/reference/microcontrollers/m5stack-core2.md b/content/docs/reference/microcontrollers/m5stack-core2.md index 969736cf..66fc80fd 100644 --- a/content/docs/reference/microcontrollers/m5stack-core2.md +++ b/content/docs/reference/microcontrollers/m5stack-core2.md @@ -19,6 +19,82 @@ The [m5stack-core2](https://shop.m5stack.com/products/m5stack-core2-esp32-iot-de | WiFi | YES | Not Yet | | Bluetooth | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `IO0` | `GPIO0` | | +| `IO1` | `GPIO1` | `UART0_TX_PIN`, `UART_TX_PIN` | +| `IO2` | `GPIO2` | | +| `IO3` | `GPIO3` | `UART0_RX_PIN`, `UART_RX_PIN` | +| `IO4` | `GPIO4` | `SDCARD_SS_PIN` | +| `IO5` | `GPIO5` | `SPI0_CS0_PIN`, `LCD_SS_PIN` | +| `IO6` | `GPIO6` | | +| `IO7` | `GPIO7` | | +| `IO8` | `GPIO8` | | +| `IO9` | `GPIO9` | | +| `IO10` | `GPIO10` | | +| `IO11` | `GPIO11` | | +| `IO12` | `GPIO12` | | +| `IO13` | `GPIO13` | `UART1_RX_PIN` | +| `IO14` | `GPIO14` | `UART1_TX_PIN` | +| `IO15` | `GPIO15` | `LCD_DC_PIN` | +| `IO16` | `GPIO16` | | +| `IO17` | `GPIO17` | | +| `IO18` | `GPIO18` | `SPI0_SCK_PIN`, `LCD_SCK_PIN`, `SDCARD_SCK_PIN` | +| `IO19` | `GPIO19` | | +| `IO21` | `GPIO21` | `SDA0_PIN` | +| `IO22` | `GPIO22` | `SCL0_PIN` | +| `IO23` | `GPIO23` | `SPI0_SDO_PIN`, `LCD_SDO_PIN`, `SDCARD_SDO_PIN` | +| `IO25` | `GPIO25` | `DAC1` | +| `IO26` | `GPIO26` | `DAC2` | +| `IO27` | `GPIO27` | | +| `IO32` | `GPIO32` | `SDA1_PIN`, `SDA_PIN` | +| `IO33` | `GPIO33` | `SCL1_PIN`, `SCL_PIN` | +| `IO34` | `GPIO34` | | +| `IO35` | `GPIO35` | `ADC1` | +| `IO36` | `GPIO36` | `ADC2` | +| `IO38` | `GPIO38` | `SPI0_SDI_PIN`, `LCD_SDI_PIN`, `SDCARD_SDI_PIN` | +| `IO39` | `GPIO39` | | + +## Pins + +| Pin | Hardware pin | Alternative names | +| ---------------- | ------------ | ----------------- | +| `IO0` | `GPIO0` | | +| `IO1` | `GPIO1` | `UART0_TX_PIN`, `UART_TX_PIN` | +| `IO2` | `GPIO2` | | +| `IO3` | `GPIO3` | `UART0_RX_PIN`, `UART_RX_PIN` | +| `IO4` | `GPIO4` | `SDCARD_SS_PIN` | +| `IO5` | `GPIO5` | `SPI0_CS0_PIN`, `LCD_SS_PIN` | +| `IO6` | `GPIO6` | | +| `IO7` | `GPIO7` | | +| `IO8` | `GPIO8` | | +| `IO9` | `GPIO9` | | +| `IO10` | `GPIO10` | | +| `IO11` | `GPIO11` | | +| `IO12` | `GPIO12` | | +| `IO13` | `GPIO13` | `UART1_RX_PIN` | +| `IO14` | `GPIO14` | `UART1_TX_PIN` | +| `IO15` | `GPIO15` | `LCD_DC_PIN` | +| `IO16` | `GPIO16` | | +| `IO17` | `GPIO17` | | +| `IO18` | `GPIO18` | `SPI0_SCK_PIN`, `LCD_SCK_PIN`, `SDCARD_SCK_PIN` | +| `IO19` | `GPIO19` | | +| `IO21` | `GPIO21` | `SDA0_PIN` | +| `IO22` | `GPIO22` | `SCL0_PIN` | +| `IO23` | `GPIO23` | `SPI0_SDO_PIN`, `LCD_SDO_PIN`, `SDCARD_SDO_PIN` | +| `IO25` | `GPIO25` | `DAC1` | +| `IO26` | `GPIO26` | `DAC2` | +| `IO27` | `GPIO27` | | +| `IO32` | `GPIO32` | `SDA1_PIN`, `SDA_PIN` | +| `IO33` | `GPIO33` | `SCL1_PIN`, `SCL_PIN` | +| `IO34` | `GPIO34` | | +| `IO35` | `GPIO35` | `ADC1` | +| `IO36` | `GPIO36` | `ADC2` | +| `IO38` | `GPIO38` | `SPI0_SDI_PIN`, `LCD_SDI_PIN`, `SDCARD_SDI_PIN` | +| `IO39` | `GPIO39` | | + ## Machine Package Docs [Documentation for the machine package for the M5Stack Core2](../machine/m5stack-core2) diff --git a/content/docs/reference/microcontrollers/m5stack.md b/content/docs/reference/microcontrollers/m5stack.md index 9fa9cc38..c4d2a929 100644 --- a/content/docs/reference/microcontrollers/m5stack.md +++ b/content/docs/reference/microcontrollers/m5stack.md @@ -19,6 +19,45 @@ The [m5stack](https://docs.m5stack.com/en/core/basic) is a development board bas | WiFi | YES | Not Yet | | Bluetooth | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `IO0` | `GPIO0` | | +| `IO1` | `GPIO1` | `UART0_TX_PIN`, `UART_TX_PIN` | +| `IO2` | `GPIO2` | | +| `IO3` | `GPIO3` | `UART0_RX_PIN`, `UART_RX_PIN` | +| `IO4` | `GPIO4` | `SDCARD_SS_PIN` | +| `IO5` | `GPIO5` | | +| `IO6` | `GPIO6` | | +| `IO7` | `GPIO7` | | +| `IO8` | `GPIO8` | | +| `IO9` | `GPIO9` | | +| `IO10` | `GPIO10` | | +| `IO11` | `GPIO11` | | +| `IO12` | `GPIO12` | | +| `IO13` | `GPIO13` | | +| `IO14` | `GPIO14` | `SPI0_CS0_PIN`, `LCD_SS_PIN` | +| `IO15` | `GPIO15` | | +| `IO16` | `GPIO16` | `UART1_RX_PIN` | +| `IO17` | `GPIO17` | `UART1_TX_PIN` | +| `IO18` | `GPIO18` | `SPI0_SCK_PIN`, `LCD_SCK_PIN`, `SDCARD_SCK_PIN` | +| `IO19` | `GPIO19` | `SPI0_SDI_PIN`, `LCD_SDI_PIN`, `SDCARD_SDI_PIN` | +| `IO21` | `GPIO21` | `SDA0_PIN`, `SDA_PIN` | +| `IO22` | `GPIO22` | `SCL0_PIN`, `SCL_PIN` | +| `IO23` | `GPIO23` | `SPI0_SDO_PIN`, `LCD_SDO_PIN`, `SDCARD_SDO_PIN` | +| `IO25` | `GPIO25` | `SPEAKER_PIN`, `DAC1` | +| `IO26` | `GPIO26` | `DAC2` | +| `IO27` | `GPIO27` | `LCD_DC_PIN` | +| `IO32` | `GPIO32` | `LCD_BL_PIN` | +| `IO33` | `GPIO33` | `LCD_RST_PIN` | +| `IO34` | `GPIO34` | | +| `IO35` | `GPIO35` | `ADC1` | +| `IO36` | `GPIO36` | `ADC2` | +| `IO37` | `GPIO37` | `BUTTON_C` | +| `IO38` | `GPIO38` | `BUTTON_B` | +| `IO39` | `GPIO39` | `BUTTON_A`, `BUTTON` | + ## Machine Package Docs [Documentation for the machine package for the M5Stack Core2](../machine/m5stack) diff --git a/content/docs/reference/microcontrollers/m5stamp-c3.md b/content/docs/reference/microcontrollers/m5stamp-c3.md index 4b9191da..dee74c65 100644 --- a/content/docs/reference/microcontrollers/m5stamp-c3.md +++ b/content/docs/reference/microcontrollers/m5stamp-c3.md @@ -19,6 +19,33 @@ The [M5Stamp-C3](https://docs.m5stack.com/en/core/stamp_c3) is a development boa | WiFi | YES | Not Yet | | Bluetooth | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `IO0` | `GPIO0` | `XTAL_32K_P` | +| `IO1` | `GPIO1` | `XTAL_32K_N` | +| `IO2` | `GPIO2` | `WS2812` | +| `IO3` | `GPIO3` | | +| `IO4` | `GPIO4` | `MTMS` | +| `IO5` | `GPIO5` | `MTDI` | +| `IO6` | `GPIO6` | `MTCK` | +| `IO7` | `GPIO7` | `MTDO` | +| `IO8` | `GPIO8` | | +| `IO9` | `GPIO9` | | +| `IO10` | `GPIO10` | | +| `IO11` | `GPIO11` | `VDD_SPI` | +| `IO12` | `GPIO12` | `SPIHD` | +| `IO13` | `GPIO13` | `SPISP` | +| `IO14` | `GPIO14` | `SPICS0` | +| `IO15` | `GPIO15` | `SPICLK` | +| `IO16` | `GPIO16` | `SPID` | +| `IO17` | `GPIO17` | `SPIQ` | +| `IO18` | `GPIO18` | | +| `IO19` | `GPIO19` | | +| `IO20` | `GPIO20` | `U0RXD`, `UART_RX_PIN` | +| `IO21` | `GPIO21` | `U0TXD`, `UART_TX_PIN` | + ## Machine Package Docs [Documentation for the machine package for the M5Stamp-C3](../machine/m5stamp-c3) diff --git a/content/docs/reference/microcontrollers/maixbit.md b/content/docs/reference/microcontrollers/maixbit.md index dd47f7bd..a3b33add 100644 --- a/content/docs/reference/microcontrollers/maixbit.md +++ b/content/docs/reference/microcontrollers/maixbit.md @@ -17,6 +17,47 @@ The [Sipeed MAix Bit](https://www.seeedstudio.com/Sipeed-MAix-BiT-for-RISC-V-AI- | PWM | YES | Not yet | | USBDevice | ? | ? | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `P00` | | +| `D1` | `P01` | | +| `D2` | `P02` | | +| `D3` | `P03` | | +| `D4` | `P04` | `UART_RX_PIN` | +| `D5` | `P05` | `UART_TX_PIN` | +| `D6` | `P06` | | +| `D7` | `P07` | | +| `D8` | `P08` | | +| `D9` | `P09` | | +| `D10` | `P10` | | +| `D11` | `P11` | | +| `D12` | `P12` | `LED2`, `LED_GREEN` | +| `D13` | `P13` | `LED`, `LED1`, `LED_RED` | +| `D14` | `P14` | `LED3`, `LED_BLUE` | +| `D15` | `P15` | | +| `D16` | `P16` | | +| `D17` | `P17` | | +| `D18` | `P18` | | +| `D19` | `P19` | | +| `D20` | `P20` | | +| `D21` | `P21` | | +| `D22` | `P22` | | +| `D23` | `P23` | | +| `D24` | `P24` | | +| `D25` | `P25` | | +| `D26` | `P26` | `SPI0_SDI_PIN` | +| `D27` | `P27` | `SPI0_SCK_PIN` | +| `D28` | `P28` | `SPI0_SDO_PIN` | +| `D29` | `P29` | | +| `D30` | `P30` | | +| `D31` | `P31` | | +| `D32` | `P32` | | +| `D33` | `P33` | | +| `D34` | `P34` | `I2C0_SDA_PIN` | +| `D35` | `P35` | `I2C0_SCL_PIN` | + ## Machine Package Docs [Documentation for the machine package for the Sipeed MAix Bit](../machine/maixbit) diff --git a/content/docs/reference/microcontrollers/matrixportal-m4.md b/content/docs/reference/microcontrollers/matrixportal-m4.md index ce35e131..d55f8610 100644 --- a/content/docs/reference/microcontrollers/matrixportal-m4.md +++ b/content/docs/reference/microcontrollers/matrixportal-m4.md @@ -17,6 +17,58 @@ The [Adafruit Matrix Portal M4](https://www.adafruit.com/product/4745) is an ARM | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA01` | `UART1_RX_PIN`, `UART_RX_PIN` | +| `D1` | `PA00` | `UART1_TX_PIN`, `UART_TX_PIN` | +| `D2` | `PB22` | `BUTTON_UP` | +| `D3` | `PB23` | `BUTTON_DOWN` | +| `D4` | `PA23` | `NEOPIXEL`, `WS2812` | +| `D5` | `PB31` | `I2C0_SDA_PIN`, `I2C_SDA_PIN`, `SDA_PIN` | +| `D6` | `PB30` | `I2C0_SCL_PIN`, `I2C_SCL_PIN`, `SCL_PIN` | +| `D7` | `PB00` | `HUB75_R1` | +| `D8` | `PB01` | `HUB75_G1` | +| `D9` | `PB02` | `HUB75_B1` | +| `D10` | `PB03` | `HUB75_R2` | +| `D11` | `PB04` | `HUB75_G2` | +| `D12` | `PB05` | `HUB75_B2` | +| `D13` | `PA14` | `LED` | +| `D14` | `PB06` | `HUB75_CLK` | +| `D15` | `PB14` | `HUB75_LAT` | +| `D16` | `PB12` | `HUB75_OE` | +| `D17` | `PB07` | `HUB75_ADDR_A` | +| `D18` | `PB08` | `HUB75_ADDR_B` | +| `D19` | `PB09` | `HUB75_ADDR_C` | +| `D20` | `PB15` | `HUB75_ADDR_D` | +| `D21` | `PB13` | `HUB75_ADDR_E` | +| `D22` | `PA02` | `A0` | +| `D23` | `PA05` | `D48`, `A1`, `SPI1_SCK_PIN` | +| `D24` | `PA04` | `D49`, `A2`, `SPI1_SDO_PIN` | +| `D25` | `PA06` | `A3` | +| `D26` | `PA07` | `D50`, `A4`, `SPI1_SDI_PIN` | +| `D27` | `PA12` | `UART2_RX_PIN`, `NINA_RX` | +| `D28` | `PA13` | `UART2_TX_PIN`, `NINA_TX` | +| `D29` | `PA20` | `NINA_GPIO0` | +| `D30` | `PA21` | `NINA_RESETN` | +| `D31` | `PA22` | `NINA_ACK` | +| `D32` | `PA18` | `NINA_RTS` | +| `D33` | `PB17` | `NINA_CS` | +| `D34` | `PA16` | `SPI0_SCK_PIN`, `SPI_SCK_PIN`, `NINA_SCK` | +| `D35` | `PA17` | `SPI0_SDI_PIN`, `SPI_SDI_PIN`, `NINA_SDI` | +| `D36` | `PA19` | `SPI0_SDO_PIN`, `SPI_SDO_PIN`, `NINA_SDO` | +| `D38` | `PA24` | `USBCDC_DM_PIN`, `UART0_RX_PIN` | +| `D39` | `PA25` | `USBCDC_DP_PIN`, `UART0_TX_PIN` | +| `D40` | `PA03` | | +| `D41` | `PB10` | `QSPI_SCK` | +| `D42` | `PB11` | `QSPI_CS` | +| `D43` | `PA08` | `QSPI_DATA0` | +| `D44` | `PA09` | `QSPI_DATA1` | +| `D45` | `PA10` | `QSPI_DATA2` | +| `D46` | `PA11` | `QSPI_DATA3` | +| `D47` | `PA27` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Matrix Portal M4](../machine/matrix-portal-m4) diff --git a/content/docs/reference/microcontrollers/metro-m4-airlift.md b/content/docs/reference/microcontrollers/metro-m4-airlift.md index a96e6ac9..e6a1279a 100644 --- a/content/docs/reference/microcontrollers/metro-m4-airlift.md +++ b/content/docs/reference/microcontrollers/metro-m4-airlift.md @@ -17,6 +17,52 @@ The [Adafruit Metro M4 Express AirLift](https://www.adafruit.com/product/4000) i | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA23` | `UART_RX_PIN` | +| `D1` | `PA22` | `UART_TX_PIN` | +| `D2` | `PB17` | | +| `D3` | `PB16` | | +| `D4` | `PB13` | | +| `D5` | `PB14` | | +| `D6` | `PB15` | | +| `D7` | `PB12` | | +| `D8` | `PA21` | | +| `D9` | `PA20` | | +| `D10` | `PA18` | | +| `D11` | `PA19` | `SPI1_SDO_PIN` | +| `D12` | `PA17` | `SPI1_SCK_PIN` | +| `D13` | `PA16` | `LED`, `SPI1_SDI_PIN` | +| `D40` | `PB22` | `WS2812` | +| `A0` | `PA02` | | +| `A1` | `PA05` | | +| `A2` | `PB06` | | +| `A3` | `PB00` | | +| `A4` | `PB08` | | +| `A5` | `PB09` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `UART2_TX_PIN` | `PA04` | `NINA_TX` | +| `UART2_RX_PIN` | `PA07` | `NINA_RX` | +| `NINA_CS` | `PA15` | | +| `NINA_ACK` | `PB04` | | +| `NINA_GPIO0` | `PB01` | | +| `NINA_RESETN` | `PB05` | | +| `NINA_RTS` | `PB23` | | +| `SDA_PIN` | `PB02` | | +| `SCL_PIN` | `PB03` | | +| `SPI0_SCK_PIN` | `PA13` | `NINA_SCK` | +| `SPI0_SDO_PIN` | `PA12` | `NINA_SDO` | +| `SPI0_SDI_PIN` | `PA14` | `NINA_SDI` | +| `QSPI_SCK` | `PB10` | | +| `QSPI_CS` | `PB11` | | +| `QSPI_DATA0` | `PA08` | | +| `QSPI_DATA1` | `PA09` | | +| `QSPI_DATA2` | `PA10` | | +| `QSPI_DATA3` | `PA11` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Metro M4 Airlift](../machine/metro-m4-airlift) diff --git a/content/docs/reference/microcontrollers/microbit.md b/content/docs/reference/microcontrollers/microbit.md index 6c9a0434..623719d0 100644 --- a/content/docs/reference/microcontrollers/microbit.md +++ b/content/docs/reference/microcontrollers/microbit.md @@ -18,6 +18,38 @@ The BBC [micro:bit](https://microbit.org) is a tiny programmable computer design | USBDevice | NO | NO | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `P0` | `P0_03` | `ADC0` | +| `P1` | `P0_02` | `ADC1` | +| `P2` | `P0_01` | `ADC2` | +| `P3` | `P0_04` | `LED_COL_1` | +| `P4` | `P0_05` | `LED_COL_2` | +| `P5` | `P0_17` | `BUTTONA`, `BUTTON` | +| `P6` | `P0_12` | `LED_COL_9` | +| `P7` | `P0_11` | `LED_COL_8` | +| `P8` | `P0_18` | | +| `P9` | `P0_10` | `LED_COL_7` | +| `P10` | `P0_06` | `LED_COL_3` | +| `P11` | `P0_26` | `BUTTONB` | +| `P12` | `P0_20` | | +| `P13` | `P0_23` | `SPI0_SCK_PIN` | +| `P14` | `P0_22` | `SPI0_SDI_PIN` | +| `P15` | `P0_21` | `SPI0_SDO_PIN` | +| `P16` | `P0_16` | | +| `UART_TX_PIN` | `P0_24` | | +| `UART_RX_PIN` | `P0_25` | | +| `SDA_PIN` | `P0_30` | | +| `SCL_PIN` | `P0_00` | | +| `LED_COL_4` | `P0_07` | | +| `LED_COL_5` | `P0_08` | | +| `LED_COL_6` | `P0_09` | | +| `LED_ROW_1` | `P0_13` | | +| `LED_ROW_2` | `P0_14` | | +| `LED_ROW_3` | `P0_15` | | + ## Machine Package Docs [Documentation for the machine package for the BBC micro:bit](../machine/microbit) diff --git a/content/docs/reference/microcontrollers/nano-33-ble.md b/content/docs/reference/microcontrollers/nano-33-ble.md index ac0cb7d5..028b7546 100644 --- a/content/docs/reference/microcontrollers/nano-33-ble.md +++ b/content/docs/reference/microcontrollers/nano-33-ble.md @@ -19,6 +19,45 @@ There is also the [Arduino Nano33 BLE Sense](nano-33-ble-sense) which is the exa | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D2` | `P1_11` | | +| `D3` | `P1_12` | | +| `D4` | `P1_15` | | +| `D5` | `P1_13` | | +| `D6` | `P1_14` | | +| `D7` | `P0_23` | | +| `D8` | `P0_21` | | +| `D9` | `P0_27` | | +| `D10` | `P1_02` | | +| `D11` | `P1_01` | `SPI0_SDO_PIN` | +| `D12` | `P1_08` | `SPI0_SDI_PIN` | +| `D13` | `P0_13` | `LED`, `LED_BUILTIN`, `SPI0_SCK_PIN` | +| `A0` | `P0_04` | | +| `A1` | `P0_05` | | +| `A2` | `P0_30` | | +| `A3` | `P0_29` | | +| `A4` | `P0_31` | `SDA0_PIN` | +| `A5` | `P0_02` | `SCL0_PIN` | +| `A6` | `P0_28` | | +| `A7` | `P0_03` | | +| `LED1` | `P0_24` | `LED_RED` | +| `LED2` | `P0_16` | `LED_GREEN` | +| `LED3` | `P0_06` | `LED_BLUE` | +| `LED_PWR` | `P1_09` | | +| `UART_RX_PIN` | `P1_10` | | +| `UART_TX_PIN` | `P1_03` | | +| `SDA_PIN` | `P0_14` | `SDA1_PIN` | +| `SCL_PIN` | `P0_15` | `SCL1_PIN` | +| `I2C_PULLUP` | `P1_00` | | +| `APDS_INT` | `P0_19` | | +| `LSM_PWR` | `P0_22` | `LPS_PWR`, `HTS_PWR` | +| `MIC_PWR` | `P0_17` | | +| `MIC_CLK` | `P0_26` | | +| `MIC_DIN` | `P0_25` | | + ## Onboard sensors * 9-axis IMU: [LSM9DS1](https://github.com/tinygo-org/drivers/tree/release/lsm9ds1) diff --git a/content/docs/reference/microcontrollers/nano-rp2040.md b/content/docs/reference/microcontrollers/nano-rp2040.md index afa97a6c..e24e56b1 100644 --- a/content/docs/reference/microcontrollers/nano-rp2040.md +++ b/content/docs/reference/microcontrollers/nano-rp2040.md @@ -22,6 +22,39 @@ Peripherals: | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D2` | `GPIO25` | | +| `D3` | `GPIO15` | | +| `D4` | `GPIO16` | | +| `D5` | `GPIO17` | | +| `D6` | `GPIO18` | `I2C1_SDA_PIN` | +| `D7` | `GPIO19` | `I2C1_SCL_PIN` | +| `D8` | `GPIO20` | | +| `D9` | `GPIO21` | | +| `D10` | `GPIO5` | | +| `D11` | `GPIO7` | `SPI0_SDO_PIN` | +| `D12` | `GPIO4` | `SPI0_SDI_PIN` | +| `D13` | `GPIO6` | `LED`, `SPI0_SCK_PIN` | +| `D14` | `GPIO26` | `A0`, `ADC0` | +| `D15` | `GPIO27` | `A1`, `ADC1` | +| `D16` | `GPIO28` | `A2`, `ADC2` | +| `D17` | `GPIO29` | `A3`, `ADC3` | +| `D18` | `GPIO12` | `I2C0_SDA_PIN` | +| `D19` | `GPIO13` | `I2C0_SCL_PIN` | +| `SPI1_SCK_PIN` | `GPIO22` | `SPI1_SDO_PIN`, `SPI1_SDI_PIN` | +| `NINA_SCK` | `GPIO14` | | +| `NINA_SDO` | `GPIO11` | | +| `NINA_SDI` | `GPIO8` | `NINA_RX` | +| `NINA_CS` | `GPIO9` | `NINA_TX` | +| `NINA_ACK` | `GPIO10` | | +| `NINA_GPIO0` | `GPIO2` | | +| `NINA_RESETN` | `GPIO3` | | +| `UART0_TX_PIN` | `GPIO0` | `UART_TX_PIN` | +| `UART0_RX_PIN` | `GPIO1` | `UART_RX_PIN` | + ## Machine Package Docs [Documentation for the machine package for the Nano RP2040](../machine/nano-rp2040) diff --git a/content/docs/reference/microcontrollers/nicenano.md b/content/docs/reference/microcontrollers/nicenano.md index 28095ecb..2db915bf 100644 --- a/content/docs/reference/microcontrollers/nicenano.md +++ b/content/docs/reference/microcontrollers/nicenano.md @@ -18,6 +18,37 @@ The [nice!nano](https://nicekeyboards.com/products/nice-nano-v1-0) is a wireless | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D006` | `P0_06` | `UART_RX_PIN` | +| `D008` | `P0_08` | `UART_TX_PIN` | +| `D017` | `P0_17` | `SDA_PIN` | +| `D020` | `P0_20` | `SCL_PIN` | +| `D022` | `P0_22` | `SPI0_SCK_PIN` | +| `D024` | `P0_24` | `SPI0_SDO_PIN` | +| `D100` | `P1_00` | `SPI0_SDI_PIN` | +| `D011` | `P0_11` | | +| `D104` | `P1_04` | | +| `D106` | `P1_06` | | +| `D004` | `P0_04` | `AIN2` | +| `D013` | `P0_13` | | +| `D115` | `P1_15` | | +| `D113` | `P1_13` | | +| `D031` | `P0_31` | `AIN7` | +| `D029` | `P0_29` | `AIN5` | +| `D002` | `P0_02` | `AIN0` | +| `D111` | `P1_11` | | +| `D010` | `P0_10` | | +| `D009` | `P0_09` | | +| `D026` | `P0_26` | | +| `D012` | `P0_12` | | +| `D101` | `P1_01` | | +| `D102` | `P1_02` | | +| `D107` | `P1_07` | | +| `LED` | `P0_15` | | + ## Machine Package Docs [Documentation for the machine package for the nice!nano](../machine/nicenano) diff --git a/content/docs/reference/microcontrollers/nodemcu.md b/content/docs/reference/microcontrollers/nodemcu.md index 81cb376c..630c2f3d 100644 --- a/content/docs/reference/microcontrollers/nodemcu.md +++ b/content/docs/reference/microcontrollers/nodemcu.md @@ -18,6 +18,22 @@ The [Espressif ESP8266](https://www.espressif.com/en/products/socs/esp8266) Node | USBDevice | NO | NO | | WiFi | YES | Not Yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `GPIO16` | | +| `D1` | `GPIO5` | `SCL_PIN` | +| `D2` | `GPIO4` | `SDA_PIN` | +| `D3` | `GPIO0` | | +| `D4` | `GPIO2` | `LED` | +| `D5` | `GPIO14` | `SPI0_SCK_PIN` | +| `D6` | `GPIO12` | `SPI0_SDI_PIN` | +| `D7` | `GPIO13` | `SPI0_SDO_PIN` | +| `D8` | `GPIO15` | `SPI0_CS0_PIN` | +| `UART_TX_PIN` | `GPIO1` | | +| `UART_RX_PIN` | `GPIO3` | | + ## Machine Package Docs [Documentation for the machine package for the ESP8266 NodeMCU](../machine/nodemcu) diff --git a/content/docs/reference/microcontrollers/nrf52840-mdk-usb-dongle.md b/content/docs/reference/microcontrollers/nrf52840-mdk-usb-dongle.md index 0241e958..f62fa9e7 100644 --- a/content/docs/reference/microcontrollers/nrf52840-mdk-usb-dongle.md +++ b/content/docs/reference/microcontrollers/nrf52840-mdk-usb-dongle.md @@ -18,6 +18,15 @@ The [nRF52840 MDK USB Dongle](https://wiki.makerdiary.com/nrf52840-mdk-usb-dongl | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED` | `P0_22` | `LED_GREEN` | +| `LED_RED` | `P0_23` | | +| `LED_BLUE` | `P0_24` | | +| `BUTTON` | `P0_18` | | + ## Machine Package Docs [Documentation for the machine package for the nRF52840-MDK-USB-Dongle](../machine/nrf52840-mdk-usb-dongle) diff --git a/content/docs/reference/microcontrollers/nrf52840-mdk.md b/content/docs/reference/microcontrollers/nrf52840-mdk.md index 8d331558..16844ae6 100644 --- a/content/docs/reference/microcontrollers/nrf52840-mdk.md +++ b/content/docs/reference/microcontrollers/nrf52840-mdk.md @@ -18,6 +18,16 @@ The [nRF52840-MDK](https://wiki.makerdiary.com/nrf52840-mdk/) (not to be confuse | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED_GREEN` | `P0_22` | `LED` | +| `LED_RED` | `P0_23` | | +| `LED_BLUE` | `P0_24` | | +| `UART_TX_PIN` | `P0_20` | | +| `UART_RX_PIN` | `P0_19` | | + ## Machine Package Docs [Documentation for the machine package for the nRF52840-MDK](../machine/nrf52840-mdk) diff --git a/content/docs/reference/microcontrollers/nucleo-f103rb.md b/content/docs/reference/microcontrollers/nucleo-f103rb.md index 2de6ee16..a6751243 100644 --- a/content/docs/reference/microcontrollers/nucleo-f103rb.md +++ b/content/docs/reference/microcontrollers/nucleo-f103rb.md @@ -17,6 +17,21 @@ The [Nucleo F103RB](https://www.st.com/en/evaluation-tools/nucleo-f103rb.html) i | PWM | YES | Not yet | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED` | `PA5` | `LED_BUILTIN`, `LED_GREEN`, `SPI0_SCK_PIN` | +| `BUTTON` | `PC13` | `BUTTON_USER` | +| `UART_TX_PIN` | `PA2` | | +| `UART_RX_PIN` | `PA3` | | +| `UART_ALT_TX_PIN` | `PD5` | | +| `UART_ALT_RX_PIN` | `PD6` | | +| `SPI0_SDI_PIN` | `PA6` | | +| `SPI0_SDO_PIN` | `PA7` | | +| `I2C0_SCL_PIN` | `PB6` | | +| `I2C0_SDA_PIN` | `PB7` | | + ## Machine Package Docs [Documentation for the machine package for the Nucleo F103RB](../machine/nucleo-f103rb) diff --git a/content/docs/reference/microcontrollers/nucleo-f722ze.md b/content/docs/reference/microcontrollers/nucleo-f722ze.md index fc0d5d28..f895b1e9 100644 --- a/content/docs/reference/microcontrollers/nucleo-f722ze.md +++ b/content/docs/reference/microcontrollers/nucleo-f722ze.md @@ -19,6 +19,22 @@ It has 2 user buttons, and 3 user LEDs. | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED` | `PB0` | `LED_BUILTIN`, `LED_GREEN` | +| `LED_BLUE` | `PB7` | | +| `LED_RED` | `PB14` | | +| `BUTTON` | `PC13` | `BUTTON_USER` | +| `UART_TX_PIN` | `PD8` | | +| `UART_RX_PIN` | `PD9` | | +| `SPI0_SCK_PIN` | `PA5` | | +| `SPI0_SDI_PIN` | `PA6` | | +| `SPI0_SDO_PIN` | `PA7` | | +| `I2C0_SCL_PIN` | `PB8` | | +| `I2C0_SDA_PIN` | `PB9` | | + ## Machine Package Docs [Documentation for the machine package for the STM32 Nucleo F722ZE](../machine/nucleo-f722ze) diff --git a/content/docs/reference/microcontrollers/nucleo-l031k6.md b/content/docs/reference/microcontrollers/nucleo-l031k6.md index 13aaefbf..8d39725a 100644 --- a/content/docs/reference/microcontrollers/nucleo-l031k6.md +++ b/content/docs/reference/microcontrollers/nucleo-l031k6.md @@ -19,6 +19,32 @@ It has 2 user buttons, and 3 user LEDs. | PWM | YES | Not yet | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `A0` | `PA0` | `BUTTON` | +| `A1` | `PA1` | | +| `A2` | `PA3` | | +| `A3` | `PA4` | | +| `A4` | `PA5` | | +| `A5` | `PA6` | | +| `A6` | `PA7` | | +| `A7` | `PA2` | `UART_TX_PIN` | +| `D0` | `PA10` | | +| `D1` | `PA9` | | +| `D2` | `PA12` | | +| `D3` | `PB0` | | +| `D4` | `PB7` | `I2C0_SCL_PIN` | +| `D5` | `PB6` | `I2C0_SDA_PIN` | +| `D6` | `PB1` | | +| `D9` | `PA8` | | +| `D10` | `PA11` | | +| `D11` | `PB5` | `SPI1_SDI_PIN`, `SPI0_SDI_PIN` | +| `D12` | `PB4` | `SPI1_SDO_PIN`, `SPI0_SDO_PIN` | +| `D13` | `PB3` | `LED`, `LED_BUILTIN`, `LED_GREEN`, `SPI1_SCK_PIN`, `SPI0_SCK_PIN` | +| `UART_RX_PIN` | `PA15` | | + ## Machine Package Docs [Documentation for the machine package for the STM32 Nucleo L031K6](../machine/nucleo-l031k6) diff --git a/content/docs/reference/microcontrollers/nucleo-l432kc.md b/content/docs/reference/microcontrollers/nucleo-l432kc.md index ed36b2da..d3181564 100644 --- a/content/docs/reference/microcontrollers/nucleo-l432kc.md +++ b/content/docs/reference/microcontrollers/nucleo-l432kc.md @@ -19,6 +19,34 @@ It has 2 user buttons, and 3 user LEDs. | PWM | YES | Not yet | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `A0` | `PA0` | `BUTTON` | +| `A1` | `PA1` | | +| `A2` | `PA3` | | +| `A3` | `PA4` | | +| `A4` | `PA5` | | +| `A5` | `PA6` | | +| `A6` | `PA7` | | +| `A7` | `PA2` | `UART_TX_PIN` | +| `D0` | `PA10` | | +| `D1` | `PA9` | | +| `D2` | `PA12` | | +| `D3` | `PB0` | | +| `D4` | `PB7` | `I2C0_SDA_PIN` | +| `D5` | `PB6` | `I2C0_SCL_PIN` | +| `D6` | `PB1` | | +| `D7` | `PC14` | | +| `D8` | `PC15` | | +| `D9` | `PA8` | | +| `D10` | `PA11` | | +| `D11` | `PB5` | `SPI1_SDI_PIN`, `SPI0_SDI_PIN` | +| `D12` | `PB4` | `SPI1_SDO_PIN`, `SPI0_SDO_PIN` | +| `D13` | `PB3` | `LED`, `LED_BUILTIN`, `LED_GREEN`, `SPI1_SCK_PIN`, `SPI0_SCK_PIN` | +| `UART_RX_PIN` | `PA15` | | + ## Machine Package Docs [Documentation for the machine package for the STM32 Nucleo L432KC](../machine/nucleo-l432kc) diff --git a/content/docs/reference/microcontrollers/nucleo-l552ze.md b/content/docs/reference/microcontrollers/nucleo-l552ze.md index 5ad72788..4453c3f9 100644 --- a/content/docs/reference/microcontrollers/nucleo-l552ze.md +++ b/content/docs/reference/microcontrollers/nucleo-l552ze.md @@ -19,6 +19,19 @@ It has onboard ethernet, 2 user buttons, and 3 user LEDs. | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED_GREEN` | `PC7` | `LED_BUILTIN`, `LED` | +| `LED_BLUE` | `PB7` | | +| `LED_RED` | `PA9` | | +| `BUTTON` | `PC13` | `BUTTON_USER` | +| `UART_TX_PIN` | `PG7` | | +| `UART_RX_PIN` | `PG8` | | +| `I2C0_SCL_PIN` | `PB8` | | +| `I2C0_SDA_PIN` | `PB9` | | + ## Machine Package Docs [Documentation for the machine package for the STM32 Nucleo l552ze](../machine/nucleo-l552ze) diff --git a/content/docs/reference/microcontrollers/nucleo-wl55jc.md b/content/docs/reference/microcontrollers/nucleo-wl55jc.md index f22a44a1..37b618fd 100644 --- a/content/docs/reference/microcontrollers/nucleo-wl55jc.md +++ b/content/docs/reference/microcontrollers/nucleo-wl55jc.md @@ -19,6 +19,29 @@ It has onboard LoRa®, (G)FSK, (G)MSK, and BPSK as well as 3 user LEDs, 3 user b | PWM | YES | Not yet | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED_BLUE` | `PB15` | | +| `LED_GREEN` | `PB9` | | +| `LED_RED` | `PB11` | `LED` | +| `BTN1` | `PA0` | `BUTTON` | +| `BTN2` | `PA1` | | +| `BTN3` | `PC6` | | +| `SPI0_NSS_PIN` | `PA4` | | +| `SPI0_SCK_PIN` | `PA5` | | +| `SPI0_SDO_PIN` | `PA6` | | +| `SPI0_SDI_PIN` | `PA7` | | +| `UART1_TX_PIN` | `PB6` | | +| `UART1_RX_PIN` | `PB7` | | +| `UART2_RX_PIN` | `PA3` | `UART_RX_PIN` | +| `UART2_TX_PIN` | `PA2` | `UART_TX_PIN` | +| `I2C1_SCL_PIN` | `PA9` | `I2C0_SCL_PIN` | +| `I2C1_SDA_PIN` | `PA10` | `I2C0_SDA_PIN` | +| `I2C2_SCL_PIN` | `PA12` | | +| `I2C2_SDA_PIN` | `PA11` | | + ## Machine Package Docs [Documentation for the machine package for the STM32 Nucleo WL55JC](../machine/nucleo-wl55jc) diff --git a/content/docs/reference/microcontrollers/p1am-100.md b/content/docs/reference/microcontrollers/p1am-100.md index 4fbb38bd..0d88fb03 100644 --- a/content/docs/reference/microcontrollers/p1am-100.md +++ b/content/docs/reference/microcontrollers/p1am-100.md @@ -17,6 +17,44 @@ The [ProductivityOpen P1AM-100](https://facts-engineering.github.io/modules/P1AM | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA22` | | +| `D1` | `PA23` | | +| `D2` | `PA10` | `I2S_SCK_PIN` | +| `D3` | `PA11` | `I2S_WS_PIN` | +| `D4` | `PB10` | | +| `D5` | `PB11` | | +| `D6` | `PA20` | | +| `D7` | `PA21` | | +| `D8` | `PA16` | `SPI0_SDO_PIN` | +| `D9` | `PA17` | `SPI0_SCK_PIN` | +| `D10` | `PA19` | `SPI0_SDI_PIN` | +| `D11` | `PA08` | `SDA_PIN` | +| `D12` | `PA09` | `SCL_PIN` | +| `D13` | `PB23` | `UART_RX_PIN` | +| `D14` | `PB22` | `UART_TX_PIN` | +| `D15` | `PA02` | `A0` | +| `D16` | `PB02` | `A1` | +| `D17` | `PB03` | `A2` | +| `D18` | `PA04` | `A3`, `BASE_SLAVE_SELECT_PIN` | +| `D19` | `PA05` | `A4`, `BASE_SLAVE_ACK_PIN` | +| `D20` | `PA06` | `A5` | +| `D21` | `PA07` | `A6`, `I2S_SD_PIN` | +| `SWITCH` | `PA28` | | +| `LED` | `PB08` | | +| `ADC_BATTERY` | `PB09` | `BASE_ENABLE_PIN` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `USBCDC_HOST_ENABLE_PIN` | `PA18` | | +| `SDCARD_SDI_PIN` | `PA15` | | +| `SDCARD_SDO_PIN` | `PA12` | | +| `SDCARD_SCK_PIN` | `PA13` | | +| `SDCARD_SS_PIN` | `PA14` | | +| `SDCARD_CD_PIN` | `PA27` | | + ## Machine Package Docs [Documentation for the machine package for the ProductivityOpen P1AM-100](../machine/p1am-100) diff --git a/content/docs/reference/microcontrollers/particle-argon.md b/content/docs/reference/microcontrollers/particle-argon.md index 9d7999f3..20154763 100644 --- a/content/docs/reference/microcontrollers/particle-argon.md +++ b/content/docs/reference/microcontrollers/particle-argon.md @@ -18,6 +18,54 @@ weight: 3 | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `A0` | `P0_03` | | +| `A1` | `P0_04` | | +| `A2` | `P0_28` | | +| `A3` | `P0_29` | | +| `A4` | `P0_30` | | +| `A5` | `P0_31` | | +| `D0` | `P0_26` | `SDA_PIN` | +| `D1` | `P0_27` | `SCL_PIN` | +| `D2` | `P1_01` | | +| `D3` | `P1_02` | | +| `D4` | `P1_08` | | +| `D5` | `P1_10` | | +| `D6` | `P1_11` | | +| `D7` | `P1_12` | `LED` | +| `D8` | `P1_03` | | +| `D9` | `P0_06` | `UART_TX_PIN` | +| `D10` | `P0_08` | `UART_RX_PIN` | +| `D11` | `P1_14` | `SPI0_SDI_PIN` | +| `D12` | `P1_13` | `SPI0_SDO_PIN` | +| `D13` | `P1_15` | `SPI0_SCK_PIN` | +| `LED_GREEN` | `P0_14` | | +| `LED_RED` | `P0_13` | | +| `LED_BLUE` | `P0_15` | | +| `SPI1_SCK_PIN` | `P0_19` | | +| `SPI1_SDO_PIN` | `P0_20` | | +| `SPI1_SDI_PIN` | `P0_21` | | +| `SPI1_CS_PIN` | `P0_17` | | +| `SPI1_WP_PIN` | `P0_22` | | +| `SPI1_HOLD_PIN` | `P0_23` | | +| `ESP32_TXD_PIN` | `P1_04` | | +| `ESP32_RXD_PIN` | `P1_05` | | +| `ESP32_CTS_PIN` | `P1_07` | | +| `ESP32_RTS_PIN` | `P1_06` | | +| `ESP32_BOOT_MODE_PIN` | `P0_16` | | +| `ESP32_WIFI_EN_PIN` | `P0_24` | | +| `ESP32_HOST_WK_PIN` | `P0_07` | | +| `MODE_BUTTON_PIN` | `P0_11` | | +| `CHARGE_STATUS_PIN` | `P1_09` | | +| `LIPO_VOLTAGE_PIN` | `P0_05` | | +| `PCB_ANTENNA_PIN` | `P0_02` | | +| `EXTERNAL_UFL_PIN` | `P0_25` | | +| `NFC1_PIN` | `P0_09` | | +| `NFC2_PIN` | `P0_10` | | + ## Machine Package Docs [Documentation for the machine package for the Particle Argon](../machine/particle-argon) diff --git a/content/docs/reference/microcontrollers/particle-boron.md b/content/docs/reference/microcontrollers/particle-boron.md index b6f2ca34..8457a6f3 100644 --- a/content/docs/reference/microcontrollers/particle-boron.md +++ b/content/docs/reference/microcontrollers/particle-boron.md @@ -18,6 +18,55 @@ weight: 3 | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `A0` | `P0_03` | | +| `A1` | `P0_04` | | +| `A2` | `P0_28` | | +| `A3` | `P0_29` | | +| `A4` | `P0_30` | | +| `A5` | `P0_31` | | +| `D0` | `P0_26` | `SDA_PIN` | +| `D1` | `P0_27` | `SCL_PIN` | +| `D2` | `P1_01` | | +| `D3` | `P1_02` | | +| `D4` | `P1_08` | | +| `D5` | `P1_10` | | +| `D6` | `P1_11` | | +| `D7` | `P1_12` | `LED` | +| `D8` | `P1_03` | | +| `D9` | `P0_06` | `UART_TX_PIN` | +| `D10` | `P0_08` | `UART_RX_PIN` | +| `D11` | `P1_14` | `SPI0_SDI_PIN` | +| `D12` | `P1_13` | `SPI0_SDO_PIN` | +| `D13` | `P1_15` | `SPI0_SCK_PIN` | +| `LED_GREEN` | `P0_14` | | +| `LED_RED` | `P0_13` | | +| `LED_BLUE` | `P0_15` | | +| `SDA1_PIN` | `P0_24` | | +| `SCL1_PIN` | `P1_09` | | +| `INT1_PIN` | `P0_05` | | +| `SPI1_SCK_PIN` | `P0_19` | | +| `SPI1_SDO_PIN` | `P0_20` | | +| `SPI1_SDI_PIN` | `P0_21` | | +| `SPI1_CS_PIN` | `P0_17` | | +| `SPI1_WP_PIN` | `P0_22` | | +| `SPI1_HOLD_PIN` | `P0_23` | | +| `SARA_TXD_PIN` | `P1_05` | | +| `SARA_RXD_PIN` | `P1_04` | | +| `SARA_CTS_PIN` | `P1_06` | | +| `SARA_RTS_PIN` | `P1_07` | | +| `SARA_RESET_PIN` | `P0_12` | | +| `SARA_POWER_ON_PIN` | `P0_16` | | +| `SARA_BUFF_EN_PIN` | `P0_25` | | +| `SARA_VINT_PIN` | `P0_02` | | +| `MODE_BUTTON_PIN` | `P0_11` | | +| `ANTENNA_SEL_PIN` | `P0_07` | | +| `NFC1_PIN` | `P0_09` | | +| `NFC2_PIN` | `P0_10` | | + ## Machine Package Docs [Documentation for the machine package for the Particle Boron](../machine/particle-boron) diff --git a/content/docs/reference/microcontrollers/particle-xenon.md b/content/docs/reference/microcontrollers/particle-xenon.md index 971fe4fb..c7b0b1c3 100644 --- a/content/docs/reference/microcontrollers/particle-xenon.md +++ b/content/docs/reference/microcontrollers/particle-xenon.md @@ -18,6 +18,47 @@ weight: 3 | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `A0` | `P0_03` | | +| `A1` | `P0_04` | | +| `A2` | `P0_28` | | +| `A3` | `P0_29` | | +| `A4` | `P0_30` | | +| `A5` | `P0_31` | | +| `D0` | `P0_26` | `SDA_PIN` | +| `D1` | `P0_27` | `SCL_PIN` | +| `D2` | `P1_01` | | +| `D3` | `P1_02` | | +| `D4` | `P1_08` | | +| `D5` | `P1_10` | | +| `D6` | `P1_11` | | +| `D7` | `P1_12` | `LED` | +| `D8` | `P1_03` | | +| `D9` | `P0_06` | `UART_TX_PIN` | +| `D10` | `P0_08` | `UART_RX_PIN` | +| `D11` | `P1_14` | `SPI0_SDI_PIN` | +| `D12` | `P1_13` | `SPI0_SDO_PIN` | +| `D13` | `P1_15` | `SPI0_SCK_PIN` | +| `LED_GREEN` | `P0_14` | | +| `LED_RED` | `P0_13` | | +| `LED_BLUE` | `P0_15` | | +| `SPI1_SCK_PIN` | `P0_19` | | +| `SPI1_SDO_PIN` | `P0_20` | | +| `SPI1_SDI_PIN` | `P0_21` | | +| `SPI1_CS_PIN` | `P0_17` | | +| `SPI1_WP_PIN` | `P0_22` | | +| `SPI1_HOLD_PIN` | `P0_23` | | +| `MODE_BUTTON_PIN` | `P0_11` | | +| `CHARGE_STATUS_PIN` | `P1_09` | | +| `LIPO_VOLTAGE_PIN` | `P0_05` | | +| `PCB_ANTENNA_PIN` | `P0_24` | | +| `EXTERNAL_UFL_PIN` | `P0_25` | | +| `NFC1_PIN` | `P0_09` | | +| `NFC2_PIN` | `P0_10` | | + ## Machine Package Docs [Documentation for the machine package for the Particle Xenon](../machine/particle-xenon) diff --git a/content/docs/reference/microcontrollers/pca10031.md b/content/docs/reference/microcontrollers/pca10031.md index 7c45c3c1..57f555e0 100644 --- a/content/docs/reference/microcontrollers/pca10031.md +++ b/content/docs/reference/microcontrollers/pca10031.md @@ -18,6 +18,16 @@ The [Nordic Semiconductor PCA10031](https://www.nordicsemi.com/eng/Products/nRF5 | USBDevice | NO | NO | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED1` | `P0_21` | `LED_RED`, `LED` | +| `LED2` | `P0_22` | `LED_GREEN` | +| `LED3` | `P0_23` | `LED_BLUE` | +| `UART_TX_PIN` | `P0_09` | | +| `UART_RX_PIN` | `P0_11` | | + ## Machine Package Docs [Documentation for the machine package for the PCA10031](../machine/pca10031) diff --git a/content/docs/reference/microcontrollers/pca10040.md b/content/docs/reference/microcontrollers/pca10040.md index 88e17a82..4e677279 100644 --- a/content/docs/reference/microcontrollers/pca10040.md +++ b/content/docs/reference/microcontrollers/pca10040.md @@ -18,6 +18,32 @@ The [Nordic Semiconductor PCA10040](https://www.nordicsemi.com/eng/Products/Blue | USBDevice | NO | NO | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED1` | `P0_17` | `LED` | +| `LED2` | `P0_18` | | +| `LED3` | `P0_19` | | +| `LED4` | `P0_20` | | +| `BUTTON1` | `P0_13` | `BUTTON` | +| `BUTTON2` | `P0_14` | | +| `BUTTON3` | `P0_15` | | +| `BUTTON4` | `P0_16` | | +| `UART_TX_PIN` | `P0_06` | | +| `UART_RX_PIN` | `P0_08` | | +| `ADC0` | `P0_03` | | +| `ADC1` | `P0_04` | | +| `ADC2` | `P0_28` | | +| `ADC3` | `P0_29` | | +| `ADC4` | `P0_30` | | +| `ADC5` | `P0_31` | | +| `SDA_PIN` | `P0_26` | | +| `SCL_PIN` | `P0_27` | | +| `SPI0_SCK_PIN` | `P0_25` | | +| `SPI0_SDO_PIN` | `P0_23` | | +| `SPI0_SDI_PIN` | `P0_24` | | + ## Machine Package Docs [Documentation for the machine package for the PCA10040](../machine/pca10040) diff --git a/content/docs/reference/microcontrollers/pca10056.md b/content/docs/reference/microcontrollers/pca10056.md index da78993e..4c800204 100644 --- a/content/docs/reference/microcontrollers/pca10056.md +++ b/content/docs/reference/microcontrollers/pca10056.md @@ -18,6 +18,32 @@ The [Nordic Semiconductor PCA10056](https://www.nordicsemi.com/Software-and-Tool | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED1` | `P0_13` | `LED` | +| `LED2` | `P0_14` | | +| `LED3` | `P0_15` | | +| `LED4` | `P0_16` | | +| `BUTTON1` | `P0_11` | `BUTTON` | +| `BUTTON2` | `P0_12` | | +| `BUTTON3` | `P0_24` | | +| `BUTTON4` | `P0_25` | | +| `UART_TX_PIN` | `P0_06` | | +| `UART_RX_PIN` | `P0_08` | | +| `ADC0` | `P0_03` | | +| `ADC1` | `P0_04` | | +| `ADC2` | `P0_28` | | +| `ADC3` | `P0_29` | | +| `ADC4` | `P0_30` | | +| `ADC5` | `P0_31` | | +| `SDA_PIN` | `P0_26` | | +| `SCL_PIN` | `P0_27` | | +| `SPI0_SCK_PIN` | `P1_15` | | +| `SPI0_SDO_PIN` | `P1_13` | | +| `SPI0_SDI_PIN` | `P1_14` | | + ## Machine Package Docs [Documentation for the machine package for the PCA10056](../machine/pca10056) diff --git a/content/docs/reference/microcontrollers/pca10059.md b/content/docs/reference/microcontrollers/pca10059.md index 168b954a..ad59acd5 100644 --- a/content/docs/reference/microcontrollers/pca10059.md +++ b/content/docs/reference/microcontrollers/pca10059.md @@ -18,6 +18,20 @@ The [Nordic Semiconductor PCA10059](https://www.nordicsemi.com/Software-and-tool | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED1` | `P0_06` | `LED` | +| `LED2` | `P0_08` | | +| `LED3` | `P1_09` | | +| `LED4` | `P0_12` | | +| `BUTTON1` | `P1_06` | `BUTTON` | +| `ADC1` | `P0_02` | | +| `ADC2` | `P0_04` | | +| `ADC3` | `P0_29` | | +| `ADC4` | `P0_31` | | + ## Machine Package Docs [Documentation for the machine package for the PCA10059](../machine/pca10059) diff --git a/content/docs/reference/microcontrollers/pico.md b/content/docs/reference/microcontrollers/pico.md index d32c555e..28a4c940 100644 --- a/content/docs/reference/microcontrollers/pico.md +++ b/content/docs/reference/microcontrollers/pico.md @@ -17,6 +17,39 @@ The [Raspberry Pi Pico](https://www.raspberrypi.org/products/raspberry-pi-pico/) | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `GP0` | `GPIO0` | `UART0_TX_PIN`, `UART_TX_PIN` | +| `GP1` | `GPIO1` | `UART0_RX_PIN`, `UART_RX_PIN` | +| `GP2` | `GPIO2` | `I2C1_SDA_PIN` | +| `GP3` | `GPIO3` | `I2C1_SCL_PIN` | +| `GP4` | `GPIO4` | `I2C0_SDA_PIN` | +| `GP5` | `GPIO5` | `I2C0_SCL_PIN` | +| `GP6` | `GPIO6` | | +| `GP7` | `GPIO7` | | +| `GP8` | `GPIO8` | `UART1_TX_PIN` | +| `GP9` | `GPIO9` | `UART1_RX_PIN` | +| `GP10` | `GPIO10` | `SPI1_SCK_PIN` | +| `GP11` | `GPIO11` | `SPI1_SDO_PIN` | +| `GP12` | `GPIO12` | `SPI1_SDI_PIN` | +| `GP13` | `GPIO13` | | +| `GP14` | `GPIO14` | | +| `GP15` | `GPIO15` | | +| `GP16` | `GPIO16` | `SPI0_SDI_PIN` | +| `GP17` | `GPIO17` | | +| `GP18` | `GPIO18` | `SPI0_SCK_PIN` | +| `GP19` | `GPIO19` | `SPI0_SDO_PIN` | +| `GP20` | `GPIO20` | | +| `GP21` | `GPIO21` | | +| `GP22` | `GPIO22` | | +| `GP26` | `GPIO26` | `ADC0` | +| `GP27` | `GPIO27` | `ADC1` | +| `GP28` | `GPIO28` | `ADC2` | +| `LED` | `GPIO25` | | +| `ADC3` | `GPIO29` | | + ## Machine Package Docs [Documentation for the machine package for the Pico](../machine/pico) diff --git a/content/docs/reference/microcontrollers/pinetime-devkit0.md b/content/docs/reference/microcontrollers/pinetime-devkit0.md index 10e826b5..4bf06c1e 100644 --- a/content/docs/reference/microcontrollers/pinetime-devkit0.md +++ b/content/docs/reference/microcontrollers/pinetime-devkit0.md @@ -17,6 +17,26 @@ The [PineTime](https://wiki.pine64.org/index.php/PineTime) is a smartwatch by [P | PWM | YES | YES | | USBDevice | NO | NO | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED1` | `P0_23` | `LED`, `LCD_BACKLIGHT_HIGH` | +| `LED2` | `P0_22` | `LCD_BACKLIGHT_MID` | +| `LED3` | `P0_14` | `LCD_BACKLIGHT_LOW` | +| `UART_TX_PIN` | `P0_11` | | +| `SPI0_SCK_PIN` | `P0_02` | `LCD_SCK` | +| `SPI0_SDO_PIN` | `P0_03` | `LCD_SDI` | +| `SPI0_SDI_PIN` | `P0_04` | | +| `SDA_PIN` | `P0_06` | | +| `SCL_PIN` | `P0_07` | | +| `BUTTON_IN` | `P0_13` | | +| `BUTTON_OUT` | `P0_15` | | +| `VIBRATOR_PIN` | `P0_16` | | +| `LCD_RS` | `P0_18` | | +| `LCD_CS` | `P0_25` | | +| `LCD_RESET` | `P0_26` | | + ## Machine Package Docs [Documentation for the machine package for the PineTime](../machine/pinetime-devkit0) diff --git a/content/docs/reference/microcontrollers/pybadge.md b/content/docs/reference/microcontrollers/pybadge.md index 4d06f9eb..1679b52c 100644 --- a/content/docs/reference/microcontrollers/pybadge.md +++ b/content/docs/reference/microcontrollers/pybadge.md @@ -19,6 +19,56 @@ It has many built-in devices, such as a 1.8" 160x128 Color TFT Display, 8 x butt | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PB17` | `UART_RX_PIN` | +| `D1` | `PB16` | `UART_TX_PIN` | +| `D2` | `PB03` | `A8` | +| `D3` | `PB02` | `A9` | +| `D4` | `PA14` | | +| `D5` | `PA16` | | +| `D6` | `PA18` | | +| `D7` | `PB14` | | +| `D8` | `PA15` | `NEOPIXELS`, `WS2812` | +| `D9` | `PA19` | | +| `D10` | `PA20` | | +| `D11` | `PA21` | | +| `D12` | `PA22` | | +| `D13` | `PA23` | `LED` | +| `A0` | `PA02` | | +| `A1` | `PA05` | | +| `A2` | `PB08` | | +| `A3` | `PB09` | | +| `A4` | `PA04` | `UART2_TX_PIN` | +| `A5` | `PA06` | `UART2_RX_PIN` | +| `A6` | `PB01` | | +| `A7` | `PB04` | `LIGHTSENSOR` | +| `BUTTON_LATCH` | `PB00` | | +| `BUTTON_OUT` | `PB30` | | +| `BUTTON_CLK` | `PB31` | | +| `TFT_DC` | `PB05` | | +| `TFT_CS` | `PB07` | | +| `TFT_RST` | `PA00` | | +| `TFT_LITE` | `PA01` | | +| `SPEAKER_ENABLE` | `PA27` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `SDA_PIN` | `PA12` | | +| `SCL_PIN` | `PA13` | | +| `SPI0_SCK_PIN` | `PA17` | | +| `SPI0_SDO_PIN` | `PB23` | | +| `SPI0_SDI_PIN` | `PB22` | | +| `SPI1_SCK_PIN` | `PB13` | | +| `SPI1_SDO_PIN` | `PB15` | | +| `QSPI_SCK` | `PB10` | | +| `QSPI_CS` | `PB11` | | +| `QSPI_DATA0` | `PA08` | | +| `QSPI_DATA1` | `PA09` | | +| `QSPI_DATA2` | `PA10` | | +| `QSPI_DATA3` | `PA11` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit PyBadge](../machine/pybadge) diff --git a/content/docs/reference/microcontrollers/pygamer.md b/content/docs/reference/microcontrollers/pygamer.md index f508aec8..630ffd8d 100644 --- a/content/docs/reference/microcontrollers/pygamer.md +++ b/content/docs/reference/microcontrollers/pygamer.md @@ -19,6 +19,58 @@ It has many built-in devices, such as a 1.8" 160x128 Color TFT Display, a dual-p | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PB17` | `UART_RX_PIN` | +| `D1` | `PB16` | `UART_TX_PIN` | +| `D2` | `PB03` | `A8` | +| `D3` | `PB02` | `A9` | +| `D4` | `PA14` | | +| `D5` | `PA16` | | +| `D6` | `PA18` | | +| `D7` | `PB14` | `SD_CS` | +| `D8` | `PA15` | `NEOPIXELS`, `WS2812` | +| `D9` | `PA19` | | +| `D10` | `PA20` | | +| `D11` | `PA21` | | +| `D12` | `PA22` | | +| `D13` | `PA23` | `LED` | +| `A0` | `PA02` | | +| `A1` | `PA05` | | +| `A2` | `PB08` | | +| `A3` | `PB09` | | +| `A4` | `PA04` | `UART2_TX_PIN` | +| `A5` | `PA06` | `UART2_RX_PIN` | +| `A6` | `PB01` | | +| `A7` | `PB04` | `LIGHTSENSOR` | +| `BUTTON_LATCH` | `PB00` | | +| `BUTTON_OUT` | `PB30` | | +| `BUTTON_CLK` | `PB31` | | +| `JOYY` | `PB06` | | +| `JOYX` | `PB07` | | +| `TFT_DC` | `PB05` | | +| `TFT_CS` | `PB12` | | +| `TFT_RST` | `PA00` | | +| `TFT_LITE` | `PA01` | | +| `SPEAKER_ENABLE` | `PA27` | | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | +| `SDA_PIN` | `PA12` | | +| `SCL_PIN` | `PA13` | | +| `SPI0_SCK_PIN` | `PA17` | | +| `SPI0_SDO_PIN` | `PB23` | | +| `SPI0_SDI_PIN` | `PB22` | | +| `SPI1_SCK_PIN` | `PB13` | | +| `SPI1_SDO_PIN` | `PB15` | | +| `QSPI_SCK` | `PB10` | | +| `QSPI_CS` | `PB11` | | +| `QSPI_DATA0` | `PA08` | | +| `QSPI_DATA1` | `PA09` | | +| `QSPI_DATA2` | `PA10` | | +| `QSPI_DATA3` | `PA11` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit PyGamer](../machine/pygamer) diff --git a/content/docs/reference/microcontrollers/pyportal.md b/content/docs/reference/microcontrollers/pyportal.md index 8e97f21c..97f171f8 100644 --- a/content/docs/reference/microcontrollers/pyportal.md +++ b/content/docs/reference/microcontrollers/pyportal.md @@ -19,6 +19,58 @@ The PyPortal also has an Espressif ESP32 Wi-Fi coprocessor with TLS/SSL support | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PB13` | `NINA_RX`, `UART_RX_PIN` | +| `D1` | `PB12` | `NINA_TX`, `UART_TX_PIN` | +| `D2` | `PB22` | `NEOPIXEL`, `WS2812` | +| `D3` | `PA04` | `A1` | +| `D4` | `PA05` | `A3` | +| `D5` | `PB16` | `NINA_ACK` | +| `D6` | `PB15` | `NINA_GPIO0` | +| `D7` | `PB17` | `NINA_RESETN` | +| `D8` | `PB14` | `NINA_CS` | +| `D9` | `PB04` | `TFT_RD` | +| `D10` | `PB05` | `TFT_DC` | +| `D11` | `PB06` | `TFT_CS` | +| `D12` | `PB07` | `TFT_TE` | +| `D13` | `PB23` | `LED` | +| `D24` | `PA00` | `TFT_RESET` | +| `D25` | `PB31` | `TFT_BACKLIGHT` | +| `D26` | `PB09` | `TFT_WR` | +| `D27` | `PB02` | `SDA_PIN` | +| `D28` | `PB03` | `SCL_PIN` | +| `D29` | `PA12` | `SPI0_SDO_PIN`, `NINA_SDO` | +| `D30` | `PA13` | `SPI0_SCK_PIN`, `NINA_SCK` | +| `D31` | `PA14` | `SPI0_SDI_PIN`, `NINA_SDI` | +| `D32` | `PB30` | | +| `D33` | `PA01` | | +| `D34` | `PA16` | `LCD_DATA0` | +| `D35` | `PA17` | | +| `D36` | `PA18` | | +| `D37` | `PA19` | | +| `D38` | `PA20` | | +| `D39` | `PA21` | | +| `D40` | `PA22` | | +| `D41` | `PA23` | | +| `D42` | `PB10` | `QSPI_SCK` | +| `D43` | `PB11` | `QSPI_CS` | +| `D44` | `PA08` | `QSPI_DATA0` | +| `D45` | `PA09` | `QSPI_DATA1` | +| `D46` | `PA10` | `QSPI_DATA2` | +| `D47` | `PA11` | `QSPI_DATA3` | +| `D50` | `PA02` | `SPK_SD`, `A0`, `AUDIO_OUT` | +| `D51` | `PA15` | `NINA_RTS` | +| `A2` | `PA07` | `LIGHT` | +| `A4` | `PB00` | `TOUCH_YD` | +| `A5` | `PB01` | `TOUCH_XL` | +| `A6` | `PA06` | `TOUCH_YU` | +| `A7` | `PB08` | `TOUCH_XR` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit PyPortal](../machine/pyportal) diff --git a/content/docs/reference/microcontrollers/qtpy.md b/content/docs/reference/microcontrollers/qtpy.md index acc5aa82..02c85821 100644 --- a/content/docs/reference/microcontrollers/qtpy.md +++ b/content/docs/reference/microcontrollers/qtpy.md @@ -17,6 +17,31 @@ The [Adafruit QtPy](https://www.adafruit.com/product/4600) is a tiny ARM develop | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA02` | | +| `D1` | `PA03` | `A0`, `A1` | +| `D2` | `PA04` | `A2` | +| `D3` | `PA05` | `A3` | +| `D4` | `PA16` | `A4`, `SDA_PIN` | +| `D5` | `PA17` | `SCL_PIN` | +| `D6` | `PA06` | `UART_TX_PIN` | +| `D7` | `PA07` | `UART_RX_PIN` | +| `D8` | `PA11` | `SPI0_SCK_PIN` | +| `D9` | `PA09` | `SPI0_SDI_PIN` | +| `D10` | `PA10` | `SPI0_SDO_PIN`, `I2S_SCK_PIN` | +| `D11` | `PA18` | `NEOPIXELS`, `WS2812` | +| `D12` | `PA15` | `NEOPIXELS_POWER` | +| `D13` | `PA27` | | +| `D14` | `PA23` | | +| `D15` | `PA19` | | +| `D16` | `PA22` | | +| `D17` | `PA08` | `I2S_SD_PIN` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit QtPy](../machine/qtpy) diff --git a/content/docs/reference/microcontrollers/reelboard.md b/content/docs/reference/microcontrollers/reelboard.md index c50f7be7..d65f38c7 100644 --- a/content/docs/reference/microcontrollers/reelboard.md +++ b/content/docs/reference/microcontrollers/reelboard.md @@ -20,6 +20,30 @@ It is equipped with an Electrophoretic (electronic ink) Display (EPD), along wit | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED_RED` | `P0_11` | `LED2` | +| `LED_GREEN` | `P0_12` | `LED3` | +| `LED_BLUE` | `P1_09` | `LED4` | +| `LED_YELLOW` | `P0_13` | `LED1`, `LED` | +| `EPD_BUSY_PIN` | `P0_14` | | +| `EPD_RESET_PIN` | `P0_15` | | +| `EPD_DC_PIN` | `P0_16` | | +| `EPD_CS_PIN` | `P0_17` | | +| `EPD_SCK_PIN` | `P0_19` | | +| `EPD_SDO_PIN` | `P0_20` | | +| `POWER_SUPPLY_PIN` | `P1_00` | | +| `BUTTON` | `P0_07` | | +| `UART_TX_PIN` | `P0_06` | | +| `UART_RX_PIN` | `P0_08` | | +| `SDA_PIN` | `P0_26` | | +| `SCL_PIN` | `P0_27` | | +| `SPI0_SCK_PIN` | `P1_15` | | +| `SPI0_SDO_PIN` | `P1_13` | | +| `SPI0_SDI_PIN` | `P1_14` | | + ## Machine Package Docs [Documentation for the machine package for the reel board](../machine/reelboard) diff --git a/content/docs/reference/microcontrollers/stm32f4disco.md b/content/docs/reference/microcontrollers/stm32f4disco.md index 985fafaf..05723f1b 100644 --- a/content/docs/reference/microcontrollers/stm32f4disco.md +++ b/content/docs/reference/microcontrollers/stm32f4disco.md @@ -20,6 +20,36 @@ CS43L22 audio DAC, 2 user buttons, and 4 user LEDs. | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED1` | `PD12` | `LED_GREEN`, `LED`, `LED_BUILTIN` | +| `LED2` | `PD13` | `LED_ORANGE` | +| `LED3` | `PD14` | `LED_RED` | +| `LED4` | `PD15` | `LED_BLUE` | +| `BUTTON` | `PA0` | `ADC0` | +| `ADC1` | `PA1` | | +| `ADC2` | `PA2` | `UART_TX_PIN` | +| `ADC3` | `PA3` | `UART_RX_PIN` | +| `ADC4` | `PA4` | | +| `ADC5` | `PA5` | `SPI1_SCK_PIN`, `SPI0_SCK_PIN` | +| `ADC6` | `PA6` | `SPI1_SDI_PIN`, `SPI0_SDI_PIN` | +| `ADC7` | `PA7` | `SPI1_SDO_PIN`, `SPI0_SDO_PIN` | +| `ADC8` | `PB0` | | +| `ADC9` | `PB1` | | +| `ADC10` | `PC0` | | +| `ADC11` | `PC1` | | +| `ADC12` | `PC2` | | +| `ADC13` | `PC3` | | +| `ADC14` | `PC4` | | +| `ADC15` | `PC5` | | +| `MEMS_ACCEL_CS` | `PE3` | | +| `MEMS_ACCEL_INT1` | `PE0` | | +| `MEMS_ACCEL_INT2` | `PE1` | | +| `I2C0_SCL_PIN` | `PB6` | | +| `I2C0_SDA_PIN` | `PB9` | | + ## Machine Package Docs [Documentation for the machine package for the STM32F4 Discovery](../machine/stm32f4disco) diff --git a/content/docs/reference/microcontrollers/swan.md b/content/docs/reference/microcontrollers/swan.md index b20a2ec7..912070f4 100644 --- a/content/docs/reference/microcontrollers/swan.md +++ b/content/docs/reference/microcontrollers/swan.md @@ -19,6 +19,19 @@ The Swan has a user button and an LED, LiPo charging and USB. | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED` | `PE2` | | +| `UART_TX_PIN` | `PA9` | | +| `UART_RX_PIN` | `PA10` | | +| `I2C0_SCL_PIN` | `PB6` | | +| `I2C0_SDA_PIN` | `PB7` | | +| `SPI1_SCK_PIN` | `PD1` | `SPI0_SCK_PIN` | +| `SPI1_SDI_PIN` | `PB14` | `SPI0_SDI_PIN` | +| `SPI1_SDO_PIN` | `PB15` | `SPI0_SDO_PIN` | + ## Machine Package Docs [Documentation for the machine package for the Swan](../machine/swan) diff --git a/content/docs/reference/microcontrollers/teensy36.md b/content/docs/reference/microcontrollers/teensy36.md index c787bbeb..170fc9fe 100644 --- a/content/docs/reference/microcontrollers/teensy36.md +++ b/content/docs/reference/microcontrollers/teensy36.md @@ -17,6 +17,75 @@ The [PJRC Teensy 3.6](https://www.pjrc.com/store/teensy36.html) is a small ARM d | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D00` | `PB16` | | +| `D01` | `PB17` | | +| `D02` | `PD00` | | +| `D03` | `PA12` | | +| `D04` | `PA13` | | +| `D05` | `PD07` | | +| `D06` | `PD04` | | +| `D07` | `PD02` | | +| `D08` | `PD03` | | +| `D09` | `PC03` | | +| `D10` | `PC04` | | +| `D11` | `PC06` | | +| `D12` | `PC07` | | +| `D13` | `PC05` | `LED` | +| `D14` | `PD01` | | +| `D15` | `PC00` | | +| `D16` | `PB00` | | +| `D17` | `PB01` | | +| `D18` | `PB03` | | +| `D19` | `PB02` | | +| `D20` | `PD05` | | +| `D21` | `PD06` | | +| `D22` | `PC01` | | +| `D23` | `PC02` | | +| `D24` | `PE26` | | +| `D25` | `PA05` | | +| `D26` | `PA14` | | +| `D27` | `PA15` | | +| `D28` | `PA16` | | +| `D29` | `PB18` | | +| `D30` | `PB19` | | +| `D31` | `PB10` | | +| `D32` | `PB11` | | +| `D33` | `PE24` | | +| `D34` | `PE25` | | +| `D35` | `PC08` | | +| `D36` | `PC09` | | +| `D37` | `PC10` | | +| `D38` | `PC11` | | +| `D39` | `PA17` | | +| `D40` | `PA28` | | +| `D41` | `PA29` | | +| `D42` | `PA26` | | +| `D43` | `PB20` | | +| `D44` | `PB22` | | +| `D45` | `PB23` | | +| `D46` | `PB21` | | +| `D47` | `PD08` | | +| `D48` | `PD09` | | +| `D49` | `PB04` | | +| `D50` | `PB05` | | +| `D51` | `PD14` | | +| `D52` | `PD13` | | +| `D53` | `PD12` | | +| `D54` | `PD15` | | +| `D55` | `PD11` | | +| `D56` | `PE10` | | +| `D57` | `PE11` | | +| `D58` | `PE00` | | +| `D59` | `PE01` | | +| `D60` | `PE02` | | +| `D61` | `PE03` | | +| `D62` | `PE04` | | +| `D63` | `PE05` | | + ## Machine Package Docs [Documentation for the machine package for the Teensy 3.6](../machine/teensy36) diff --git a/content/docs/reference/microcontrollers/teensy40.md b/content/docs/reference/microcontrollers/teensy40.md index 2e0bf8a2..dc5a3c5c 100644 --- a/content/docs/reference/microcontrollers/teensy40.md +++ b/content/docs/reference/microcontrollers/teensy40.md @@ -17,6 +17,51 @@ The [PJRC Teensy 4.0](https://www.pjrc.com/store/teensy40.html) is a small ARM d | PWM | YES | Not yet | | USBDevice | YES | Not yet | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA3` | `UART_RX_PIN`, `UART1_RX_PIN`, `SPI2_CS_PIN` | +| `D1` | `PA2` | `UART_TX_PIN`, `UART1_TX_PIN`, `SPI2_SDI_PIN` | +| `D2` | `PD4` | | +| `D3` | `PD5` | | +| `D4` | `PD6` | | +| `D5` | `PD8` | | +| `D6` | `PB10` | | +| `D7` | `PB17` | `UART2_RX_PIN` | +| `D8` | `PB16` | `UART2_TX_PIN` | +| `D9` | `PB11` | | +| `D10` | `PB0` | `SPI_CS_PIN`, `SPI1_CS_PIN` | +| `D11` | `PB2` | `SPI_SDO_PIN`, `SPI1_SDO_PIN` | +| `D12` | `PB1` | `SPI_SDI_PIN`, `SPI1_SDI_PIN` | +| `D13` | `PB3` | `LED`, `SPI_SCK_PIN`, `SPI1_SCK_PIN` | +| `D14` | `PA18` | `A0`, `UART3_TX_PIN` | +| `D15` | `PA19` | `A1`, `UART3_RX_PIN` | +| `D16` | `PA23` | `A2`, `UART4_RX_PIN`, `I2C2_SCL_PIN` | +| `D17` | `PA22` | `A3`, `UART4_TX_PIN`, `I2C2_SDA_PIN` | +| `D18` | `PA17` | `A4`, `I2C_SDA_PIN`, `I2C1_SDA_PIN` | +| `D19` | `PA16` | `A5`, `I2C_SCL_PIN`, `I2C1_SCL_PIN` | +| `D20` | `PA26` | `A6`, `UART5_TX_PIN` | +| `D21` | `PA27` | `A7`, `UART5_RX_PIN` | +| `D22` | `PA24` | `A8` | +| `D23` | `PA25` | `A9` | +| `D24` | `PA12` | `A10`, `UART6_TX_PIN`, `I2C3_SCL_PIN` | +| `D25` | `PA13` | `A11`, `UART6_RX_PIN`, `I2C3_SDA_PIN` | +| `D26` | `PA30` | `A12`, `SPI2_SDO_PIN` | +| `D27` | `PA31` | `A13`, `SPI2_SCK_PIN` | +| `D28` | `PC18` | `UART7_RX_PIN` | +| `D29` | `PD31` | `UART7_TX_PIN` | +| `D30` | `PC23` | | +| `D31` | `PC22` | | +| `D32` | `PB12` | | +| `D33` | `PD7` | | +| `D34` | `PC15` | `SPI3_SDI_PIN` | +| `D35` | `PC14` | `SPI3_SDO_PIN` | +| `D36` | `PC13` | `SPI3_CS_PIN` | +| `D37` | `PC12` | `SPI3_SCK_PIN` | +| `D38` | `PC17` | | +| `D39` | `PC16` | | + ## Machine Package Docs [Documentation for the machine package for the Teensy 4.0](../machine/teensy40) diff --git a/content/docs/reference/microcontrollers/thingplus-rp2040.md b/content/docs/reference/microcontrollers/thingplus-rp2040.md index 4dec0e46..0f849d7a 100644 --- a/content/docs/reference/microcontrollers/thingplus-rp2040.md +++ b/content/docs/reference/microcontrollers/thingplus-rp2040.md @@ -21,6 +21,38 @@ Peripherals: | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `GP0` | `GPIO0` | `UART0_TX_PIN`, `UART_TX_PIN` | +| `GP1` | `GPIO1` | `UART0_RX_PIN`, `UART_RX_PIN` | +| `GP2` | `GPIO2` | `SPI0_SCK_PIN` | +| `GP3` | `GPIO3` | `SPI0_SDO_PIN` | +| `GP4` | `GPIO4` | `SPI0_SDI_PIN` | +| `GP6` | `GPIO6` | `I2C0_SCL_PIN`, `I2C1_SDA_PIN`, `SDA_PIN` | +| `GP7` | `GPIO7` | `I2C0_SDA_PIN`, `I2C1_SCL_PIN`, `SCL_PIN` | +| `GP8` | `GPIO8` | | +| `GP9` | `GPIO9` | | +| `GP10` | `GPIO10` | | +| `GP11` | `GPIO11` | | +| `GP12` | `GPIO12` | `SPI1_SDI_PIN` | +| `GP14` | `GPIO14` | `SPI1_SCK_PIN` | +| `GP15` | `GPIO15` | `SPI1_SDO_PIN` | +| `GP16` | `GPIO16` | | +| `GP17` | `GPIO17` | | +| `GP18` | `GPIO18` | | +| `GP19` | `GPIO19` | | +| `GP20` | `GPIO20` | | +| `GP21` | `GPIO21` | | +| `GP22` | `GPIO22` | | +| `GP23` | `GPIO23` | | +| `GP25` | `GPIO25` | `LED` | +| `GP26` | `GPIO26` | `A0`, `ADC0` | +| `GP27` | `GPIO27` | `A1`, `ADC1` | +| `GP28` | `GPIO28` | `A2`, `ADC2` | +| `GP29` | `GPIO29` | `A3`, `ADC3` | + ## Machine Package Docs [Documentation for the machine package for the Sparkfun Thing Plus RP2040](../machine/thingplus-rp2040) diff --git a/content/docs/reference/microcontrollers/trinket-m0.md b/content/docs/reference/microcontrollers/trinket-m0.md index 6f2ed8fb..7cfd0224 100644 --- a/content/docs/reference/microcontrollers/trinket-m0.md +++ b/content/docs/reference/microcontrollers/trinket-m0.md @@ -17,6 +17,19 @@ The [Adafruit Trinket M0](https://www.adafruit.com/product/3500) is a tiny ARM d | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA08` | `A2`, `SDA_PIN`, `I2S_SD_PIN` | +| `D1` | `PA02` | `A0` | +| `D2` | `PA09` | `A1`, `SPI0_SDI_PIN`, `SCL_PIN` | +| `D3` | `PA07` | `A3`, `UART_RX_PIN`, `SPI0_SCK_PIN` | +| `D4` | `PA06` | `A4`, `UART_TX_PIN`, `SPI0_SDO_PIN` | +| `D13` | `PA10` | `LED`, `I2S_SCK_PIN` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | + ## Machine Package Docs [Documentation for the machine package for the Adafruit Trinket M0](../machine/trinket-m0) diff --git a/content/docs/reference/microcontrollers/wioterminal.md b/content/docs/reference/microcontrollers/wioterminal.md index 628a8733..399b8fc7 100644 --- a/content/docs/reference/microcontrollers/wioterminal.md +++ b/content/docs/reference/microcontrollers/wioterminal.md @@ -17,6 +17,102 @@ The [Seeed Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) i | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `ADC0` | `PB08` | `D0`, `A0`, `BCM27`, `RPI_A0` | +| `ADC1` | `PB09` | `D1`, `A1`, `BCM22`, `RPI_A1` | +| `ADC2` | `PA07` | `D2`, `A2`, `BCM13`, `BCM23`, `RPI_A2` | +| `ADC3` | `PB04` | `D3`, `A3`, `BCM24`, `RPI_A3` | +| `ADC4` | `PB05` | `D4`, `A4`, `BCM25`, `RPI_A4` | +| `ADC5` | `PB06` | `D5`, `A5`, `BCM12`, `RPI_A5` | +| `ADC6` | `PA04` | `D6`, `A6`, `RPI_A6` | +| `ADC7` | `PB07` | `D7`, `A7`, `BCM16`, `RPI_A7` | +| `ADC8` | `PA06` | `D8`, `A8`, `BCM26`, `RPI_A8` | +| `LED` | `PA15` | `PIN_LED_13`, `PIN_LED_RXL`, `PIN_LED_TXL`, `PIN_LED`, `PIN_LED2`, `PIN_LED3`, `LED_BUILTIN`, `PIN_NEOPIXEL` | +| `BUTTON` | `PC26` | `BUTTON_1`, `WIO_KEY_A` | +| `BCM0` | `PA13` | `PIN_WIRE1_SDA`, `SDA1`, `PIN_GYROSCOPE_WIRE_SDA`, `WIO_LIS3DH_SDA`, `SDA0_PIN` | +| `BCM1` | `PA12` | `PIN_WIRE1_SCL`, `SCL1`, `PIN_GYROSCOPE_WIRE_SCL`, `WIO_LIS3DH_SCL`, `SCL0_PIN` | +| `BCM2` | `PA17` | `PIN_WIRE_SDA`, `SDA`, `SDA1_PIN`, `SDA_PIN` | +| `BCM3` | `PA16` | `PIN_WIRE_SCL`, `SCL`, `SCL1_PIN`, `SCL_PIN` | +| `BCM4` | `PB14` | `GCLK0` | +| `BCM5` | `PB12` | `GCLK1` | +| `BCM6` | `PB13` | `GCLK2` | +| `BCM7` | `PA05` | `PIN_DAC1` | +| `BCM8` | `PB01` | `PIN_SPI_SS`, `SS` | +| `BCM9` | `PB00` | `PIN_SPI_SDI`, `SDI`, `SPI0_SDI_PIN` | +| `BCM10` | `PB02` | `PIN_SPI_SDO`, `SDO`, `SPI0_SDO_PIN` | +| `BCM11` | `PB03` | `PIN_SPI_SCK`, `SCK`, `SPI0_SCK_PIN` | +| `BCM14` | `PB27` | `PIN_SERIAL1_RX`, `UART_RX_PIN` | +| `BCM15` | `PB26` | `PIN_SERIAL1_TX`, `UART_TX_PIN` | +| `BCM17` | `PA02` | `PIN_DAC0` | +| `BCM18` | `PB28` | `FPC1` | +| `BCM19` | `PA20` | `PIN_I2S_FS`, `I2S_LRCLK` | +| `BCM20` | `PA21` | `PIN_I2S_SDI`, `I2S_SDIN` | +| `BCM21` | `PA22` | `PIN_I2S_SDO`, `I2S_SDOUT` | +| `FPC2` | `PB17` | | +| `FPC3` | `PB29` | | +| `FPC4` | `PA14` | | +| `FPC5` | `PC01` | | +| `FPC6` | `PC02` | | +| `FPC7` | `PC03` | | +| `FPC8` | `PC04` | | +| `FPC9` | `PC31` | | +| `FPC10` | `PD00` | | +| `PIN_USB_DM` | `PA24` | `USBCDC_DM_PIN` | +| `PIN_USB_DP` | `PA25` | `USBCDC_DP_PIN` | +| `PIN_USB_HOST_ENABLE` | `PA27` | | +| `BUTTON_2` | `PC27` | `WIO_KEY_B` | +| `BUTTON_3` | `PC28` | `WIO_KEY_C` | +| `SWITCH_X` | `PD20` | `WIO_5S_UP` | +| `SWITCH_Y` | `PD12` | `WIO_5S_LEFT` | +| `SWITCH_Z` | `PD09` | `WIO_5S_RIGHT` | +| `SWITCH_B` | `PD08` | `WIO_5S_DOWN` | +| `SWITCH_U` | `PD10` | `WIO_5S_PRESS` | +| `IRQ0` | `PC20` | | +| `BUZZER_CTR` | `PD11` | `WIO_BUZZER` | +| `MIC_INPUT` | `PC30` | `WIO_MIC` | +| `PIN_SERIAL2_RX` | `PC23` | `UART2_RX_PIN` | +| `PIN_SERIAL2_TX` | `PC22` | `UART2_TX_PIN` | +| `GYROSCOPE_INT1` | `PC21` | `WIO_LIS3DH_INT` | +| `PIN_SPI1_SDI` | `PC24` | `SDI1`, `RTL8720D_SDI_PIN`, `SPI1_SDI_PIN` | +| `PIN_SPI1_SDO` | `PB24` | `SDO1`, `RTL8720D_SDO_PIN`, `SPI1_SDO_PIN` | +| `PIN_SPI1_SCK` | `PB25` | `SCK1`, `RTL8720D_SCK_PIN`, `SPI1_SCK_PIN` | +| `PIN_SPI1_SS` | `PC25` | `SS1`, `RTL8720D_SS_PIN` | +| `PIN_SPI2_SDI` | `PC18` | `SDI2`, `SDCARD_SDI_PIN`, `SPI2_SDI_PIN` | +| `PIN_SPI2_SDO` | `PC16` | `SDO2`, `SDCARD_SDO_PIN`, `SPI2_SDO_PIN` | +| `PIN_SPI2_SCK` | `PC17` | `SCK2`, `SDCARD_SCK_PIN`, `SPI2_SCK_PIN` | +| `PIN_SPI2_SS` | `PC19` | `SS2`, `SDCARD_SS_PIN` | +| `PIN_SPI3_SDI` | `PB18` | `SDI3`, `LCD_SDI_PIN`, `SPI3_SDI_PIN` | +| `PIN_SPI3_SDO` | `PB19` | `SDO3`, `LCD_SDO_PIN`, `SPI3_SDO_PIN` | +| `PIN_SPI3_SCK` | `PB20` | `SCK3`, `LCD_SCK_PIN`, `SPI3_SCK_PIN` | +| `PIN_SPI3_SS` | `PB21` | `SS3`, `LCD_SS_PIN` | +| `SDCARD_DET_PIN` | `PD21` | | +| `LCD_DC` | `PC06` | | +| `LCD_RESET` | `PC07` | | +| `LCD_BACKLIGHT` | `PC05` | | +| `LCD_XL` | `PC10` | | +| `LCD_YU` | `PC11` | | +| `LCD_XR` | `PC12` | | +| `LCD_YD` | `PC13` | | +| `PIN_QSPI_IO0` | `PA08` | `QSPI_DATA0` | +| `PIN_QSPI_IO1` | `PA09` | `QSPI_DATA1` | +| `PIN_QSPI_IO2` | `PA10` | `QSPI_DATA2` | +| `PIN_QSPI_IO3` | `PA11` | `QSPI_DATA3` | +| `PIN_QSPI_SCK` | `PB10` | `QSPI_SCK` | +| `PIN_QSPI_CS` | `PB11` | `QSPI_CS` | +| `PIN_I2S_SCK` | `PB16` | `I2S_BLCK` | +| `RTL8720D_CHIP_PU` | `PA18` | | +| `RTL8720D_GPIO0` | `PA19` | | +| `SWDCLK` | `PA30` | | +| `SWDIO` | `PA31` | | +| `SWO` | `PB30` | | +| `WIO_LIGHT` | `PD01` | | +| `WIO_IR` | `PB31` | | +| `OUTPUT_CTR_5V` | `PC14` | | +| `OUTPUT_CTR_3V3` | `PC15` | | + ## Machine Package Docs [Documentation for the machine package for the Seeed Wio Terminal](../machine/wioterminal) diff --git a/content/docs/reference/microcontrollers/x9pro.md b/content/docs/reference/microcontrollers/x9pro.md index e28ed11f..7735a5ea 100644 --- a/content/docs/reference/microcontrollers/x9pro.md +++ b/content/docs/reference/microcontrollers/x9pro.md @@ -17,6 +17,22 @@ Info here | PWM | ? | ? | | USBDevice | ? | ? | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `LED` | `P0_04` | | +| `SPI0_SCK_PIN` | `P0_18` | | +| `SPI0_SDI_PIN` | `P0_19` | | +| `SPI0_SDO_PIN` | `P0_20` | | +| `OLED_CS` | `P0_15` | | +| `OLED_RES` | `P0_14` | | +| `OLED_DC` | `P0_13` | | +| `OLED_SCK` | `P0_12` | | +| `OLED_SDO` | `P0_11` | | +| `OLED_LED_POW` | `P0_16` | | +| `OLED_IC_POW` | `P0_17` | | + ## Machine Package Docs [Documentation for the machine package for the X9 Pro](../machine/x9pro) diff --git a/content/docs/reference/microcontrollers/xiao-ble.md b/content/docs/reference/microcontrollers/xiao-ble.md index 9a99721f..5f52a5d2 100644 --- a/content/docs/reference/microcontrollers/xiao-ble.md +++ b/content/docs/reference/microcontrollers/xiao-ble.md @@ -18,6 +18,33 @@ The [Seeed XIAO BLE](https://www.seeedstudio.com/Seeed-XIAO-BLE-nRF52840-p-5201. | USBDevice | YES | YES | | Bluetooth | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `P0_02` | `A0` | +| `D1` | `P0_03` | `A1` | +| `D2` | `P0_28` | `A2` | +| `D3` | `P0_29` | `A3` | +| `D4` | `P0_04` | `A4`, `SDA0_PIN` | +| `D5` | `P0_05` | `A5`, `SCL0_PIN` | +| `D6` | `P1_11` | `UART_TX_PIN` | +| `D7` | `P1_12` | `UART_RX_PIN` | +| `D8` | `P1_13` | `SPI0_SCK_PIN` | +| `D9` | `P1_14` | `SPI0_SDO_PIN` | +| `D10` | `P1_15` | `SPI0_SDI_PIN` | +| `LED` | `P0_17` | `LED_CHG` | +| `LED1` | `P0_26` | `LED_RED` | +| `LED2` | `P0_30` | `LED_GREEN` | +| `LED3` | `P0_06` | `LED_BLUE` | +| `SDA_PIN` | `P0_07` | `SDA1_PIN` | +| `SCL_PIN` | `P0_27` | `SCL1_PIN` | +| `LSM_PWR` | `P1_08` | | +| `LSM_INT` | `P0_11` | | +| `MIC_PWR` | `P1_10` | | +| `MIC_CLK` | `P1_00` | | +| `MIC_DIN` | `P0_16` | | + ## Machine Package Docs [Documentation for the machine package for the Seeed XIAO BLE](../machine/xiao-ble) diff --git a/content/docs/reference/microcontrollers/xiao.md b/content/docs/reference/microcontrollers/xiao.md index 8898daf7..d56c3e0a 100644 --- a/content/docs/reference/microcontrollers/xiao.md +++ b/content/docs/reference/microcontrollers/xiao.md @@ -17,6 +17,27 @@ The [Seeed Seeeduino XIAO](https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Mi | PWM | YES | YES | | USBDevice | YES | YES | +## Pins + +| Pin | Hardware pin | Alternative names | +| ----------------- | ------------ | ----------------- | +| `D0` | `PA02` | `A0` | +| `D1` | `PA04` | `A1` | +| `D2` | `PA10` | `A2`, `I2S_SCK_PIN` | +| `D3` | `PA11` | `A3` | +| `D4` | `PA08` | `A4`, `SDA_PIN`, `I2S_SD_PIN` | +| `D5` | `PA09` | `A5`, `SCL_PIN` | +| `D6` | `PB08` | `A6`, `UART_TX_PIN` | +| `D7` | `PB09` | `A7`, `UART_RX_PIN` | +| `D8` | `PA07` | `A8`, `SPI0_SCK_PIN` | +| `D9` | `PA05` | `A9`, `SPI0_SDI_PIN` | +| `D10` | `PA06` | `A10`, `SPI0_SDO_PIN` | +| `LED` | `PA17` | | +| `LED_RXL` | `PA18` | `LED2` | +| `LED_TXL` | `PA19` | `LED3` | +| `USBCDC_DM_PIN` | `PA24` | | +| `USBCDC_DP_PIN` | `PA25` | | + ## Machine Package Docs [Documentation for the machine package for the Seeed Seeeduino XIAO](../machine/xiao) diff --git a/doc-gen/main.go b/doc-gen/main.go index 02b1baf7..a95e1fce 100644 --- a/doc-gen/main.go +++ b/doc-gen/main.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" "go/ast" + "go/constant" "go/printer" "go/token" "go/types" @@ -12,6 +13,7 @@ import ( "os" "os/exec" "path/filepath" + "regexp" "strings" "text/template" @@ -35,6 +37,19 @@ type Type struct { Funcs map[string]*ast.FuncDecl } +type Pin struct { + HardwareName string + OtherNames []string +} + +// Match formats: +// - PA0 (AVR) +// - PA00 (Microchip SAM series) +// - P0_00 (nrf series), +// - GPIO0 (esp series, rp2040) +// - P00 (sifive) +var pinIsHardwareName = regexp.MustCompile("^(P[A-Z][0-9]+|P[0-1]_[0-9]{2}|GPIO[0-9]+|P[0-9]{2})$") + var markdownTemplateText = ` --- title: {{.Target}} @@ -283,6 +298,19 @@ func writeMachinePackageDoc(path, target string, pkg *packages.Package) error { return tpl.Execute(f, doc) } +func findSection(name, doc string) (start, end int, err error) { + start = strings.Index(doc, fmt.Sprintf("## %s\n", name)) + if start < 0 { + return 0, 0, fmt.Errorf("could not find '%s' header", name) + } + endOffset := strings.Index(doc[start:], "\n## ") + if endOffset < 0 { + return 0, 0, fmt.Errorf("could not find end of '%s' header", name) + } + end = start + endOffset + return +} + func updateBoardDocumentation(path string, pkg *packages.Package, buildTags []string) error { features := detectSupportedFeatures(pkg, buildTags) @@ -294,15 +322,10 @@ func updateBoardDocumentation(path string, pkg *packages.Package, buildTags []st doc := string(docBuf) // Find "Interfaces" section. - start := strings.Index(doc, "## Interfaces\n") - if start < 0 { - return fmt.Errorf("could not find 'Interface' header") - } - endOffset := strings.Index(doc[start:], "\n## ") - if endOffset < 0 { - return fmt.Errorf("could not find end of 'Interface' header") + start, end, err := findSection("Interfaces", doc) + if err != nil { + return err } - end := start + endOffset // Create new "Interfaces" section based on the previous section. interfacesText := "## Interfaces\n\n| Interface | Hardware Supported | TinyGo Support |\n| --------- | ------------- | ----- |\n" @@ -336,6 +359,18 @@ func updateBoardDocumentation(path string, pkg *packages.Package, buildTags []st // Replace the "Interfaces" section. doc = doc[:start] + interfacesText + doc[end:] + start, end, err = findSection("Pins", doc) + if err == nil { + // There is a pins section. Update it from the machine package. + pinsText, err := getPinsSection(pkg) + if err != nil { + return err + } + + // Replace the "Pins" section. + doc = doc[:start] + pinsText + doc[end:] + } + // Write out the updated documentation. err = ioutil.WriteFile(path+".tmp", []byte(doc), 0o666) if err != nil { @@ -430,3 +465,123 @@ func detectSupportedFeatures(pkg *packages.Package, buildTags []string) map[stri return features } + +func getPinsSection(pkg *packages.Package) (string, error) { + // Find board pin names + pinNames := make(map[string]uint64) + hardwarePins := make(map[string]struct{}) + var pinNamesSlice []string + for _, file := range pkg.Syntax { + for _, decl := range file.Decls { + switch decl := decl.(type) { + case *ast.GenDecl: + if decl.Tok != token.CONST { + continue + } + for _, spec := range decl.Specs { + // Found a constant. + spec := spec.(*ast.ValueSpec) + name := spec.Names[0].Name + if !ast.IsExported(name) { + continue + } + obj := pkg.Types.Scope().Lookup(name) + if obj.Type().String() != "machine.Pin" { + continue + } + val, ok := constant.Uint64Val(obj.(*types.Const).Val()) + if !ok { + return "", fmt.Errorf("expected pin %s with value %s to be representable by uint64", name, obj.(*types.Const).Val()) + } + pinNamesSlice = append(pinNamesSlice, name) + pinNames[name] = val + if isHardwarePin(name, spec.Values) { + hardwarePins[name] = struct{}{} + } + } + } + } + } + if _, ok := pinNames["NoPin"]; !ok { + return "", fmt.Errorf("could not find NoPin constant") + } + var exposedPins []*Pin + pins := make(map[uint64]*Pin) + for _, name := range pinNamesSlice { + if name == "NoPin" || pinNames[name] == pinNames["NoPin"] { + continue + } + num := pinNames[name] + pin, ok := pins[num] + if !ok { + pin = &Pin{} + pins[num] = pin + } + if _, ok := hardwarePins[name]; ok { + // Hardware name + if pin.HardwareName != "" { + return "", fmt.Errorf("duplicate hardware pin name: %s and %s", pin.HardwareName, name) + } + pin.HardwareName = name + } else { + // Other name + if len(pin.OtherNames) == 0 { + exposedPins = append(exposedPins, pin) + } + pin.OtherNames = append(pin.OtherNames, name) + } + } + + pinsText := "## Pins\n\n| Pin | Hardware pin | Alternative names |\n| ----------------- | ------------ | ----------------- |\n" + for _, pin := range exposedPins { + if pin.HardwareName == "" { + return "", fmt.Errorf("could not find hardware pin name for %s", pin.OtherNames[0]) + } + alternativeNames := make([]string, 0, len(pin.OtherNames)-1) + for _, name := range pin.OtherNames[1:] { + alternativeNames = append(alternativeNames, "`"+name+"`") + } + pinsText += fmt.Sprintf("| %-17s | %-12s | %-17s |\n", "`"+pin.OtherNames[0]+"`", "`"+pin.HardwareName+"`", strings.Join(alternativeNames, ", ")) + } + + return pinsText, nil +} + +// Return whether this pin looks like a hardware pin name. A hardware pin +// constant is a constant like PB02 on the Arduino: a constant defined by the +// chip, and not the board (which would be pin 13, D13, or the LED pin). +func isHardwarePin(name string, values []ast.Expr) bool { + if !pinIsHardwareName.MatchString(name) { + return false + } + if len(values) == 0 { + // Pin constant is probably part of a constant like this: + // const ( + // GPIO0 Pin = iota + // GPIO1 + // GPIO2 + // // etc + // ) + return true + } + switch value := values[0].(type) { + case *ast.BasicLit: + // For example: + // const GPIO5 Pin = 5 + return true + case *ast.BinaryExpr: + // For example: + // const PB02 = portB + 2 + return true + case *ast.Ident: + if value.Name == "iota" { + // Pins are initialized using the special identifier "iota". + return true + } + // Doesn't look like a hardware pin, could be something like: + // const D13 = PB5 + return false + default: + return false + } +}