eMobility software engineering partner for EV charging systems

Services › Embedded Software Development
SERVICE

Embedded Firmware Built for Production

C/C++ firmware from board bring-up to production release. Driver development, hardware abstraction, and protocol integration across 8 chip vendors for EV chargers, gateways, and industrial systems.

8 chip vendors
Bare metal, FreeRTOS, Linux
Ceedling TDD
MISRA C compliant

Embedded Engineering Deliverables

Firmware Development
Production firmware in C/C++ for microcontrollers and embedded Linux platforms. MISRA C compliant. Bare metal, FreeRTOS, and Linux targets.
Drivers and Board Support
Board support packages, peripheral drivers, hardware abstraction layers. Vendor-specific I/O isolation for cross-platform portability.
Communication Stacks
EV charging: OCPP (actively implemented). Industrial and embedded: MQTT, Modbus TCP/RTU, CAN, SPI, I2C, UART, LIN. Connectivity: Ethernet, WiFi, BLE, Cellular.

Embedded Project Scenarios

Four common starting points. Each follows the same engineering process: requirements, architecture, TDD, integration, production release.

01
New firmware from scratch
Board bring-up, BSP, application logic, production release. Full lifecycle from first boot to field deployment.
02
Existing codebase
Refactoring, driver additions, test coverage, stabilization. Engineers integrate into the existing toolchain and coding standards.
03
Protocol integration
OCPP, MQTT, Modbus, CAN, or wireless stack integration into embedded targets. Interface layer and transport implementation.
04
Board bring-up and platform work
BSP, peripheral drivers, HAL, hardware variant support. Platform-level engineering before application development begins.

Built for Firmware That Has To Work in Production

Clemios firmware development uses Ceedling TDD and MISRA C as default engineering practices. The goal is firmware that is verifiable at each stage, portable across vendors, and maintainable over the hardware lifecycle.

Test-Driven Development for Embedded C

Ceedling is the core unit testing framework for embedded C projects at Clemios. Every firmware module is developed using TDD: write the test first, then write the code that passes it. This catches defects at the earliest possible stage and produces firmware that is inherently testable.

Ceedling TDD is a core Clemios engineering discipline. Every firmware module is unit-tested before integration.

MISRA C Compliance

All Clemios firmware projects follow MISRA C coding standards. MISRA C eliminates undefined behaviour, improves portability, and enforces disciplined coding practices required by safety-critical and automotive-grade embedded systems.

8 Chip Vendors Supported

Vendor Platforms / Families
ESP32 ESP-IDF, WiFi/BLE-enabled embedded applications
Infineon AURIX, PSoC, XMC series
Microchip PIC, SAM, dsPIC families
NXP i.MX, LPC, Kinetis
Renesas RA, RX, RL78 families
STMicroelectronics STM32 (F, G, H, L series), STM8
Texas Instruments MSP430, Tiva C, CC series
Hilscher netX 90 (industrial communication)

Engineering Tooling Stack

Category Tools
Languages C, C++, Python
Operating Systems FreeRTOS, Linux (Yocto, Buildroot), Bare Metal
Coding Standards MISRA C
Unit Testing Ceedling (core differentiator), GoogleTest
Static Analysis Linters, SonarQube, CodeRabbit
Hardware Design Altium Designer, Fusion 360
Debugging Segger J-Link, Saleae Logic Analyzer, STLink V2, PCAN USB
Version Control GitHub, GitLab, Azure DevOps, SVN
Documentation Doxygen
Interfaces Ethernet, WiFi, Bluetooth Low Energy, USB
Protocols OCPP (EV charging, actively implemented), MQTT, SPI, QSPI, I2C, CAN, UART, LIN, TCP/IP, Cellular, Modbus TCP/RTU

Delivered Across Industries

Custom PCB Design and Firmware
Altium Designer, C, Ceedling
Embedded Hardware/Firmware
Embedded System with Safety and Communication
C, CAN Bus, RTOS
Industrial Safety
Programming Tool for STM32 MCU
C, STM32, Hex File Flashing
MCU Tooling
Hysteresis Control for Positioning
C, CAN Bus
Industrial Control
Enhanced Data Integrity with CRC Check
C, EEPROM, CRC Algorithms
Data Integrity
System Integration and Error Handling
Modbus TCP/RTU
Industrial Systems

All projects listed are NDA-protected. Client names withheld by policy.

Frequently Asked Questions

Clemios supports 8 chip vendors: ESP32, Infineon, Microchip, NXP, Renesas, STMicroelectronics, Texas Instruments, and Hilscher netX 90. Coverage includes bare metal, FreeRTOS, and embedded Linux targets.

Clemios provides hardware-adjacent engineering including PCB design using Altium Designer and Fusion 360, plus hardware abstraction layers and board support packages. The focus is firmware that runs on custom hardware. Hardware manufacturing itself is not in scope.

Ceedling is a test-driven development framework for embedded C. It enables unit testing of firmware modules before they run on hardware. Clemios uses Ceedling on every firmware project as a core engineering practice, testing each module before integration.

Yes. All firmware projects follow MISRA C coding standards. This ensures safety, portability, and compliance with automotive and industrial requirements.

Yes. Clemios regularly integrates into existing firmware projects for refactoring, protocol additions, driver development, and test coverage improvement. Engineers adapt to the existing toolchain, version control, and coding standards.

OCPP 2.0.1 is the actively implemented charger-to-backend protocol for EV charging projects. It serves as the primary proof point for protocol-level firmware integration.

MQTT, Modbus TCP and RTU, CAN, SPI, I2C, UART, LIN, and TCP/IP cover the broader industrial and embedded integration scope. Connectivity layers include Ethernet, WiFi, BLE, and Cellular. Protocol selection depends on the target hardware, system architecture, and connectivity requirements.

Need Embedded Software Engineers?

From bare metal C to Linux application layers, from Ceedling TDD to MISRA C compliance: Clemios embedded engineers build firmware that works in production.

Scroll to Top