Job Description:
- Write firmwware for following microcontroller series:
- 8,16 bit MCU-s (Microchip, Atmel, Cypress, 8051, TI, Freescale, NXP)
- 32 bit MCU- s (ARM in general, STMicroelectronics, Nuvoton)
- Write various Arduino based projects.
- Write drivers for various sensors – Accelerometers, Gyroscopes, Magnetic sensors etc. for UART, I2C, SPI. USB interfaces.
- Write RTOS and non-RTOS based microcontroller applications
- Develop secured firmware update mechanisms for ongoing firmware updates.
- Write firmware applications using LCD-s, touch screens, display controllers.
- Understand, analyze and implement various firmware related to communication protocols – Zigbee, CYRF
- Create and implement test cases for various applications.
Requirements:
- Strong knowledge in C, C++(required), ASM programming(advantage)
- Experience in MCU programming (ARM and 8/16 bit MCU) – 10 years minimum
- Experience in development and debugging various interfaces – I2C, UART, SPI, USB – 10 years minimum
- Experience in development wireless communication protocols – strong benefit
- Understanding of quaternions, mathematical models of stabilization, navigation algorithms is a strong asset.
- Experience in PC and Google App programming is a strong asset
- Experience in Android/IOS programming is a strong asset
- Understanding of microcontroller RTOS is a strong asset
- Experience in camera sensors firmware development (CCTV) is an asset.
- Good knowledge of RC flight controls functionality or ability to quickly understand functionality and be able to modify/ develop/ maintain/debug is a strong asset.
- Basic knowledge or experience in hobby (remote controls, flight controls, GPS) – is an asset
- Fluently speaking in English. Written and spoken Chinese and/or Russian is a benefit.