All News | Boards | Chips | Devices | Software | LinuxDevices.com Archive | About | Contact | Subscribe
Follow LinuxGizmos:
Twitter Facebook Pinterest RSS feed
*   get email updates   *

Blue Pill-Style STM32C5 Board Adds Oberon-2 Firmware Support

Aug 14, 2026 — by Giorgio Mendoza 715 views

Norwegian-based Tenko has released an open-hardware development board based on STMicroelectronics’ STM32C5 microcontroller family. The compact board follows the familiar Blue Pill form factor while adding USB-C power, onboard USB-to-UART connectivity, and an alternative firmware environment based on Oberon-2.

The board uses the recently introduced STM32C551CE, a 32-bit Arm Cortex-M33 microcontroller operating at up to 144MHz with 512KB of flash and 128KB of SRAM. The MCU also includes an FPU, DSP instructions, an 8KB instruction cache, dual 12-bit ADCs, a 12-bit DAC, a CORDIC accelerator, and multiple timers and serial interfaces.

— ADVERTISEMENT —


Measuring 53.5 × 20mm, the board uses two 16-pin headers for breadboard-friendly prototyping. It includes a CH340E USB-to-UART bridge connected through USART1, a USB-C power connector, 24MHz HSE and 32.768kHz LSE crystals, a 3.3V LDO, reset and user buttons, status LEDs, and an SWD header for programming. Most remaining MCU signals are routed to the edge headers.


STM32C55xxx block diagram
(click images to enlarge)

The design was created with KiCad 10, and the project repository includes the schematic, PCB layout, pinout, assembly drawing, footprints, and fabrication files. Tenko notes that other LQFP-48 STM32C5 variants may also be usable as they become available, provided they remain pin-compatible with the current layout.


STM32C5 eval board demo
(click images to enlarge)

For conventional development, the repository includes a CubeMX2 project that can generate a CMake-based STM32 project. The board has been tested with the USB-to-UART interface, LEDs, buttons, and onboard crystals.

The project also supports an alternative firmware workflow through ECSMicroLib and ECSOberon, an Oberon-2-based language environment for embedded systems. ECSOberon adds features such as manual memory allocation, unsigned types, variable pointers, packages, and basic templates, while retaining Oberon’s module-based structure.


STM32C5 eval board
(click images to enlarge)

ECSMicroLib provides MCU-independent interfaces for GPIO, RTC, I2C, SPI, UART, and OneWire, along with several peripheral drivers and coroutine support. Current supported boards include the STM32C5 evaluation board as well as several STM32F4 and STM32L4 development platforms.

The project documentation notes that the current hardware revision has a few known issues. SWDIO and SWDCLK were swapped, and the silkscreen was difficult to read. Tenko plans to correct these in a future revision and is also considering exposing BOOT0 through a test point and adding a jumper to disable the power LED for battery-powered applications.

Further Information

The STM32C5 board is available through Tenko’s GitHub repository under the MIT License, while the ECSMicroLib firmware framework is maintained in a separate repository. PCB fabrication for the project was sponsored by PCBWay.

(advertise here)


PLEASE COMMENT BELOW

2 responses to “Blue Pill-Style STM32C5 Board Adds Oberon-2 Firmware Support”

  1. PJE says:

    Interesting language selection, I last used Oberon 30 years ago…. (I’m getting old)
    I’m definitely going to look into this firmware.

    On the hardware, I’m wondering why they routed the USB through a UART bridge IC rather than just putting the signals directly into the device’s USB pins (PA11/PA12) which would allow it to be more flexible – HID, Mass storage, etc. I’d also combine the boot/DFU pin with the user button to allow bootloader access for updates over USB.

  2. Runar Tenfjord says:

    Author replying here.

    I understand in the heydays Oberon-2 was sold as a competitor to
    C++, but never took off. In my opinion it deserves a second look,
    at least for niche applications like firmware for MCU’s.

    Currently the firmware does not support USB and therefore I wanted
    to utilize the USB connector for a UART connection in addition to power
    These Chinese USB to UART bridges are ridiculous cheap, but seems to fork fine.

    Also I found UART to be the most reliable way of interacting with
    the firmware. Semihosting has it uses, but created problems with
    ISR due it is very slow (each call can be in the 100ms range).

    USB support might be added if I am able to port the USB stack from
    the original Oberon System 3 source code. Which, by the way, also has
    FAT support and has a TCP networking stack which should be possible to
    reuse.

    As you point out with proper USB support the it can used as a UART
    bridge and then also support simpler programming with just dropping
    file into the root folder of the USB disk drive as is supported by
    newer Arduino boards.

    The BOOT0 pin I am not sure is critical to expose as I understand the main use is to replace firmware by end users through the builtin boot-loader.

    When working these boards you are better of with a real debugger probe and use the SWD pins. Now the latest GIT version of stlink support this MCU and as I understand stlink support also cheaper knock-off debugger probes.

    If you get this firmware to work I like to know and do not hesitate
    to also create issue if this fails. The firmware is up until now
    tested on Windows 10 and ArchLinux.

Please comment here...