Overview
Our client is a relatively young startup designing renewable energy storage solutions for the
telecommunications industry.
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.
Qualifications
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.