Both are full featured commercial grade products with a steep learning curve, but include (via STLINK) in circuit debugging tools, simulators, and such.ĥ) SDCC the open source compiler supports STM8 but documentation is pretty thin and it’s hard to find example code.
STM8 COSMIC FIRST PARAMETER FREE
I started with one of the commercial (but free for personal use with size restrictions that aren’t relevant for the value-line STM8 products) compilers from IAR and have used the STM/COSMIC compiler as well. The I/O pin voltage are relative to Vdd.Ĥ) Software/community support isn’t anywhere near comparable to Arduino / AVR or for that matter PIC or MSP and so forth. STM8L runs at lower voltage (1.65 – 3.6V). The MCU will tolerate a wide range of input voltage (2.95 – 5.5 V for STM8S) which is nice for running off unregulated battery. This gives relatively low power at full speed, that is, the guaranteed clock speed does not roll off with voltage as does AVR. This is helpful for those who might want to move back and forth between the 32 and 8 bit world.ģ) The core runs at 1.8 V. It also seems to be very widely used.Ģ) Peripheral set is very similar to the STM32 line. I’ve been playing with STM8 a bit over the past year and thought I might add a few observations.ġ) I wouldn’t call STM8 “obsolete” as it’s one of the newest 8-bit microcontroller families on the market. Of course the other way is to use the somewhat pricier ‘high density’ stm32 devices which can really reduce component counts to just the mcu alone this would really help to reduce component counts vs using basic logic blocks To reduce the true pin counts interfacing with stm32 a ‘co-processor’ would really do that using only 2 i2c pins and the ‘co-processor’ is not limited to a single function device. 4-16 multiplexer) or 2 sets of shift registers (4 bits output, 4 bits input) to reduce the interfacing pin counts to stm32, and there are still necessity to set aside additional pins for clocks, output control etc, the end result is that pin counts interfacing with stm32 is not really reduced
for a 4×4 keypad i can use either a multiplexer, decoder (e.g. those 74hcxx 40xx stuff, but those ‘chips’ would almost always need several different components for a particular use case. There are occasions that i struggle between deciding on using basic logic blocks e.g. I’ve been pondering about it but i’m thinking that interfacing between 3.3v stm32 to 5v AVR is a hassle, i’ve been looking around for cheap 3.3v 8 bit mcus & i’d think stm8s is one of those which in addition can be programmed from the same st-link-v2 dongle, this saves various other accessories needed to program it handle the keypad, but it could do more than that, we can reduce a good fraction of i/o functions to a mere 2 pins on i2c, we could have the stm8s handle keypad + rotrary encoder & even some basic analog stuff & even drive motors My thoughts are that these may make good i2c devicesĪctually i’m thinking of using it for a 4×4 keypad, for a normal ‘digital’ way of doing 4×4 keypads u’d need 8 pins (4 input, 4 output) for the scans, using 8 pins on a maple mini / blue pill is a sin, u’d run out of pins sooner once u do thatīut if we have stm8s as a ‘co-processor’ e.g. Oh the other thing is i think it runs on 3.3v, hence there’d be no issues related to 3.3v-5v interfacing with stm32 Unfortunately, i think the currently the available open sourced c compiler sdcc didn’t seem quite as ‘industrial strength’ as arm gcc compilersĭebugging is also a problem in linux as it doesn’t use SWD The good thing about stm8s is that i think st-link v2 can be used to program those, hence this would be at least a piece of shared ‘dongle’ with stm32. Me too, i found those sub $1 mcus + boards somewhat ‘irresistible’ and got 2 pieces