A widespread evaluation board made by ST. All CPU pins are easily accessible on 2x6 pin headers. It costs only $9 and includes a ST-Link/v1 flash programmer on board.
It should work now, but the support is not thoroughly tested. At least Blink.c is known to work already.
STM8S105C6T6 microcontroller, 32 KB Flash, 2 KB RAM, 1 KB EEPROM
- LED on PD0, active low.
- Touch button on PC1, PC2, PC3
- external crystal 16MHz on PA1/PA2
The touch pins PC1 and PC3 (Arduino-Pin 24 and 26) are not connected to the pin header on the board. To use them as I/O-pins you need to modify some solder bridges (See STM8S-Discovery user manual).
Pinout of CN7 SWIM connector
| Pin | Signal |
|---|---|
| 1 | Vdd (3.3V) |
| 2 | SWIM |
| 3 | GND |
| 4 | NRST |
The discovery board implements two USB devices: A ST-LINK/V1 interface and a (not very useful) mass storage device with some links to the ST website. The implementation of this mass storage device is very buggy and renders the hole board useless. You need to make modprobe to ignore it by adding this line to /etc/modprobe.conf or by adding a file /etc/modprobe.d/stdiscovery.conf with this line:
options usb-storage quirks=0483:3744:iUnplug the Discovery board and unload the usb mass storage driver with
modprobe -r uas usb_storageIf you can't unload the usb_storage drive because it is in use with other devices you can temporary trigger the same effect by this line:
echo "0483:3744:i" >/sys/module/usb_storage/parameters/quirksThe second step is to add a new udev rule in order to access the USB port.
Save this as root in in /etc/udev/rules.d/99-stlink.rules:
# ST-Link/V2 programming adapter
# ST-Link V1, if using a STM8S discovery board
# important: It needs a special entry in /etc/modprobe.d
ATTR{idVendor}=="0483", ATTR{idProduct}=="3744", MODE="0666", GROUP="plugdev"
# ST-Link/V2, the china adapter with the green plastic housing
ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", MODE="0666", GROUP="plugdev"Finally, it is time to (re-) connect the board. Now dmesg should show that the mass storage device of the Discovery board is ignored:
[ 815.228928] usbcore: deregistering interface driver uas
[ 815.229201] usbcore: deregistering interface driver usb-storage
[ 823.001086] usb 1-3: new full-speed USB device number 7 using xhci_hcd
[ 823.374719] usb 1-3: New USB device found, idVendor=0483, idProduct=3744
[ 823.374724] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 823.374726] usb 1-3: Product: STM32 STLink
[ 823.374728] usb 1-3: Manufacturer: STMicroelectronics
[ 823.374730] usb 1-3: SerialNumber: W\xffffffc3\xffffffbf\xffffffbfp\x06reWW7\x18\x12g
[ 823.746878] usb-storage 1-3:1.0: USB Mass Storage device detected
[ 823.748299] usb-storage 1-3:1.0: device ignored
[ 823.748453] usbcore: registered new interface driver usb-storage
[ 823.771094] usbcore: registered new interface driver uasLet's read the preinstalled firmware of the STM8S105:
stm8flash -cstlink "-pstm8s105?6" -r flash.imgAN3332: Generating PWM signals using STM8S-DISCOVERY
AN3259: RS232 communications with a terminal using the STM8S-DISCOVERY