- Develop and maintain bare-metal embedded firmware using C/C++.
- Program microcontrollers such as STM32, ESP32 and other embedded platforms.
- Develop firmware without an operating system (bare-metal programming).
- Configure and program hardware peripherals, including GPIO, ADC, Interrupts, and Watchdog.
- Implement communication protocols such as UART, SPI, I2C, CAN, and RS485/Modbus.
- Interface microcontrollers with sensors, actuators, displays, and other electronic components.
- Work with hardware engineers on circuit testing and system integration.
- Prepare technical documentation and maintain firmware source code.