Engineering Portfolio
Eugene James Magsino
Engineering Science @ SFU
I tend to look at things and wonder how they could work better.
I break problems down, explore possible solutions, build what's needed, and bringing the pieces together into something that works.
I like to learn by doing, and I like to do by learning.
I am a second year Engineering Science student at Simon Fraser University who enjoys turning ideas into projects. My interests span both the hardware and software aspects of engineering, and I enjoy understanding how different pieces come together to solve problems. Through coursework, personal projects, and independent learning, I have developed a foundation in programming, simulation, hardware design, and CAD, while continuing to expand my technical skills. I enjoy learning new tools, working through challenges, and collaborating with others to create solutions that are practical and effective. As I further my education, I look forward to applying what I have learned in real-world settings, contributing to meaningful projects, and taking on new challenges that will help me grow.
Design a functional digital alarm clock on an FPGA board that could accept physical user inputs for configuring the clock and alarm while managing multiple operating states.
The system was designed around a finite state machine (FSM) written in VHDL. I used one-hot state encoding and edge detection to manage button inputs and control transitions between clock, configuration, and alarm states. Before deploying the design to the FPGA, I developed ModelSim test benches to verify state transitions and timing behavior. This allowed me to identify and correct logic and timing issues before integrating the system onto the Intel DE10 board.
A major challenge was ensuring that the FSM correctly handled all possible input sequences, especially when multiple buttons were pressed in quick succession. Implementing the one-hot encoding state also proved to be a challenge, as it required careful management of state transitions and outputs to avoid glitches in the display and alarm behavior.
The final design combined the FSM, input handling, real-time display, and alarm control into a single FPGA-based system.
Strengthened my understanding of FSM design, VHDL coding practice, and learned the importance of thorough simulation and hardware testing as they complement each other when debugging digital systems.
Project Video
Build a physical LED PCB Circuit board capable of detecting a user's touch and activating the LED accordingly, while incorporating a gradual fade-out after the touch is released.
I assembled the circuit by soldering transistors, ICs, LEDs, timing components, and other necessary components onto a built PCB. A copper touchpoint was incorporated as the user input, with the timing circuitry controlling the LED's activation and fade-out behavior. After assembly, I tested the PCB and identified issues with component placement that affected the circuit's performance. When the circuit did not behave as expected, I diagnosed the problem and corrected the placement of components to ensure reliable operation.
Testing revealed placement and assembly issues that prevented the circuit from operating reliably. A problem that occured was that only few of the LEDs would light up when the touchpoint was activated, and the fade-out behavior was inconsistent. I performed checks on the soldered components, traced back the faulty behavior back to component placement, and corrected the affected connections before retesting the system.
The finished PCB provided touch-based LED activation with a controlled fade-out, demonstrating the interaction between physical input, transistor/IC circuitry, and timing components.
How small physical implementation details can significantly affect the performance of a circuit, and how to troubleshoot and correct issues in a physical hardware build.
Project Video - To Be Implemented
Develop a Blackjack simulation in C++ to explore game mechanics, strategies, and card-counting mechanics while maintaining the state of a multi-hand game.
I organized the simulation into separate classes for cards, decks, hands, and overall game mechanics. Each card stores its own value, while the deck manages card creation, shuffling, shoes, and dealing. I implemented standard Blackjack actions including hit, stand, and double down, along with advanced Blackjack rules such as splitting hands, dealer behavior, and insurance bets. A betting and bank system was also implemented, where the simulation also tracks player balance and game statistics tracked across multiple rounds.
Managing the interactions between different game components required careful handling and proper organization of the game state. The hardest to manage were the splitting of hands and insurance payouts, which required additional logic to ensure that the game does not break.
The completed simulation supports full Blackjack gameplay while maintaining player balance and statistics over time, allowing different strategies and decisions to be evaluated across games.
Strengthened my understanding of OOP principles in C++, and how to manage complex interactions between different classes and game states by breaking them down into smaller, workable chunks.
Project Video - To Be Implemented
Design and construct a functional hovercraft capable of generating stable lift, forward thrust, and directional control while meeting the project's physical and performance requirements.
I coordinated developement with the lift, thrust, and steering subsystem teams, using task delegation and milestone tracking to keep the different components compatible and on schedule. For the physical structure, I designed and fabricated the wooden frame in AutoCad, woodworking techniques, and power tools. The propulsion and lift system was based on a leaf blower, which was tuned to provide stable lift and forward thrust while maintaining hovercraft control.
Achieving stable lift and control was a challenge, as the hovercraft's weight distribution and propulsion system needed to be carefully balanced. Despite correct Physics calculations, the hovercraft initially struggled to maintain stable lift and control, requiring iterative adjustments to the design and tuning of the propulsion system. Furthermore, coordination between different subteams proved to be a struggle at times, delaying progress on the project.
The completed hovercraft integrated its mechanical structure, lift, propulsion, and steering systems into a functional vehicle.
Learned how changes to one subsystem can affect the performance of the overall system, and how to coordinate with a team to ensure that different components are compatible and work together effectively.
Project Video
Design and program an autonomous robot capable of performing required scoring tasks while operating under competition constraints.
I developed and built the robot through mechanical prototyping and component redesign, testing the physical system against competition requirements. Software and mechanical components were developed together so changes to one subsystem could be evaluated against overall robot performance.
During testing, the robot's performance was highly inconsistent. I diagnosed issues across both the control code and the mechanical frame, identifying and correcting problems in each area. Although the autonomous system was able to perform scoring tasks under some conditions, the robot ultimately failed to achive consistent goal placement.
The final prototype demonstrated autonomous scoring capability under certain conditions, but did not achieve the consistency required for reliable competition performance.
I learned that a system working under controlled conditions is not enough. Repeated testing and reliability are critical when designing for real-world performance.
Project Video - To Be ImplementedNew Westminster District Scholarship (2025) · Catholic Women's League Bursary (2025)
1st place — FamFlavours app
District Referee Certification