My senior design project to cap off my final year of Electrical Engineering at CU Boulder is an Accessible IOT hub/device system akin to Amazon's Alexa. However the goal of this device is to make it as open-ended and accessible as possible in order to grant individuals with physical impairments to utilize the benefits of the Internet Of Things. For example, a deaf or mute persons would be able to fully utilize our device to control the smart systems in their house such as lights or temperature without needing voice commands. More details and further analysis will be updated here when the project nears completion. PCB design was created by me and will be further developed in later iterations this coming winter. The picture to the left is a fully brought up Proof of Concept Board utilizing the EFR32 chipset from Silicon Labs.
Building off the experience of the Navigational Robot, in my Sophomore year second semester I worked in another two person team in an Electronics Design Laboratory. Here instead of building a robot in 6 weeks from pre-allocated kit materials, we had an entire semester to slowly craft a fully functional robot with our own designed purpose using a hand-built locomotion system, any type and number of sensors of our choosing, and whatever control system we desired. The locomotion system being built from scratch hand-wiring in order to connect to any control system we could think of, as it operated two motors via 4 pins. 2 pins for power, and 2 pins to signal direction using a breadboard mosfet circuit akin to what we used to operate the AutoThermos. For control, after having realized the limitations of the MSP432 and basic Arduino Uno circuit, we opted to utilize an Arduino Mega as the increased number of I/O ports, along with the ease and speed of programming in C via Arduino's compiler were the deciding factors in our choice. However as a note, in attempt to save money we purchase Arduinos from amazon but had many of them die in use before switching to an ATMEGA from Arduino themselves.
For our final design we chose to create a Robot Dog, inspired by Aibo and many other mechanical pet designs that were seeing use around the world for companionship and or care for those not suitable to own a pet. Nicknamed Jamie, we planned to utilize a mixture of vision sensors, buttons, audio sensors, audio feedback speakers, and voice recognition to mimic certain dog-like traits. The vision sensors and buttons worked together to provide object detection and avoidance, the audio sensors worked to pseudo-map its location in relation to noise sources, and the voice recognition systems worked to identify auditory commands. All while the feedback speakers output simple dog noises from a sound file. Unfortunately of all things the feedback speakers had to be heavily limited to beeps and other piezo noises as the memory device conflicted with every other piece of I/O. In the end, over the semester's course we achieved a working proof of concept that could hear commands from an external source, locate the direction of the command, and carry out the command. Such as Fetch, Roll over, and come here. The biggest difficulty however was that many of our sensors had large margins of error due to our team attempting to save money wherever possible. As such the robot worked well in closed environments but when the noise levels of the room went up it often broke down unless you were screaming. In later iterations it would be advised to acquire better sensors, however for two sophomores it worked wonderfully enough.
For my first semester as a Sophmore in Electrical Engineering, I was tasked with creating a Navigational Robot in a 2 person team as a final project for my Embedded Systems Design Class. Utilizing the Texas Instruments MSP432 SoC Development board, we created simple robots over the course of the course that solved simple tasks. First was establishing basic motion, then basic signal integrity, then basic I/O integration such as buttons and switches, before finally establishing more advanced I/O such as complex distance and IR sensors. The first requirement of the Navigational bot was to ensure we could move, follow a line, avoid imminent obstacles, and stop on detection of a designated finish line. With the combination of sensors this was rather straightforward, however the challenge came from variations in the test where the line being traced would change color, room lighting would differ between trails, object locations were random, and an always changing requirement of faster completion times. This required finely tuned C code in tandem with well constructed sensor placement that needed to account for variation in sensing minutia. For example, with the IR sensors we used the difference between yellow and orange was difficult at both low and high levels of light, so an adaptive LED was used to ensure optimal light levels. This coupled with a baseline measurement system that initiated every time the robot booted, ensured that my robot could always identify the base ground color and use it as a comparator for the line it was told to trace. Touch and distance sensors on top of this offered object detection, so that on encountering any disturbance, it could alter its trajectory and make a pre-programmed dodge motion before re-locating the line it needed to trace. Unfortunately all pictures of this robot were lost as I was only allowed to keep the circuit board at its heart.
The AutoThermos was the first project I worked on in my University EE degree. The goal of this project was to create a simple system to portably heat and potentially boil water in a water-bottle sized container. The system was powered via a chain of DC Lithium Ion batteries that heated a nichrome wire coil wrapped around a metal cylinder. This was then placed inside an insulator that was then placed inside a 3d printed shell. The circuitry control system was a basic Arduino controlling a set of high voltage mosfets to carry power directly from the batteries to the wire. To control the system we created a PCB that worked as both a breakout board for an LCD display along with a series of simple button controls to scroll through options and power modes. Created over roughly 1 month, the system successfully heated and boiled water with some caveats. Heating water was fine, but requiring boiling-level-heat from pure battery power quickly drained every LiPO cell we had. The safety hazards of boiling water right beside Lithium batteries was also something we needed to rework as any physical damage to the device would promise extreme catastrophe. Altogether however, for our time limits and constraints as freshman electrical engineers, the entire system still worked as intended and could easily be re-worked for a second better revision.