Embedded Software Engineer
Lack of energy access in sub-Saharan Africa is a significant problem, with more than 600 million people currently without mains electricity supply. In Rwanda, 9.5 million people or 81% of the population cannot access mains electricity, which has a negative impact on quality of life and limits people’s chances of achieving economic prosperity.
BBOXX is helping to address this issue by providing off-grid communities in developing countries with affordable energy solutions. BBOXX customers typically use a Pay-As-You-Go payment method, which enables very low-income customers access to electricity at home that they would otherwise not be able to afford. To date BBOXX has installed more than 150,000 systems and provided around 750,000 people with access to energy.
Check out our impact here
Title: Embedded Software Engineer
Reports to: Devices - Hardware Team Lead
Location: London, Chiswick
Role Purpose: As an Embedded Software Engineer at BBOXX you will be based in our London office, where you will work alongside a growing team of Software Developers, Hardware Designers and Designers to develop the next generation of BBOXX products. Your role will be to create firmware solutions to monitor, control and remote update our "off grid" systems. You may also be working on the ecosystem around the products such as desktop tools used for diagnosing systems issues in our repair centres and production facilities.
Our Embedded Solutions:
STM32 family MCU's running C language based RTOS
Data driven and network connected using GSM and BT
About the role:
In a typical week you will be:
- Designing and Developing embedded solutions for products across multiple business segments
- Creating highly tested and production ready firmware releases
- Collaborating and problem solving with Electronic Engineering team members
- Creating tests and performing peer code reviews to increase quality
- Documenting domain specific items and reporting issues to relevant teams
- Contributing to continuous improvements in the team’s ways of working
You may also be:
- Collaborating with other production and repair teams to increase overall productivity and in field reliability
- Write scripts and tools to diagnose and log issues for both internal and external use
You should have all of:
- 3+ years working experience in C for embedded systems
- Proven ability to design, develop and debug software for resource constrained systems
- Understanding of in-system communications (UART, I2C, SPI) and how to monitor (scope) them
- Familiarity with RTOS based development
- Working knowledge of IoT protocols such as CoAP, MQTT
- Ability to read and understand schematics, especially for low power electronics
- Some experience working with wireless communications technologies such as GSM or Bluetooth
- Understanding of ARM based microcontrollers such as STM32 family
- Good understanding of design patterns, software tools (Git) and modern develoment practices (design for test)
- Strong ownership ethics and ability to collaborate with others
And ideally some of:
- Experience of development for large volume consumser electronics devices
- Understanding and experience of AWS/Azure IoT platforms
- Experience supporting mass production electronics
- Understanding of testing processes and tools for embedded systems
- Proficiency in Python development
- Competitive Salary based on experience
- Free breakfasts on Monday morning plus fresh fruit, hot drinks and biscuits every day.
- Working in BBOXX's start up culture - fast pace of development, lots of responsibility, opportunities to learn and implement your own ideas.
- Regular socials - BBOXX organises once monthly social events which can be proposed by anyone on the team. This could be anything from a picnic in the park to pottery painting or the regular pub quiz.
- BBOXX will cover the cost of appropriate training courses to help you develop and learn new skills relevant for your role.