Embedded systems & firmware engineering
Firmware your hardware can ship on.
CircuCharge writes microcontroller firmware, device control programs and communication protocols for OEMs and hardware teams. Every engagement ends with source code you own and the test evidence that shows it works.
What we build
Eight capabilities, one engineering team.
- 01 Embedded software Application logic, drivers and middleware in C and C++ for resource-constrained devices.
- 02 MCU firmware design Architecture, HAL, bootloader and low-power design for bare-metal and RTOS targets.
- 03 Device control programs State machines, motor and power control, sensor loops and safe fault handling.
- 04 Hardware–software integration Board bring-up, peripheral validation and joint debugging with your hardware team.
- 05 Communication protocols BLE, Wi-Fi, Modbus, CAN and RS-485 stacks, plus custom protocols with written specs.
- 06 Embedded testing Unit tests, hardware-in-the-loop rigs, production test tools and CI pipelines.
- 07 OTA & field updates Signed images, rollback and update flows so shipped devices can be fixed in the field.
- 08 Code takeover & migration Audit and stabilize inherited firmware, or port it to a new MCU when a part goes end-of-life.
02 · MCU firmware design
An architecture first, then the code.
We start with a written firmware architecture: module boundaries, memory budget, power states and update strategy. Then we build it module by module, so you can track progress against the plan, not against vague percentages.
- — Architecture document and memory / power budget
- — HAL and peripheral drivers for your board
- — Bare-metal or RTOS, such as FreeRTOS or Zephyr
- — Bootloader and low-power sleep strategy
- Modules
- Memory map
- Tests
- Releases
Module status
Build 0.9.4 · STM32 target
| Module | Flash | Tests |
|---|---|---|
| hal_gpio | 3.2 KB | Passing |
| power_mgr | 6.8 KB | Passing |
| sensor_loop | 11.4 KB | Passing |
| ble_service | 42.0 KB | In review |
| bootloader | 16.0 KB | Passing |
05 · Communication protocols
Devices that talk the way the spec says.
Whether your device sits on a Modbus line in a plant or pairs with a phone over BLE, we implement the stack, write down the message format and test it against real peers before handover.
- — Wireless: BLE, Wi-Fi, LoRaWAN, LTE-M / NB-IoT
- — Wired: CAN, Modbus RTU/TCP, RS-485, UART, SPI, I2C, USB
- — Custom binary protocols with a written specification
- — Conformance and stress test scripts included
$ pytest tests/modbus_rtu -qread holding 0x0010..0x0017 @ 19200 8N1crc ok · 8 registers · 41 mswrite single 0x0020 = 0x01F4echo verified$ pytest tests/ble_link -qconnect · mtu 247 · conn interval 30 ms500 notify packets · 0 droppedreconnect after supervision timeout2 suites passed in 18.6 s
06 · Embedded testing
Tests are a deliverable, not an afterthought.
We set up unit tests on the host and hardware-in-the-loop runs on real boards, wired into CI. When we hand over, the test suite and production test tool come with the firmware.
- — Host-side unit tests for logic and drivers
- — Hardware-in-the-loop (HIL) rigs on your boards
- — Production flashing and end-of-line test tools
- — CI pipeline with reproducible builds
- Test cases
- 412
- all passing
- Boards on rig
- 4
- rev B, rev C
- Run time
- 23 min
- −4 min vs last
Last runs
- Nightly HIL run passed on all 4 boards 02:14
- fw Brown-out recovery test added Yesterday
- OTA rollback case flaky on rev B, fixed in 0.9.3 Mon
How an engagement runs
- Step 1
Inquiry
- Step 2
Discovery
- Step 3
Proposal
- Step 4
Build
- Step 5
Handover
Questions engineering leads ask
Can you take over firmware someone else wrote?
Yes. We start with a code audit: build reproducibility, test coverage, known defects and risky areas. You get a written report and a stabilization plan before any rewrite is discussed.
Who owns the source code?
You do. Source code, build scripts, test suites and documentation transfer to you once the related invoices are paid. We keep no license claims on project-specific code.
Do you sign NDAs?
Yes. We are happy to sign your mutual NDA before you share schematics or existing code.
Do you handle FCC or CE certification?
We don't issue or file certifications. We help you prepare: using pre-certified radio modules where it fits, producing test firmware for lab sessions, and documenting security measures such as SBOMs and update processes.
Do you work on medical, automotive or avionics firmware?
Not on certified development under IEC 62304, ISO 26262 or DO-178C. Those require formal processes we don't claim. We focus on consumer, industrial, energy and instrumentation devices.
How fast can a project start?
We reply to inquiries within two business days. A paid discovery phase usually starts within one to two weeks of agreement, depending on hardware availability.
Have a board that needs firmware?
Send us the MCU, the interfaces and your timeline. We reply within two business days.