Project 1, an independent project, typically due near
the time of the Midterm exam
The project topic can be anything related to 3D printing or
robotics--ideally something you're really interested in, but small
enough you can make substantial progress by these deadlines:
Project topic: Monday, September 21. Be ready to talk
about this in class, with the goal of explaining what you plan
to do, in order to collect both advice and like-minded
students. You should have:
Some idea of what you want to accomplish.
Some idea of what tools (hardware, software, and
skills) you'll need and where to get them.
Project rough draft: due in-class Monday, October 5.
Bring any hardware and/or collected data to class, and work on
them as I cycle through your groups to try to help. By
this point, you should have:
A clear idea of what you want to accomplish.
All the hardware you'll need to accomplish it.
A plan for accomplishing it.
Some concrete progress on your plan. (It
doesn't need to be tuned or finished!)
Project presentations: the week of October 12-16. Your
technical presentation should include:
Some sort of digital presentation aid: powerpoint,
some figures, charts, photos, or a video.
Sufficient detail to explain your project to a smart
person that knows nothing about 3D printing or robotics.
No more than 7 minutes of content, leaving 3 minutes
for questions. Timing will be ruthless!
Project final draft: due by midnight Wednesday, October
21. Write this up as a technical blog post (no blog?
Sign up at wordpress.com).
Your post should include pictures, video, and/or code, and
What problem you were trying to solve
What other people have done on the problem
What you tried to do
What worked well
What you would do differently if you could do it
Group projects are highly encouraged, although the group size
shouldn't exceed three students.
Project Topic Suggestions
The most important part of picking a project is picking a subject
you care about,
is relevant to the course, and
is achievable in the limited time
For example, "design and build a new 3D printer" sounds great, but
can't be done in 5 weeks. "Design and build a 3D printer stepper
motor mounting bracket" is achievable.
Possible project topics include:
Part design & fabrication
Design, build, and test any part for any robot or 3D
printer, using any toolchain
Combine an Arduino and motor driver circuit, with any
motor, pulley or leadscrew, and linear guides, to make one
axis of a 3D printer or CNC cutter.
Disassemble a dead 2D printer, and figure out how it
coordinates the X and Y motion of paper and printhead--does
it use encoders, or steppers? How many wires?
Could you use any of the parts in your own projects?
If your 3D printer supports it, use M503
to report, and M20x to tune, your maximum speed, acceleration,
and jerk values. Be sure to compare before-and-after
Adopt an old robot or 3D printer, figure out what's wrong
with it, and how you could fix it.
If you've never done it, download and configure a slicer,
and slice an STL model to create gcode. Read the gcode commands
and figure out what the slicer is really telling your printer
Write a program to read gcode and do some useful task with
Shift the print in X and Y to avoid that bad spot in the
Add a pattern to the X and Y moves to tattoo your prints.
Start the print at a given Z so you can restart after
running out of filament.
Use an Arduino to command a set of R/C
servos to accomplish any coordinated motion, like
spooning sugar into a teacup.
Calibrate and tune any parameter of your robot's motion
For example, figure out how many wheel encoder counts you
get per meter of linear driving, or per 360 degree rotation
Drive a robot--any robot--along an interesting path
Drive right up to a wall *without* touching it (e.g.,
using an ultrasonic range sensor)
Attach dry erase markers to your robot, and draw
spirograph-style designs on paper
Design a crash bumper to keep a UAV from shredding its props
when it crashes.
I highly recommend using as many existing tools as possible, like:
The many existing 3D design packages
The many existing Arduino libraries
web-based robot communication infrastructure
Be sure to cite the tools you use, even those used as references for