Must have skills :
- Firmware Development in C/C++
- Bare metal programming
- HAL(hardware abstraction layer) knowledge
- Hands on with RTOS
- Debugging and optimization techniques (like openOCD, GDB, Valgrind)
- Basics of hardware debugging( with logic analyser and DSO)
- Understand hardware schematic.
- Protocol knowledge of I2C,SPI,UART
- Hands on with general purpose MCU families like NRF, STM, NXP & ESP32. Experience with industrial/LC MCUs is and added advantage.
Good to have skills:
- Hands on with Wi-Fi/BLE based development
- Hands on with EEPROM and SD interfacing
- Knowledge of multi-threaded application development
- Development in Linux environment
- Cross platform compilation