Roles and responsibilities : ● Work with the team to design firmware in accordance with the H/W design. ● Produce clean, efficient code based on specifications. ● Verify and deploy programs and systems. ● Troubleshoot, debug and upgrade existing firmware. ● Gather and evaluate user feedback. ● Recommend and execute improvements. ● Create technical documentation for reference and reporting. Skills required: ● Experience with C/C++ in an embedded environment and have experience with ADC and Signal processing. ● Experience with common peripherals such as USB, I2C, I2S or SPI. ● Knowledge of circuit designing. ● Experience bringing up and debugging hardware using logic analyzers, oscilloscopes, etc. ● Experience with one or more scripting languages, python preferred. ● Familiarity with ADC, Bluetooth and BLE and other communication protocols is a plus. ● Experience using UML and block diagrams to represent software architectures and designs. ● Strong troubleshooting and root cause analysis skills. ● Passion for consumer electronics and looking to work with a startup Brainovative Labs focuses on Healthcare, Machine Learning, Neuroscience, Embedded Hardware and Software, and Electronics. Their company has offices in Roorkee and IIT Roorkee Campus. They have a small team that's between 1-10 employees. You can view their website at https://brainovativelabs.com