I build firmware and connectivity stacks that have to work β bare metal to RTOS, silicon to protocol.
I'm an Embedded Software Engineer specializing in bare-metal ARM programming, RTOS architecture, and Bluetooth protocol stacks. Currently a Bluetooth Developer Intern at Harman International, where I work on Android's Bluetooth stack β implementing and certifying HFP, A2DP, MAP, and PBAP profiles for automotive infotainment systems.
What sets my background apart: I don't just call embedded APIs β I've built a register-level C++ peripheral driver library from scratch (GPIO, RCC, EXTI, NVIC, SysTick, USART, no HAL/LL), a custom UART bootloader (flash erase, CRC verification, VTOR relocation), and a bare-metal task scheduler with zero HAL/IDE dependency, writing my own linker scripts, startup files, and manually manipulating Cortex-M4 stack frames. That's the kind of register-level fluency that's increasingly rare as more engineers stay in HAL/Arduino-land.
- π B.Tech, Electronics & Communication Engineering β CGPA 8.0/10, RGMCET, Nandyal
- π§ Comfortable across the stack: silicon registers β drivers β RTOS β application protocol
- π‘ Production exposure to Bluetooth certification workflows (PTS testing, OTA capture)
- π― Targeting: Embedded Software Engineer / Firmware Engineer / Bluetooth-Connectivity Developer roles
- π± Currently deepening Linux kernel-level Bluetooth internals and real-time systems design
RTOS & Bare-Metal
Custom Bootloaders Linker Scripts Startup Code NVIC SysTick PendSV DMA Interrupts
Protocols
SPI I2C UART CAN HFP A2DP MAP PBAP OTA MQTT HTTP
Platforms
ROS (Basics) PCB Design
Tools & Debugging
GCC ARM OpenOCD GDB Keil Β΅Vision STM32CubeIDE MPLAB X SEGGER SystemView ADB Logic Analyzer Cadence Virtuoso ESP-IDF
A from-scratch, register-level peripheral driver library for the STM32F407VG Discovery board β no HAL, no LL.
- Six drivers built directly against the reference manual: GPIO, RCC, EXTI, NVIC, SysTick, USART
- Clean object-oriented C++ API β GPIO owns an RCC instance, EXTI takes port+pin, static NVIC methods β direct register struct access underneath
- Documented with PlantUML class and architecture diagrams, plus per-peripheral theory and register breakdowns
- Example applications for each driver (LED blink, button + EXTI interrupt, USART loopback)
- Why it matters: shows the same register-level fluency as the bootloader/scheduler below, applied to a reusable driver layer instead of a one-off program
Embedded C++STM32F407Register ProgrammingPlantUML
Built a production-style bootloader with no vendor middleware.
- Flash erase, memory write, and CRC32 integrity verification before application jump
- Custom VTOR relocation, linker scripts, and startup code to separate bootloader/app memory regions
- Companion Python host tool for firmware transfer and command handling over UART
- Why it matters: demonstrates the exact mechanism (safe, verifiable firmware updates) used in real OTA/field-update systems
Embedded CUARTARM Cortex-M4Python
A cooperative/round-robin task scheduler built entirely from the CLI β no HAL, no IDE.
- Hand-written linker scripts and startup files for precise memory layout control
- Manual Cortex-M4 stack frame manipulation via SysTick & PendSV for context switching
- Debugged at the register and stack-frame level using GDB + OpenOCD
- Why it matters: proves RTOS internals are understood, not just used
GCC ARMOpenOCDGDB
Multi-sensor vehicle monitoring system on ARM7 LPC2129.
- FreeRTOS tasks coordinating concurrent SPI, I2C, and UART sensor reads
- Task-level profiling and RTOS trace visualization with SEGGER SystemView
ARM7 LPC2129FreeRTOSSEGGER SystemView
Custom adder architecture combining Ling and Ripple Carry logic for optimized speed/area trade-off, designed in Cadence Virtuoso.
Cadence VirtuosoVLSI Design
π Remaining repo links are placeholders β push each project to its own repo (not buried in a single course-projects folder) so each one is independently star-able, forkable, and indexable by GitHub search.
- π² Shipping Bluetooth profile features (HFP/A2DP/MAP/PBAP) and running PTS certification cycles at Harman International
- π§© Extending the STM32F407 driver library with SPI, I2C, and CAN drivers
- π§ Going deeper into Linux BlueZ internals to connect my embedded background to the Android Bluetooth stack I work in daily
- π§° Migrating my project history out of a single repo into individually documented, pinned repositories (see recommendations below)
- Linux kernel-level Bluetooth (BlueZ) architecture
- Advanced RTOS scheduling and real-time systems design
- Secure OTA update design (signed firmware, rollback protection)
β οΈ Note: stats widgets reflect public commit activity, which will look thin until projects are split into individual repos with real commit history (see below). This is normal for embedded portfolios and easy to fix.
| Role | Company | Focus |
|---|---|---|
| Bluetooth Developer Intern | Harman International | Android BT stack β HFP, A2DP, MAP, PBAP; PTS certification |
| Embedded Software Trainee | Vector India | Interrupt-driven drivers (SPI/I2C/UART/CAN), FreeRTOS, Linux |
| ARM Cortex-M4 Bare-Metal Program | Argyan Tech | Cortex-M4 architecture, custom scheduler, AAPCS |
| PIC Microcontroller Course | Argyan Tech | Register-level Embedded C on PIC16F877A |
Embedded Systems β Eduskills & Microchip Β· ARM Cortex / STM32 MCU1 & MCU2 β FastBit Embedded Brain Academy Β· Cloud Computing β NPTEL Β· Introduction to IoT β NPTEL Β· Git & GitHub β GeeksforGeeks
π₯ 2nd Place, Circuit Debugging β Ripple 2K24 Β |Β ποΈ Appreciation Award, Chatbot Development β AIMERS Society
| π§ Email | j.jayavardan.r@gmail.com |
| π LinkedIn | linkedin.com/in/jayavardan j |
| π Portfolio | https://jjayavardan.github.io/JJAYAVARDAN |
| π Resume | View / Download |
| π Location | Bengaluru, Karnataka, India |
Open to: Embedded Software Engineer Β· Firmware Developer Β· Bluetooth/Connectivity Engineer roles
