Week
Final Project
About
For my final project I want to make a fun, modular interactive robot. This is a robot that goes beyond the capabilities of our design - but it empowers individuals to integrate their own sensors to adapt the robot for more personalized uses.
Small modular robots have been done before for a variety of different projects. Here are some of my favourites:

[left] MIT Hermits and

[right] the Turtlebot



MATERIALS AND COMPONENTS:



4x Acrylic Boards
3D Prints
Magnets
Hex Screws
Translucent Spraypaint



xiao esp 32s3
Arduino Joystick
FS90R Continuous servo motor
9V Battery Pack
PART 1:

3D Modeling and Lasercutting. Used a 1/8" transparent acrylic board as the primary material and used FS90R continuous servo motors and a joystick module. click for more
3D modeling was mostly done on Rhino3D as most of the parts were to be lasercut and a lot of the lasercutters at the GSD directly print from Rhino3D. Once modeled, models were laid out in 2D.
After lasercutting on the acrylic, spent hours taking off the pieces from the board and peeling off the protective covers on the acrylic.
Tested opacity with this frosted glass sprayed paint.
PART 2:

Networking and Communication (take a look at week 12). I wanted to decentralize and break out all the modules but allow for connectivity through wifi. A lot of this was figured out from Week 12. click for more
Started initial prototyping with assembling the acrylic pieces with simple electronics (was initially using arduino nano before going into electronics week) to use servo.
Hooked up the electronics and battery to the module.
Here it is as it is functioning. It was a sample servo code that was inputted and controlled using bluetooth!
From networking and communications week, I applied what I learned that week using the Xiao esp 32s3 and the Joystick controller to control remotely through WIFI connection from a joystick module to a servo module. See more by going to Week 12 or click the link under PART 2.
PART 3:

PCB design and milling.

I milled three main PCBs but will document two as one is repetitive. I made two iterations of each: One for the servo to xiao, and one for the controller to xiao. Since the servo and joystick had specific pinouts so used the connector pins. For one version, I attached a voltage regulator, but the future iteration simplified as I found the right power for the modules.
Used KiCAD to primarily make the schematics of the circuits and export them. I export three layers: engrave, cut and drill.

Then used FlatCAM to generate GCODES for the CNC. With following settings: 0.4mm V tool milling for engrave, 0.8mm endmill for drill files and cut.
Then used Candle, which is the main software to mill on the Lunyee CNC to start milling each layer. I usually start with the engrave layer with a V tool, then the 0.8mm End Mill tool to drill and then cut the edge.
Then it is supervising the CNC at each step.
While supervising the CNC there were many issues such as the end mills breaking due to speed or mistakes with setting the initial coordinate, the PCB board moving due to weak adhesives onto the CNC. Here is the process of seeing the PCB be milled.
Here are some of the PCBs.
After the milling here are the four initial PCBs after soldered
PART 4:

Module Construction. Here are some comprehensive diagrams of how each module is put together.
[labeling left to right]

1. servo module (refer to Week12 networking week for more)

2. storage module

3. arm module

4. pi module w/ camera (refer to wildcard week for how it functions)
[Controller Module]

Is the main controller that drives the entire model by controlling two servo modules independently.
[Servo Module]

Mainly acts as the wheel for the module but individually can act with different modalities with the idea of a rotation such as massager and extends its function thorugh the arm module.
[Storage Module]

Module to store parts and other objects within.
[Arm Module]

Extends the rotational motion of the servo into linear motions for extended actions.
[Pi Module]

The eyes of the module. Sees and detects people using its embedded object detection program.
Here are some combinations from left to right.

1: Standard wheels on raspberry module.

2: Raspberry pi with arm module.

3: Arm with storage handle module.

4: Wheels with storage module.
PART 5:

Final documentation.
CLOSING REMARKS
First of all, I would like to thank Neil Gershenfeld. You were so accommodating for the entirety of the course and I cannot thank enough for the patience you had with me in the final moments!
I want to specifically thank the TAs: Gail and Leo who were always available to talk to and get help from. TA Lingdong for saving my projects many many times from complete doom and failure and Keunwook for having recommended me this class and answered so many questions I asked along the way.
I want to finally thank all the classmates, particularly those from the Harvard section. As well as friends who have aided throughout. Thank you very much Calvin for your consistent support and availability throughout the final project, Sparsh for the resources that you always helped with particularly sharing your space, the CNC TAs at the GSD (Enoch, Zihao and Sparsh).
I learned so much about the way I work and realized a lot from many shortcomings. I truly appreciate the opportunity I had in this class to fail and keep experimenting.