Project

Below you will find pages that utilize the taxonomy term “Project”
May 22, 2024
Autonomous and Teleoperations Rover

In the BEng EE program at BCIT we have two 4-week summer terms. One of them is taken right after the first year and the second one can be taken after the completion of the second or third year. I recently completed that second 4-week term, and one of the courses I took was ELEX 4699 – Electronics System Design Project. The goal was to create a robot rover that navigates an arena, and shoots targets while minimizing completion time. The arena, functioning as a server, sends data to connected client robots. Clients use a Raspberry Pi as the host controller, and a PiCam with OpenCV for image recognition.

March 15, 2024
Colored Ball Sorter with PiCam and OpenCV

If you have been following my posts, you would know I am an Electrical Engineering student at BCIT. In my last post, I talked about my course ELEX 4618 (Object Oriented Program Design), and some of the weekly labs I worked on. One of those labs (#8) required us to make a colored ball sorter. It had to be programmed in C++ to run on a Raspberry Pi that uses PiCam and OpenCV to detect colors and the pigpio library to enable us to use the Pi GPIO pins to interact with other hardware. In Lab #9, we added functionality so this device can be controlled and sends a video stream over the network.

February 28, 2024
Texas Instruments MCU And C++

During my second year of EE at BCIT, I took the course ELEX 3305 (Microcontroller Systems), where we learned to program a Texas Instruments TM4C123G microcontroller in C++. We also purchased a (TI) Education Boosterpack, which is an add-on board with various analog and digital inputs/outputs, including an analog joystick, environmental and motion sensors, RGB LED, microphone, buzzer, color LCD, and more. We programmed the microcontroller in C++ and controlled it by directly manipulating the registers. Later in the course, we also wrote assembly code to do the same. This method may be considered more challenging, but it’s essential for microcontrollers lacking a library of functions for programming.

September 4, 2022
Learning KiCad with a Udemy Course

I learned Schematic and PCB design using Altium Designer at BCIT. My plan was to do some more practice over the Summer. To my surprise, a few weeks after the end of the course our accounts were disabled even though I thought we had access to the license/subscription for one year. So I decided to learn KiCad as it is free, open-source, and has a huge community behind it. I purchased this course, KiCad Like a Pro 3rd Ed on Udemy. This post is a showcase of the 3 projects I completed during the course. I only designed the schematics and PCB, at this time I am not going to order manufactured PCBs for these projects.

August 12, 2022
Arduino Nano based program loader for 8bit CPU

As you might know from a previous post, I built Ben Eater’s 8bit TTL CPU on breadboards in the past. The CPU is fully programmable with 16 bytes of memory and 11 Op Codes that can be used to write programs, one instruction per byte. This programming has to be done manually using DIP switches every time the device is powered on. It is a bit tedious as you have to enter instructions in binary for each memory location by hand. I have been learning PCB design and would like to convert this project to a PCB build in the near future. One of the things I would like to add is a program loader that can automatically load programs into the memory on boot. Before implementing this on a PCB, I wanted to have a working prototype that connects with my Breadboard CPU.

July 17, 2022
World’s Worst Video Card

This is my second Ben Eater project. In this video series, Ben talks about how VGA signals work and walks us through building a circuit that provides the correct timing of sync signals so that a monitor recognizes the signal and displays an image stored on an EEPROM.

Prev 1 2