A multi-year firmware and hardware R&D programme for a novel power station for PV systems.
The same firmware programme extends to a companion mobile application — charge state, the energy flow between solar input and connected devices, and control of the outputs.
We run the embedded software programme end to end: a FreeRTOS-based firmware written in C on an ESP32-class controller, an LVGL touch interface on a 4.3-inch panel, and a multi-board architecture in which the controller queries and drives peripheral boards over SPI, validating every critical field and retrying on failure.
The hard part is the battery. State of charge is estimated by coulomb counting and corrected against voltage and charge/discharge curves, with idle-current calibration, full- and half-cycle tracking, and a charge/discharge state machine whose transitions only commit once the hardware confirms the command. Inverter and grid-tie control, scheduling and load profiles sit on top.
Around that: Wi-Fi provisioning with QR onboarding, over-the-air updates on separate development and production channels, an on-device diagnostics web server with live charts and manufacturing pages, and USB-C Power Delivery.
Reliability is a feature in a device somebody plugs their house into. Task watchdogs, execution tracing, tuned stack sizes and mutex timeouts, reset-cause detection on boot and restoration of output state after an unexpected reboot. Releases ship through a CI pipeline with separate development and production tracks.
Two minutes of questions about your own build, answered by a senior engineer. You get a written plan and a number before you commit to anything.