Specifications

Analog inputs
Six pins support ADC usage.
ADC STM32W108 Signal Name SNAPpy IO
0 PB5 13
1 PB6 14
2 PB7 15
3 PC1 17
4 PA4 4
5 PA5 5
For more about using the ADC channels on this part, refer to the text on readAdc() later in this section
of the document.
UART
Four pins support UART 0. IO 9 and IO 10 perform as TX and RX, respectively, and IO 12 and IO 21
perform as CTS and RTS, respectively. If you do not need RTS/CTS signals, then those two pins are
available for other uses. (If you do not need a UART at all, then those two pins can be used for other
purposes as well). The serial port supports 7 or 8 data bits, and ignores any other value set in the
initUart() function. The serial port supports 1 or 2 stop bits, and Odd, Even, or No parity. Hardware
limits the supported baud rates to to >= 300 and <= 921600 bps.
NOTE – There is only one UART on this platform.
SPI
Three pins can optionally be used for SPI. IO 1, IO 0, and IO 2 are MISO, MOSI, and SCK,
respectively.
NOTE – these are hardware SPI pins on the chip, but SNAPpy SPI is done via software emulation.
You will also need one “SPI Chip Select” pin per external SPI device. Any available IO pin can be
used for this purpose.
I
2
C
Two pins can optionally be used for I
2
C. By default, IO 2 and IO 1 are used for SCL and SDA,
respectively. These two pins were chosen to match the physical hardware.
NOTE – SNAPpy I
2
C is done via software emulation. Because of this, on the STM32W108xB the
I
2
C pins can be dynamically relocated to other pins, refer to the writeup on i2cInit() later in this
section.
SNAP Reference Manual Document Number 600-0007K Page 187 of 202