Skip to content
View surajgajavelly's full-sized avatar

Block or report surajgajavelly

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
surajgajavelly/README.md

Hi, I'm GAJAVELLY SAI SURAJ!

I'm an Electronics Engineer who loves turning bare‑metal hardware into responsive systems. For me, embedded programming feels like teaching silicon to think and breathe — from configuring registers to orchestrating real‑time schedulers. My goal is to craft efficient, deterministic code that transforms raw circuits into dependable devices we can trust in the real world.

LinkedIn Email

🏗️ Engineering Roadmap & Active Projects

Project Status The Engineering Challenge
1. The Firmware Foundation
(Bare-Metal Driver Suite)
Completed Goal: Zero-HAL control of the STM32F446RE.
Tech: Registers, DMA, Linker Scripts, Custom Allocator.
Key Feature: Manually mapping high-speed buffers to CCM RAM using custom linker scripts.
2. The System Architect
(Hybrid Bootloader)
Completed Goal: Designing a versatile, transport-agnostic hybrid bootloader.
Tech: Flash Memory Map, CRC32, YMODEM.
Key Feature: A flexible architecture supporting Dual-Source Updates: capable of Local Flashing (via UART/Service Tool) and Remote FOTA (via CAN/Gateway).
3. The Application Expert
(FreeRTOS + CAN Bus)
📅 Planned Goal: Simulating a distributed automotive network.
Tech: FreeRTOS, CAN (bxCAN), SPI/I2C, ESP32 Gateway.
Key Feature: "Car on a Desk" — Node A (ECU) handles sensors/actuators while Node B (Gateway) bridges telemetry to the cloud via MQTT.

Pinned Loading

  1. BareMetal_F446RE BareMetal_F446RE Public

    Zero-HAL Device Drivers for STM32F446RE. Written from scratch using Register Maps.

    C

  2. HeapEngine HeapEngine Public

    A high-performance custom heap allocator in C — built from scratch for speed, control, and modularity.

    C

  3. MiniShell-Linux MiniShell-Linux Public

    A custom Linux shell implemented in C featuring N-level piping, signal handling (Job Control). Developed to demonstrate systems programming, process lifecycles, and IPC mechanisms.

    C

  4. OmniBoot OmniBoot Public

    A scalable, bare-metal hybrid bootloader for ARM Cortex-M microcontrollers. Supporting UART, YMODEM, and FOTA architectures.

    C

  5. Sentinel-Proc Sentinel-Proc Public

    A concurrent TCP/IP-based remote management solution for Linux systems. Features a custom binary protocol to perform low-level process diagnostics and resource monitoring by directly parsing the /p…

    C

  6. TCP-IP-Chat-Room TCP-IP-Chat-Room Public

    Multi-threaded TCP Chat Room using POSIX threads, Socket programming, and Advisory File Locking in Linux.

    C