APPLY HERE ON LINKEDIN
Location: Hyderabad
Company: Onivart Labs
Role Overview
Onivart Labs is seeking a highly skilled Embedded Software Engineer for a full-time, on-site position in Hyderabad, India. The ideal candidate will have extensive experience in embedded software development, firmware optimization, and real-time systems, with a deep understanding of microcontrollers, communication protocols, and low-level programming.
Key Responsibilities
- Develop, optimize, and debug embedded firmware for microcontrollers and SoCs.
- Work on bare-metal, RTOS, and embedded Linux-based firmware architectures.
- Design and implement low-level drivers, BSPs (Board Support Packages), and HAL (Hardware Abstraction Layers) for various embedded platforms.
- Integrate and optimize wireless communication protocols, including BLE, Wi-Fi, LoRa, Zigbee, Thread, Matter, UWB, and NB-IoT.
Develop robust and efficient firmware for MCUs and SoCs such as:
- STM32 (F, L, G, H series)
- nRF52/nRF53 series (Nordic)
- ESP32/ESP8266 (Espressif)
- Silabs EFR32
- MSP430 (TI)
- ATSAMD/AVR (Microchip)
- Raspberry Pi RP2040
- Renesas RA/RL series
- Infineon PSoC and XMC series
Implement real-time data acquisition, signal processing, and sensor fusion algorithms for IoT and industrial applications.
- Utilize C, C++, and Rust for firmware development, with a focus on performance, memory efficiency, and security.
- Develop and optimize communication stacks for SPI, I2C, UART, CAN, RS485, MODBUS, USB, Ethernet, and PCIe.
- Implement secure bootloaders, OTA (Over-the-Air) firmware updates, and cryptographic security measures (AES, SHA, ECC).
- Work with power management strategies, optimizing firmware for ultra-low-power applications.
- Debug and analyze hardware/software interactions using JTAG/SWD, oscilloscopes, logic analyzers, and protocol analyzers.
- Develop test scripts and automation tools for firmware validation.
Required Qualifications
- Bachelor’s or Master’s degree in Embedded Systems, Electrical Engineering, Computer Science, or related field.
- 3+ years of hands-on experience in embedded software development.
- Proficiency in C/C++, with experience in embedded compilers (Keil, GCC, IAR, Clang).
- Expertise in debugging using GDB, OpenOCD, J-Link, ST-Link, Segger RTT, and Lauterbach TRACE32.
- Experience with RTOS-based development (FreeRTOS, Zephyr, ThreadX, RTEMS, QNX).
- Familiarity with wireless stacks (BLE Mesh, Wi-Fi stack, LoRaWAN, Zigbee/Thread Matter protocols).
- Understanding of analog and digital signal processing (DSP), ADC/DAC, PWM, and motor control algorithms.
- Experience with machine learning on embedded platforms (TinyML, TensorFlow Lite, Edge Impulse, CMSIS-NN) is a plus.
- Strong understanding of real-time constraints, interrupt handling, DMA, and memory management (SRAM, Flash, EEPROM, FRAM).
- Knowledge of hardware security features (TRNG, HSM, TPM, TrustZone, Secure Boot).
- Experience with automated testing frameworks for embedded systems.
Preferred Skills
- Experience in AI/ML on embedded devices.
- Hands-on experience with power electronics, battery management systems (BMS), and energy harvesting.
- Familiarity with cloud-connected IoT firmware (MQTT, CoAP, WebSockets, TLS/SSL, AWS IoT, Azure IoT Hub).
- Contribution to open-source embedded software projects.
This role offers an opportunity to work on cutting-edge embedded solutions in IoT, industrial automation, healthcare, and consumer electronics.