Embedded C / C++, firmware, RTOS, real time, ARM, Bluetooth, WiFiFirmware / Embedded Software Engineer required to design and manage embedded software development for the hardware components of high-performance software and hardware products which interface with hardware and PC applications. Key Skills: Embedded software: C and C++ FreeRTOS or other RTOS including interrupt handling code and device drivers. Bluetooth wireless protocol, 802.15.4, and WiFi ARM-based MCUs and/or MPUs - ARM Cortex M Series 32-bit ARM Cortex-M4F Processor preferred Low-level connectivity - UART, SPI, I2C, USB, and SDRAM, JTAG communication protocols Reading circuit diagrams and data sheets, creating specifications Software engineering, SDLC, and TDD and unit testing Degrees in Computer science, Embedded systems, Software engineering or a related technical field. What you will be doing: Design and implement new firmware for custom suite of embedded devices. Interface with hardware designers and application developers, ensuring seamless integration. Maintain and expand functionality on our existing products Design, develop, test, review and debug system software Design manufacturing test protocols to automatically test hardware during a large scale manufacturing process This is a fantastic opportunity to join a diverse, practical, well established team working on cutting edge technologies.