CS graduate working in Embedded Systems
Firmware and embedded systems engineer in training with a Bachelor's in Computer Science. I work directly at the register level — configuring RCC, GPIO, and peripherals from the reference manual. My goal is to build reliable, efficient firmware for hardware.
I come from a software background and chose to pivot into embedded because I wanted to understand how hardware functions under the physical buttons.
··· = in progress
An autonomous planter equipped with a submersible pump, ambient light sensor, and soil moisture sensor for sensor-based watering decisions. Controls a 12V pump via MOSFET switching with an optional WiFi web server for browser-based control
Baremetal pump driver on the STM32 Nucleo G0B1CE. Button-controlled MOSFET switching configured entirely through direct register access — MODER, OTYPER, PUPDR, BSRR — without HAL. Includes pull-down network, gate resistor, and inductive load handling.
Cross-platform mobile app with real-time location tracking via Google Maps API, Firebase Auth, Firestore, and an admin dashboard for menu and location management. Tiered subscription visibility for food truck operators.
A walkthrough of my first embedded hardware project — a self-watering planter using a 12V pump and STM32. Documents the wiring process, MOSFET switching, and what happens when you skip a flyback diode on an inductive load.
A beginner-focused guide covering how to wire and control 3-pin digital modules using ESP-IDF on the ESP32. Covers GPIO initialization, signal pin configuration, and a working button-controlled main loop.
A practical introduction to I2C on the ESP32 using the VEML7700 ambient light sensor. Covers bus and device handle configuration, writing to config registers, reading multi-byte data, and parsing 16-bit values from raw bytes.
DEAC-accredited program covering data structures, networking, OOP, operating systems, databases, cybersecurity, and software engineering. Languages: JavaScript, C++, C#, SQL.
Peripheral driver development from scratch on STM32: GPIO, SPI, I2C, USART. Emphasis on register-level understanding and reading ARM reference manuals.
Go, Python, OOP, Git, HTTP, Linux. Structured backend fundamentals to complement embedded systems work.
Here lies the graveyard of components that have been damaged beyond repair. Each one of these has been a part of the learning journey and now rest in pieces.