This development/breakout board (HCDVBD0040) is based around the ST Microelectronics S105K4 microcontroller. STM8 microcontrollers are an ultra low cost solution to embedded control. This development board provides convenient access to the devices I/O pins via standard 2.54mm pitch headers. Besides providing access to most of the microcontrollers I/O, there is additionally a microUSB connector for powering from a USB port, and a standard ST SWIM programming/emulation header that allows for programming or debugging using a compatible programmer such as our low cost ST-Link compatible USB programmer (HCDVBD0016). An on-board 3.3V regulator provides power to the board and is powered via the 5V USB or 5V header pins. The ST tool chain (STVD) is available as a free download from the ST website and is fully compatible with this board. There are also additional third party tools such as the Cosmos ANSI C compiler (8K limited) and the SDCC (Small Device C Compiler) which can be downloaded for free. Links to these tools are provided at the bottom of this post.
PLEASE NOTE: The USB connector is for powering the development board only. To program the board you will need a suitable programmer such as the STLink Link programmer and debugger: https://hobbycomponents.com/st-micro-el ... programmer
16 MHz advanced STM8 core with Harvard architecture and 3-stage pipeline
Extended instruction set
Medium-density Flash/EEPROM: Program memory 2 Kbytes Flash; data retention 20 years at 55 Â°C after 10 kcycles Data memory 1Kbytes true data EEPROM; endurance 300 kcycles
RAM: 2 Kbytes
2.95 to 5.5 V operating voltage
Flexible clock control, 4 master clock sources: Low power crystal resonator oscillator External clock input Internal,user-trimmable 16 MHz RC Internal low power 128 kHz RC
Clock security system with clock monitor
Power management: Low power modes (wait, active-halt, halt) Switch-off peripheral clocks individually
Permanently active,low consumption power-on and power-down reset
Nested interrupt controller with 32 interrupts
Up to 37 external interrupts on 6 vectors
2x16-bit general purpose timer, with 2+3 CAPCOM channels (IC, OC or PWM)
Advanced control timer: 16-bit, 4 CAPCOM channels, 3 complementary outputs, dead-time insertion and flexible synchronization
8-bit basic timer with 8-bit prescaler
Window watchdog, independent watchdog timers
UART with clock output for synchronous operation, Smartcard, IrDA, LIN master mode
SPI interface up to 8 Mbit/s
I2C interface up to 400 Kbit/s
10-bit, ±1 LSB ADC with up to 10 multiplexed channels, scan mode and analog watchdog
25 I/Os on a 32-pin package including 12 high sink outputs
Highly robust I/O design, immune against current injection
Embedded single wire interface module (SWIM) for fast on-chip programming and non intrusive debugging
96-bit unique ID key for each device
- /* FILE: STM8S105_Blink_Example
- DATE: 19/07/21
- VERSION: 0.1
- AUTHOR: Andrew Davies
- A simple blink example that will flash an LED connected to
- port E pin 5 continuously on and off. This program has been
- written specifically for our development board HCDVBD0040
- You may copy, alter and reuse this code in any way you like,
- but please leave reference to HobbyComponents.com in your
- comments if you redistribute this code. This software may
- not be used directly for the purpose of selling products
- that directly compete with Hobby Components Ltd's own range
- of products.
- THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO
- WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY,
- INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE,
- ACCURACY OR LACK OF NEGLIGENCE. HOBBY COMPONENTS SHALL NOT,
- IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES, INCLUDING,
- BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
- DAMAGES FOR ANY REASON WHATSOEVER.
- #include "STM8S105K4.h"
- unsigned int d;
- PE_DDR = 1 << 5; //Set port E pin 5 to an output
- PE_CR1 = 1 << 5; //Set port E pin 5 to a push-pull
- while (1)
- for (d = 0; d < 40000; d++); //Delay ~ 1 second
- PE_ODR |= 1 << 5; //Set port E pin 5 high
- for (d = 0; d < 40000; d++); //Delay ~ 1 second
- PE_ODR &= ~(1 << 5); //Set port E pin 5 low
Development tools can be downloaded from the ST website here: http://www.st.com/web/en/catalog/tools/ ... 807/SS1747
A direct link to the STVD development environment is available for download here: http://www.st.com/web/catalog/tools/FM1 ... 7/PF210567
And the STVP programming software is available for download here: http://www.st.com/web/catalog/tools/FM1 ... 7/PF210568
A free 8K limited version of the Cosmos C compiler which is supported by the STVD development environment is available for download here: http://www.cosmic-software.com/eval_kit ... m_eval.exe
We recommend installing the Cosmos C compiler before installing the STVD development environment.
Alternatively SDCC (Small Device C Compiler) is a free compiler that is compatible with the STM8 microcontrollers and can be downloaded here: http://sdcc.sourceforge.net/
When trying to use the debug feature in the STVD development environment I get the following error: gdi-error : can't access configuration database
Go to C:\Program Files (x86)\STMicroelectronics\st_toolset\stvd\dao\ and install the ST Toolset.msi
If you are running 64 bit versions of Windows 8/10 and installing the toolset above did not resolve the problem open up a DOS command prompt in admin mode and issue the following two commands:
Regsvr32 /u "C:\Program Files (x86)\Common Files\Microsoft Shared\DAO\DAO350.DLL"
Regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\DAO\DAO350.DLL"
Libraries, example code, and diagrams are provided as an additional free service by Hobby Components and are not sold as part of this product. We do no provide any guarantees or warranties as to their accuracy or fitness for purpose.
Descriptions and diagrams on this page are copyright Hobby Components Ltd and may not be reproduced without permission.