Title: Embedded Software Engineer
Reports to: Devices Hardware Lead
Location: London, UK
About the role
As an Embedded Systems Engineer at Bboxx you will be responsible for delivering firmware solutions for our next generation of remotely-connected Solar Home Systems. Working with a team of electrical engineers, mechanical designers, and software developers you will develop the firmware that allows our products to communicate via GPRS with Bboxx's backend servers. This communication enables full remote monitoring and control of our products and is the cornerstone of our IoT-based technology that powers our mission to transform lives and unlock potential through access to energy around the world.
Act as technical lead of a small Embedded Systems chapter
Capture product functionality requirements and convert them into viable design specifications alongside a small cross domain team.
Design and develop firmware for new products which is zero-defect, highly efficient and well structured
Prototype, test and verify code and release to production
Maintain, enhance and support firmware for existing Bboxx products.
Create documentation and test plans to provide architectural insights and knowledge sharing within the team
Work with our support team in London to identify and resolve product issues.
3+ years professional experience in embedded software development using C
Ability to develop software for resource constrained embedded systems using both RTOS and bare metal approaches
Good grasp of design patterns and practices and their application to embedded systems
Ability to read and understand schematics, especially for low power electronics
Experience working with wireless communications technologies such as GSM or Bluetooth
Understanding of ARM based microcontrollers such as STM32F4 family
Experience of development for large volume consumer electronics devices
Knowledge of IoT protocols such as CoAP, MQTT, HTTP
Experience in developing remote firmware upgrade systems
Understanding of testing processes and tools for embedded systems
Basic understanding of desktop software development in Python development
**We are not looking for agency support for this role**