About the Role
This is a hands-on senior engineering position focused entirely on embedded firmware. You will be responsible for developing and maintaining firmware for resource-constrained microcontrollers using bare metal C on 8051 chipsets, as well as real-time operating system development on ARM Cortex-M4 processors using FreeRTOS. You will work closely with hardware engineers, back-end developers, and product teams to deliver stable and efficient firmware for production devices.
Key Responsibilities
- Write, optimize, and maintain bare metal firmware in C for 8051 microcontrollers
- Develop and maintain RTOS-based firmware using FreeRTOS on ARM Cortex-M4 processors
- Implement and manage peripheral drivers (UART, SPI, I2C, GPIO, ADC, PWM, timers)
- Design and implement task scheduling, inter-task communication, and synchronization using FreeRTOs primitives (queues, semaphores, mutexes, event groups)
- Optimize firmware for memory footprint, power consumption, and real-time performance
- Perform hardware bring-up, board-level debugging, and integration testing
- Collaborate with hardware engineers to review schematics and define hardware/firmware interfaces
- Write and maintain technical documentation including firmware specs, memory maps, and register descriptions
- Conduct code reviews and enforce embedded coding standards (MISRA-Cor equivalent) Troubleshoot and resolve hardware-firmware integration issues in the field and on the bench
Competitive senior level salary package /negotiable/
What we're looking for
General
- 5+ years of professional embedded systems firmware development experience
- Strong proficiency in C programming for embedded/bare metal environments
- Solid understanding of microcontroller architecture, memory-mapped I/O, and interrupt handling
- Experience reading and working directly with datasheets, hardware reference manuals, and schematics
- Proficiency with embedded debugging tools: JTAG, SWD, logic analyzers, and oscilloscopes
- Experience with version control using Git in a hardware/firmware development context
Bare Metal- 8051 Architecture
- Proven hands-on experience writing bare metal C firmware for 8051-based microcontrollers
- Deep understanding of 8051 memory architecture (internal RAM, SFRs, external memory)
- Experience configuring and managing 8051 peripherals directly via registers (timers, serial
- ports, interrupts)
- Familiarity with 8051 toolchains (Keil µVision, SDCC, or equivalent)
- Understanding of 8051 interrupt vector table, ISR design, and interrupt priority management
- Experience with 8051 serial communication (UART) and bit-banging protocols
RTOS - FreeRTOS on ARM Cortex-M4
- Strong hands-on experience with FreeRTOS on ARM Cortex-M4 processors
- Deep understanding of FreeRTOS kernel internals: task management, scheduler, tick configuration
- Experience implementing FreeRTOS queues, semaphores, mutexes, timers, and event groups
- Proficiency with ARM Cortex-M4 architecture: NVIC, SysTick, MPU, FPU, and exception handling
- Experience with Cortex-M4 peripheral driver development (HAL and register-level)
- Familiarity with ARM toolchains: GCC ARM, Keil MDK, or IAR Embedded Workbench
- Experience with low-power design and tickless idle mode in FreeRTOS
Communication Protocols
- Strong working knowledge of UART, SPI, I2C communication protocols at the firmware level
- Experience implementing and debugging protocol stacks on both 8051 and Cortex-M4 platforms
- Familiarity with CAN, RS-485, or other industrial protocols is a plus
Soft Skills
- Strong analytical and problem-solving skills with a systematic debugging approach
- Meticulous attention to detail- embedded bugs can be hardware-destructive
- Ability to work independently and take full ownership of firmware modules
- Clear technical communication for cross-discipline collaboration with hardware and software teams
- Patient and methodical comfortable working at the intersection of software and hardware
Nice to Have
- Experience with CMSIS (Cortex Microcontroller Software Interface Standard)
- Familiarity with STM32 or similar Cortex-M4 based microcontroller families
- Knowledge of bootloader design and firmware over-the-air (FOTA) update mechanisms
- Exposure to hardware security practices (secure boot, code signing, flash protection)
- Experience with unit testing frameworks for embedded systems (Unity, Ceedling, or similar
- Familiarity with MISRA-C coding standards
- Background in smart building, IoT, or access control device development
- Experience with Embedded Linux or Zephyr RTOS as secondary platforms