STM8 series has already captured a large share of 8 Bit controller market in Industry. It is also gaining popularity in the DIY community all over the world, all credit goes to great features of this family, plenty of documentation and low-cost Discovery Kits by ST Microelectronics. These boards cost less than an Arduino and puts all I/O on PCB headers, power supply, reset switch, SWIM connector, and a test LED connected to Port B.5.
8-bit microcontrollers have been around for a very long time, slowly fading in popularity as more powerful devices pushed them out of the spotlight. However, they never really went away.
1 x STM8S103F3P6
The development board using MicroUSB cable, compatible with smart phone lines, data lines is simple and easy to get, but not USB MINI line-powered, USB MINI line is not easy to find, has been gradually phased out.
STM8S003F3P6 vs STM8S103F3P6 performance comparison:
STM8S003F3 STM8S103F3 EEPROM 128 bytes 640 bytes FLASH erase 100 times 10,000 times FLASH 4K bytes 8K bytes
Summary: STM8S003F3 only suitable for mature products, STM8S003F3 board is not suitable for development.
However STM8S103F3 suitable for the development of the use of, current product is the used one of this chip
STM8 vs ATMEGA328P
Arduino and it's clones are predominantly built on AVR's, commonly the ATMEGA328P. It runs at 16 MHz and has 32kB of FLASH, 2 kB of RAM and some EEPROM. There's also the obligatory mix of peripherals, like timers, UARTS, SPI and I2C.
The STM8 chip we'll look at, STM8S103F3, has a similar set of peripherals, but a substantially smaller memory space (8 kB FLASH, 1 kB RAM). It may not be able to replace the ATMEGA everywhere, but at the low cost, it well might in many places, and it makes it viable to literally embed it in places you wouldn't even think of with more expensive devices. A "SPI to Neopixel" interface for 60 cents? No problem!
Advantages in architecture
The ATMEGA has one unpleasant flaw in it's architecture: the Harward memory design. FLASH and RAM share the same address space, which is where your bothersome
pgm_read_byte()and friends come from—it needs a special assembly instruction
LPMto read data from FLASH. Not even the high level abstraction of avr-gcc will shield you from this problem.
The STM8, possibly inspired by the STM32, appear as von Neumann, in that both memories are mapped to one linear address space. Internally there are two buses, but it's handled transparently. As a result, you can seamlessly store constants in the program memory, and even run code from RAM. This advantage may not be a gamechanger, but it's quite pleasant nonetheless.