Embedded Low Level Device Driver

Role : Firmware-device driversdevelopment for Embedded projects.


  • architectural vision and design
  • hands-on engineering design
  • architecture
  • implementation
  • review of solutions
  • implementing state-of-the-art software development best practices
Skills / Experiences

The successful candidate will have more than 1-6years experience of hands-on embedded software development experience in firmware/device drivers area with demonstrable past performance and measurable results. Preferred background in Embedded system software especially in the industrial/automotive/medical engineering areas.

hands-on software firmware-device drivers design / implementationexperience.

Experience in developing device drivers for peripherals like UART, I2C, GPIO, SPI, I2S, ADC, RS232/RS485, CAN, Modbus, Graphical LCDs, Touch Screen Controllers, Keypads etc.

Experience on embedded processors preferably PIC processors and ARM Cortex series of processors.

Thorough knowledge of at least one high level language like C/C++.

Ability to understand hardware schematic. Fair knowledge of board level and chip level architecture.

Good understanding and appreciation of RTOS/OS concepts, preferably experience in working with at least one RTOS like Embedded Linux.

Ability to Effectively Use measuring equipment like DSO, Logic Analyzer etc.

Proven track record of debugging and resolving complex issues during product development and sustenance.

Experience in bringing up complex processor boards and in developing code for debugging and diagnostics of the board.

Demonstrated knowledge of engineering process methodology and full product lifecycle.

Experiencedand exposure to system standards, working with standards bodies and systemengineering groups.

Experienced in architecting driver and middleware solutions which can be rolled out

across multiple platforms / devices. Experienced in working with hardware engineering, customer support teams.

Key Result Areas

Ownership of the overall technical solution supplied to the customer Build highly reliable and scalable solutions that are nimble and responsive to customer needs Instituting appropriate processes and tools to create a highly-efficient, development environment

Behavioral Attributes

Proactive Self-starter

Ability to work with team and motivate them get the best out of the team.

Adept at prioritizing multiple deliverables in order to meet project milestones

Strong communication skills and ability to communicate at levels in the customer and the organization.

Good analytical, programming and communication skills with accent on constructive teamwork