about
I'm a Computer Engineering student at the University of Bohol, working at the intersection of embedded firmware, control software, and hardware that actually has to survive being driven into walls on purpose.
My coursework and personal projects span ESP32 firmware development, sensor-driven autonomous behavior (sonar, line, and IR sensing), Java desktop tooling for hardware control, and full-stack web development. I like the layer where code meets physical hardware - where a bug isn't just a stack trace, it's a robot driving into a couch.
Outside of coursework, I tinker with PC hardware optimization, Linux system configuration, and the occasional Minecraft modding project.
projects
A dual-ESP32 combat and utility robot, built on a breadboard platform and controlled wirelessly over ESP-NOW. A custom Java desktop GUI drives it over USB serial, with five distinct autonomous and manual modes - from ring sumo combat to interrupt-driven maze solving.
- 5 modes: Manual/Hockey, Sumo, Sumo (no ring), Maze Solver, OTA Update
- ESP-NOW wireless link between master (USB) and slave (onboard) ESP32s
- Triple HC-SR04 sonar array (front / left / right) for obstacle & opponent sensing
- Interrupt-driven, left-hand-rule maze navigation with no backtracking stack
- Java Swing-style desktop GUI: live telemetry, mode switching, manual drive
- Over-the-air (OTA) firmware updates via onboard WiFi hotspot
- RGB status LED reflects active mode; NVS persists last mode across reboots
- TB6612FNG dual-channel motor driver running left/right motors in parallel
A C/C++ console point-of-sale system built for a Computer Engineering course last semester, simulating a real gas station checkout: fuel sales, automatic tax, a loyalty discount program, generated barcodes, and printable receipts - all backed by flat-file persistent storage. Built as a group project with three classmates.
- Fuel sale transactions across 4 fuel types with live per-liter pricing
- Automatic 5% tax calculation on every transaction
- Loyalty program: 10% discount after 10 purchases / ₱10,000 spent
- 60-day loyalty expiry tracking with persisted records
- Barcode generation per customer via the zint library
- Auto-saved, formatted plain-text receipts per transaction
- Customer lookup by auto-incrementing 4-digit ID
- Flat-file persistence - no external database required
contact
Have a project, an opportunity, or just want to talk about robots that drive into things on purpose? Reach out - I read everything that comes through.