Crocus is hiring for a Role Own low-level firmware on STMicro MCUs and Linux kernel drivers. You’ll write bare‑metal C/C++ for STM32/STM8, develop/extend Linux device drivers for board peripherals, analyze schematics, and build small Qt desktop tools for test/diagnostics. Responsibilities Bare‑metal STM32/STM8 firmware (startup/linker, clock & power, pinmux, ISRs, timers/PWM, ADC/DAC, DMA). Linux kernel driver development: platform/char/tty drivers, SPI/I²C/UART/RS485/CAN, GPIO/IRQ, DMAengine, Device Tree (DTS/overlays), sysfs/debugfs hooks. Board bring‑up & HW–SW debug with ST‑LINK/SWD, GDB, oscilloscope & logic analyzer; root‑cause timing/signal issues. Implement bootloaders & firmware update paths (UART/USB/CAN/OTA as applicable). Build Qt (Widgets/QSerialPort/QThread) utilities for production test, logging, and field diagnostics. Schematic analysis: review power/clock/reset trees, transceiver bias/termination, level shifting, EMI/ESD paths; propose fixes. Write tests, docs, release notes; contribute to code reviews and CI. Must‑have Skills (all required) 2–3 years commercial embedded experience. Strong C for MCU (register‑level) and C for Linux kernel (kernel style, modules, locking/IRQs, workqueues). STM32 toolchain: STM32CubeMX, HAL/LL (or SPL legacy), and at least two IDEs (STM32CubeIDE/Keil/IAR/PlatformIO). Peripheral drivers with DMA: UART/SPI/I²C/Timers/ADC + one field bus (RS485/CAN). Linux driver expertise covering: Serial/tty (UART/RS485), SPI/I²C client drivers with regmap, CAN (SocketCAN) bring‑up, basic USB CDC device; Device Tree authoring, sysfs/debugfs, udev integration, dkms/out‑of‑tree module flow; cross‑compile & board bring‑up (toolchains, initramfs; Buildroot/Yocto basics). Protocols & stacks: Modbus RTU/TCP, TCP/UDP sockets, framing, timeouts, error handling (CRC/RTU timing). FreeRTOS fundamentals (tasks/queues/ISRs, tickless/low‑power) even if projects are bare‑metal first. Qt basics for test apps (port selection, read/write, threading, simple plotting/logging). Coding standards & quality: MISRA‑C:2012, CERT‑C, static analysis (cppcheck/clang‑tidy/PC‑lint), unit/integration tests, CI (GitHub/GitLab). Schematic reading and measurement‑driven debugging (scope/LA), including terminations/biasing and crystal/PLL checks. Solid Git workflow; CMake/Make; basic Python for test automation. Qualifications B.E./B.Tech/M.Tech (ECE/EEE/CSE) or equivalent practical experience. Shipped at least one STMicro‑based product from bring‑up to field and delivered at least one Linux driver on hardware. Engineering Toolchain (IDE, Build, CI) STM32CubeIDE/Keil/IAR • CubeMX • ST‑LINK/J‑Link • GCC/Clang cross‑toolchains • Buildroot/Yocto (basic) • Git • CMake/Make • Python • Qt Desktop • Oscilloscope & Logic Analyzer. Location: Bangalore • Work mode: Onsite only • Team: Embedded R&D • Type: Full-time Interested candidates kindly share your updated CV at jobs@crocustech.net Job Types: Full-time, Permanent Pay: ₹40,000.00 - ₹55,000.00 per month Benefits: Health insurance Provident Fund Ability to commute/relocate: HSR Layout, Bengaluru, Karnataka: Reliably commute or planning to relocate before starting work (Required) Work Location: In person