Caban Systems is looking for a talented embedded software engineer to help us commercialize our energy storage and data platforms. We are scaling energy storage solutions and cloud-based data services for our telecommunications customers, thereby providing connectivity to those who may not otherwise have access.


  • 5+ years of embedded software development experience
  • Strong C/C++ experience for microcontrollers
  • Knowledge of interface protocols: I2C, SPI, CAN, Modbus, etc.
  • Python, Cython, GCC, Make and shell scripting experience
  • Multi-threaded processing, multi-processor communication & synchronization, task scheduling
  • Experience working with ARM® Cortex® processors (even better STM32)
  • Experience with battery systems and/or solar controllers
  • Experience developing and releasing firmware for safety-critical applications
  • Should have better-than-average knowledge of sensors, ADCs, DACs and ability to review electrical (PCB) schematics

Role responsibilities

  • Develop application code for 32-bit ARM® Cortex® processors
  • Develop bootloaders
  • Integrate and implement product requirements
  • Provide system-system interface using various protocols: ModBus, CAN and RS-232
  • Work closely with gateway/edge team to implement OTA update strategy
  • Work closely with hardware engineers to optimize performance
  • Use of JIRA and bitbucket to track issues and develop collaboratively
  • Standardize, automate, and document development and production environments

About Us

We are a small team and looking for a dynamic person who shares our passion and work ethic. It is never easy to invent new things, but we believe a few good people can make a difference in the world. If you feel the same, please let us know!