Reasoning: Final Project for IoT Class
Technologies:
Description:
ToolSense is a smart workshop management system that tracks the live status of toolboxes and their contents. It combines sensors and modules to recognize faces from a registered group of users and track tools as they are taken or returned. The system maintains a live feed of toolbox status for administrators via a web application. ToolSense was built using Internet of Things strategies and resources.
What I demonstrated:
Embedded Systems Design: Implemented multiple embedded system features including facial detection and encoding, integration of hardware sensors, and system-to-system Wi-Fi communication.
IoT Cloud Integration: Leveraged Azure IoT Hub for real-time telemetry storage and monitoring.
Scripting and Backend Development: Used Python, C#, and React.js to instantaneously send and collect data from the cloud for use in the user interface.
Images:
ToolSense System Design
ToolSense Drawer Module
ToolSense User Interface
GitHub: https://github.com/MaxwellPembo/ToolSense
Reasoning: Project for Embedded Systems Class. Technologies:
Description:
This project included created a fully automatic, self driving robot that followed a wall while avoiding obsticals in its path. An Arduino Uno was used with motor drivers, Ultrasonic Sensors, Servos, and IR Recvivers to create the system that observed the robots surroundings and make movement decisions. The robot also holds a remote contoled functionlity, where the moverments are driven by an IR remote. All firmware was written at the register level and no expternal Ardino lobraries were used.
What I demonstrated:
Register Level Programming: Coded all functions at register level without using aruduino libraries.
Hardware Interfacing: Used a combonation of Ultrasonic senors, Servos, Motors, and IR recivers.
Timer & Interupt Configuration: Configured my own timers, counters, and PWM signals to drive system logic.
Images:
Robot System Design
Finished Robot
GitHub: https://github.com/MaxwellPembo/Arduino-Robot
Reasoning: Senior Project Technologies:
Description:
SkyBeam is a project focused on maintaining a 60 GHz communication link between a stationary base station and a moving drone using beamforming to track the system’s movement. The system tracks the drone’s location based on antenna data and adjusts antenna gimbals in real time to maintain the connection. The system includes multiple servos that are driven automatically using antenna data, manually using a joystick, or remotely through a Bluetooth application.
What I demonstrated:
mmWave Communication: Levraged Beamforming and beam-tracking techniques for maintaing a communication link.
Firmware Development: Implemented C++ code to process antenna data and track moving drone.
System Control: Developed precise logic that adjusted beam direction.
Video:
Reasoning: Advanced Embedded Systems Project Technologies:
Description:
This project consisted of implementing a Oscilloscope and function generator using VHDL on a FPGA board. This system used custom digital logic componets and a MicroBlaze soft processor. Logic was created to drive a VGA/HDMI video output at 640x480 resolution, that showed the inputted signal. System functionality is driven using on board buttons and commands read though UART.
What I demonstrated:
FPGA Design: Developed digital logic using VHDL and Xilinx Vivado.
Testing & Verification: Tested functionality using testbench simulations and hardware testing.
Images & Videos
System Design
Block Diagram
O-Scope Functionality
Oscilloscope Functionality Video 1
Oscilloscope Functionality Video 2
Function Generator Function Video
GitHub: https://github.com/MaxwellPembo/FPGA-Oscilloscope
Reasoning: Final Project for Advanced Embedded Systems Class.
Technologies:
Description:
This project involved creating a verison of space invaders that ran on a FPGA contolled by a clasic NES controller. The game logic was created using VHDL for hardware and video control. User input was read using the boards PMOD interface with a 5-Pin NES contoller. The HDMI port on the FPGA was used to output game video at 60 fps at 640x480 resolution.
What I demonstrated:
FPGA Design: Developed digital logic using VHDL and Xilinx Vivado.
Testing & Verification: Tested functionality using testbench simulations and hardware testing.
Peripheral Interfacing: Created logic system to read signals from external controller.
Images & Videos
Block Diagram
GitHub: https://github.com/MaxwellPembo/FPGA-SpaceInvaders
Reasoning: Computer Organization Project
Technologies:
Description:
This project consited of creating a 16-bit processor with 8 registers from VHDL on a DE10-Lite FPGA. The processor was able to solve calculations by running assebmly code with hexidecmail encoding. The main components that were consisted of a Control Unit, ALU, and Register file.
What I demonstrated:
FPGA Design: Developed digital logic using VHDL and Xilinx Vivado.
CPU Architecture & Design: Resarched and Developed a 16-bit processor that was able to run assebmly code.
Images & Videos
Block Diagram for Processor