STM32 Discovery Up Close

The STM32 Discovery board is a low cost demo board featuring a STM32F100RBT6B system on a chip MCU from ST's value line and comes with an intergrated STLink usb programmer. These boards are very low cost and can be had for about £8 in the UK.

The STM32 Discovery board has most of the STM32F100RBT6B 64 pins exposed on DIL headers at the edge of the PCB allowing it to be inserted into a breadboard or header cables attached.

STM32 Mcu's are ARM Cortex M-3 based which has a 16/32 bit instruction set called Thumb2 which allows 16bit code density with some added instructions from the 32bit ARM family for flexibility and 32bit performance. The SM32F100 MCU runs at 24mhz.

The STM32 Discovery board has a green and blue LED and tow push buttons one for Reset and the other as a User button, These are used in the Simple Demonstration projects that can be downloaded from the ST website. Interestingly there is a single jumper on the  STM32F100 area that allows the measuring of current to the MCU so it seems ST are pitching the low power abilities of these chips

The USB STLink Programmer/Debugger is capable of programming other STM32 micro controllers via the SWD jag serial wire debug ,that is actually 2 wire a bi-directional data line and separate clock, by removing two jumpers, the programmer then must be powered by the target board.

Linux and other *nix users are out of luck here I'm afraid, the STLink driver software is Windows only.

The STM32F100RBT6B has some impressive hardware specs :-

■ Core: ARM 32-bit Cortex™-M3 CPU – 24 MHz maximum frequency, 1.25 DMIPS/MHz (Dhrystone 2.1) performance – Single-cycle multiplication and hardware division

■ Memory
        128 Kbytes of Flash memory
        8 Kbytes of SRAM

■ DMA – 7-channel DMA controller – Peripherals supported: Timers, ADC, SPIs, I2Cs, USARTs and DACs

■ 1 × 12-bit, 1.2 μs A/D converter (up to 16 channels) – Conversion range: 0 to 3.6 V – Temperature sensor

■ 2 × 12-bit D/A converters

■ 51 fast I/O ports all mappable on 16 external interrupt vectors and almost all 5 V-tolerant

■ Up to 12 timers
     – Up to three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter
     – 16-bit, 6-channel advanced-control timer: up to 6 channels for PWM output, dead time generation and emergency stop
     – One 16-bit timer, with 2 IC/OC, 1OCN/PWM, dead-time generation and emergency stop
     – Two 16-bit timers, each with IC/OC/OCN/PWM, dead-time generation and emergency stop
     – 2 watchdog timers (Independent and Window)
     – SysTick timer: 24-bit downcounter
     – Two 16-bit basic timers to drive the DAC

■ Up to 8 communications interfaces
     – Up to two I2C interfaces (SMBus/PMBus)
     – Up to 3 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)
     – Up to 2 SPIs (12 Mbit/s)
     – Consumer electronics control (CEC) interface

■ Clock, reset and supply management
     – 2.0 to 3.6 V application supply and I/Os
     – POR, PDR and programmable voltage detector (PVD)
     – 4-to-24 MHz crystal oscillator
     – Internal 8 MHz factory-trimmed RC
     – Internal 40 kHz RC
     – PLL for CPU clock
     – 32 kHz oscillator for RTC with calibration

■ Low power
    – Sleep, Stop and Standby modes
     – VBAT supply for RTC and backup registers

■ Debug mode – Serial wire debug (SWD) and JTAG interfaces

■ CRC calculation unit, 96-bit unique ID

You can pick one up in the UK from Farnell here. Alternately search the net for the order code STM32VLDISCOVERY.



A look up close of the STM32-Discovery


And the back of the STM32-Discovery


Seems we may be able to program the STLink programmer/debugger's STM103 as well by removing the default solder bridges and bridging the PRG-32 solder bridges , with second STM32 Discovery.