STM32 Developer's Page

The µTasker project has recently celebrated its 13th birthday and during the course of the years the project has continuously developed. This development, as of Spring 2018, is again putting more emphasis on STM32 devices and this is where you can find latest information about this work as well as getting involved with trying out latest pre-release/development code.

The STM32 project has now been integrated into the µTasker Kinetis project so that users can easily move projects between Kinetis and STM32 parts. This merge allows easier maintenance of the two most popular projects and was promoted also by the difficult situation in the semiconductor market where purchasing parts has become increasingly difficult due to sometimes very long lead times. Being able to easily change not only between devices but also between manfacturers is seen as an increasingly important requirement to reduce risks.


STM32F031 Clock Tree

- 03.5.2018 This blog entry discusses the clock tree in the STM32F031: STM32F031 Clock Tree.


- 01.5.2018 This blog entry discusses way that USARTs, UARTs abd LPUARTs are reference in the µTasker: UART referencing.

STM32L031 Clock Tree

- 01.5.2018 This blog entry discusses the clock tree in the STM32L031: STM32L031 Clock Tree.

STM32L432 Clock Tree

- 23.4.2018 This blog entry discusses the clock tree in the STM32L432: STM32L432 Clock Tree.

µTasker FAT Emulation

- 31.10.2015 This new document explains the use of FAT emulation to allow linear data to be viewed as FAT files at a PC host - either as raw data or as formatted data for easy import into data analysis tools: µTasker - FAT Emulation.

µTasker Spansion S25FL164K Driver with Automatic Erase Suspend and Resume to allow immediate Reading and Programming in other Sectors

- 3.5.2015 During the course of development of a new SPI flash based FAT interface supporting block management and wear-levelling it was identified that the relatively slow SPI Flash erasure times (typically 50ms for a 4k sector) can be a cause of reduced performance when subsequent reading and programming is needed whilst the operation is in progress; in comparision, reading of sectors is limited only by the communication speed and programming sectors is subject to a programming time of about 1.5ms.

See the µTasker S25FL164K Driver discussion concerning the the use of automatic suspend and resume control for details of how reads and write interrupt erasures in progress to ensure fast and efficient operation.

USB Composite Devices

- 2.3.2015 The µTasker USB device support includes USB-CDC, USB-MSD and USB HID mouse and keyboard. These can however be flexibly mixed as composite devices. More details concerning how the desired composite configuration can be controlled by a few defines are available at µTasker USB Device Configuration and keyboard testing, including also an interesting keyboard test that is built into the framework.

What does MAC OS X do when external drives are connected?

- 6.2.2015 USB-MSD is popular as a method of upgrading software to embedded devices. This is due to the fact that USB-MSD doesn't require a driver to be installed (this is getting more complicated - ex. with Windows 8 which will only accept signed drivers without awkward workarounds) and also because the in-built file manager can be used to see existing software in the device (assuming this is supported by the device's software). Copying new firmware to what the PC sees as an external hard drive is quick and easy (drag-and-drop can be used as standard) and so no special software is require on the PC for this confortable operation. The result is that if a file can be distributed containing the new firmware anyone with a PC can load it to the device without needing to use any non-standard software, and on any platform.
Read more details at µTasker USB-MSD Loader MAC OS X Compatibility

SSL/TLS Security for IoT Devices

- 28.1.2015 The following page follows investigations into the integration of an SSL/TLS security layer in the µTasker project, particularly in light of developments targeting the IoT (Internet Of Things).

STM32 Development Code Archive

  • Registered developers can use the following passwords for code extraction.

  • 20.12.2016 Complete [13.4MBytes] - Adds:
    - NUCLEO-144 preliminary board support
        Note that in config.h there is a missing MIME string entry "PNG" that needs to be entered (as below) in order to use the FTP/HTTP etc. correctly:
            (const CHAR *)"GIF",                                             // GIF image
            (const CHAR *)"PNG",                                             // PNG image
            (const CHAR *)"CSS",                                             // CSS Cascading Style Sheets
  • 25.8.2015 Complete [8.9MBytes] - Adds:
    - STM32F746 discovery board support
  • 26.5.2015 Complete [8.2MBytes] - Adds:
    - Memory debug interface improved and extended with storage display and modification capabilities
    - Encrypted SD card loader support
    - Add operating details (memory sizes, bus and flash clock speeds and UART settings) to simulator status bar
    - USB HID keyboard mode
    - Multiple USB-CDC interfaces added, also in combination with other composite classes
    - Composite USB device configurations added (mixtures of USB-MSD, USB-HID (mouse or keyboard) and (mutiple) USB-CDC)
    - Updated extended file system to require the user to avoid using more that 61 blocks in the standard range and changed from "ZXXX" to "zXXX".
    - Optional multiple FTP sessions supported (FTP_CONNECTIONS defines the quantity) 2 allows operation with FTP clients that require more than one for file transfers (such as Internet Explorer).
    - USB IN/OUT endpoints can share a single USB controller endpoint
    - utFAT in SPI Flash (AT45DBxxx with 512/528 byte page size) and in internal flash
    - Time keeper module added which controls RTC, time-zones, daylight saving, time conversions, display and SNTP operation (based on simple second counter or RTC)
    - Software RTC (with time maintained across resets) for devices without in-built RTC
    - TELNET client
    - Updated SNMPv1/V2c for enterprise MIB operation
    - Software FIFO (queue) driver added
    - Touchscreen mouse interface added with press, release and move events
    - USB-MSD loader full MAC OSX and Windows 8.1 compatibility
    - STM32F2xx support verified
    - MODBUS RTU timers increased to 6
    - Olimex STM32-P207 and IAR STM32F407TG-SK boards added
    - Optional out-of-order TCP frame input buffer (USE_OUT_OF_ORDER_TCP_RX_BUFFER)
    - WISDOM_STM32F407 board support
    - NUCLEO-F401RE board support
Return to the STM32 landing page

µTasker STM32 Development. Copyright (c) 2004..2018 M.J.Butcher Consulting