Projects across embedded firmware, digital logic, autonomous robotics, and software. Each entry focuses on what I worked on and how the system was put together.
01
Embedded system
Wearable fall detection device
Developed STM32 firmware in C to process accelerometer and gyroscope data for fall detection. I implemented a sliding-window moving average filter in assembly and integrated NFC-based data transfer for exporting stored data to a mobile dashboard.
STM32CAssemblyIMUNFC
02
FPGA / digital logic
K-Map simplifier & visualiser
Designed an FPGA system for entering three-variable K-Maps and viewing Boolean expressions and logic circuits in real time. I built the input and visualisation logic, SOP/POS selection, canonical-expression generation, OLED rendering, and top-level integration of the team’s submodules.
VerilogFPGAOLEDDigital logic
03
Autonomous robotics
Search-and-rescue robot
Built a TurtleBot3 system that navigated an unknown maze and detected heat signatures. The system combined ROS 2 Humble, Nav2, SLAM, 2D LiDAR, IR sensing, A* path planning, and application logic that generated goals from detected heat sources.
ROS 2Nav2SLAMA*LiDAR
04
Software engineering
CuddleCare
Worked on a Java command-line pet-care system with a command-based architecture. I implemented core commands, defensive validation, structured logging, fault-tolerant storage handling, JUnit tests, UML diagrams, and sections of the user and developer documentation.
JavaJUnitCLIUML
05
Game development
UniQuest
Built a two-person NUS-themed platformer in Godot. I worked on character customisation, combat, collectables, progression, touch controls, and cross-platform deployment, while the team created the sprites, tilesheets, and music in-house.
Developed and maintained a Node.js and Discord.js bot with games, moderation tools, giveaways, greetings, and server utilities. Over two years, it grew to operate across more than 1,000 servers.