<aside> 👇 Table of contents

Cybertruck robot car

Cybertruck robot car

PCB I designed and soldered

PCB I designed and soldered

What I did in this class

Final project - Raspberry Pi powered Cybertruck

We designed and built this robot to carry a 1kg weight on it and traverse a maze. We communicate with the robot with a Raspberry Pi and using the MQTT framework to send commands. There is a Python program on my computer that detects keypresses, sends them to an MQTT broker, then the Python program on the Pi receives these commands and uses a stepper motor library and multithreading to control two H bridges which then control the two stepper motors. We also experimented with using Flask to send commands and receive a live video feed from the robot.

IMG_9260 (2).MOV

P1012847.JPG

Project 3 - Banana slinger 5000

<aside> <img src="/icons/banana_yellow.svg" alt="/icons/banana_yellow.svg" width="40px" />

Make a game that uses a microcontroller user input, and a motor. That’s the whole prompt. My primary constraint for this project was that I wanted it to center around a dropping mechanism because I wanted to design one that I could use to drop heavy things from my drone.

</aside>

Dropping mechanism

ezgif.com-gif-maker (5).gif

SolidWorks model

SolidWorks model

This dropping mechanism uses a servo to slide a pin out which then allows this bottom bar to flip down and drop the load. This mechanism allows a lightweight and cheap servo to release heavy weights. If the load were just on the servo arm without this series of mechanical advantages, the servo would likely break

The dropping mechanism is manufactured as three layers of laser-cut wood which I then glued together

To make this dropping mechanism into a game, I played around with several ideas. Eventually, I went with having the knob that the user could turn to control the position of a stepper motor. By timing the turning of the knob so it is in phase with the swing of the dropping mechanism, you can get the swing to be quite large. Then the user presses a button to release the dropping mechanism with the overall goal to “get the banana in the box”

ezgif.com-gif-maker (6).gif

Wiring. Cleanliness was not a priority…

Wiring. Cleanliness was not a priority…

User interface

User interface

Project 2.5 - Secure motor attachment

I designed and manufactured two ways of securely connecting a string to a motor D shaft

Spool manufactured on the lathe. It uses a set screw to connect to the D shaft

Spool manufactured on the lathe. It uses a set screw to connect to the D shaft

Simple lever arm I cut out on the water jet cutter

Simple lever arm I cut out on the water jet cutter

Project 2 - PCB design of H-Bridge DC motor controller

For project 2, I designed (including the schematic and layout) a printed circuit board (PCB) to control a DC motor. I then soldered the through hole components and validated it (it worked!). The board takes two 3.3 volt input’s from a microcontroller and uses that to toggle four MOSFETs to give the motor either 12 volts (forwards), -12 volts (backwards), or 0 volts (stopped). The two LEDs indicate the direction of the motor.

PCB layout. Uses both sides, and the silkscreen for additional component information

PCB layout. Uses both sides, and the silkscreen for additional component information

PCB schematic

PCB schematic

Final soldered and functional board

Final soldered and functional board

Project 1 - PCB design of breadboard power supply with 5V and 3V regulators