Creative Engineering Class


This is my output from taking Monthly's Creative Engineering Class taught by Mark Rober.

During this 30-day class, learn the skills Mark uses to research, design, assemble, test, and engineer his inventions. This class meets you where you are and pushes your skills to new heights.

As with the last Monthly class I took, the most useful part of taking the class is having deadlines imposed on you to get stuff done, the rest of the interactions from "peers" that you are randomly assigned to is usually useless. Don't expect to get any one on one teaching from an actual teacher, they expect the blind to lead the blind and hope that you don't notice.

First Project

The first project I made was a coffee bean dispenser. Here are the steps the class goes through for creating something:


In the brainstorming phase, you first select an area you would like to work in; in this example the class picks things related to food. Next you think of scenes in your life where food comes up and write those down. Now you come back to these scenes and come up with problems that could arise.


Requirements and Research

Once you have the problem you want to focus on, you start gathering requirements. This is a sub-brainstorming sessions where you list out all the requirements for this solution. Once you are done, you come back and split the requirements into required and nice to have.

Take your required requirements and start listing out ways to accomplish each of them. If you don't know how to do something you are listing out, then you need to add that to the lists of experiments you need to run to figure things out.


Running Experiments and Collecting Data

Now go off and run any experiments you need to; make sure to take notes along the way so you can look back on them when you are building your prototype. I had to run two experiments, one to figuring out how many coffee beans could fit in a volume, and second I had to figure out how to align a spring to close the dispenser hole when you let go of it.


Prototype Stage

After you have run all your experiments and have a good idea on how to move forward, you collect your scrap materials and start building a prototype. At this stage you are just sticking things together with hot glue and trying to get it to work.


Final Build

Once you have the prototype working, you move on to building the final version of your project. Here I printed out a bunch of parts on the 3dprinter (although I ran out of filament toward the end.) You know your finished when you have met all your requirements, and what you have is good enough to tell the story you are trying to tell.


Overview of the Process

I created this Infographic of the above process. It's in an a5 format so I could paste it at the front of my sketchbook as a little reminder not to just jump to building something.


Part 2


In part 2 of the creative engineering class, we needed to pick a problem that dealt with art, and used the arduino, so I made a digital Kaleidoscope.

The Idea is instead of having physical junk moving around at the end of your kaleidoscope, you have virtual junk moving around instead.

The final build was an arduino mega, with an Elegoo tft shield mounted on top that has a 3d printed mount that holds the mirrors for the kaleidoscope. At the top of this contraption is another base that holds a webcam.


The downside to using the tft shiled is that the refresh rate is very very slow, so it's hard to create smooth animations, and instead I created more dragging animations that didn't clear after themselves. If I update this in the future i'll probably use a raspberry pi with a small display that can refresh faster and make a pretty case to hold the whole thing. I also want to look into using a simple 2d physics engine to make actual junk that can fall and interact with other junk in the system.


I also learned while making this that these displays don't use normal hex color encoding, but use rgb565, so if you are trying to convert rgb color to the 565 syntax for the adafruit libraries, this code does the trick:

// rgb 565 is required
long rgb(byte red, byte green, byte blue) {
  // return ((long)R << 16L) | ((long)G << 8L) | (long)B;
  return (((red & 0xf8)<<8) + ((green & 0xfc)<<3) + (blue>>3));

Code for the kaleidoscope and base can be found here.

Part 3


Don't you hate it when you go to doodle something dumb, and then your mind just goes blank. For my final project of the Creative Engineering class I was taking, I decided to fix that with a little box that could print out prompts of things to draw.

The build consists of a thermal printer , an arduino, and an arcade button; all living together happily in a 3d printed box (that took like 8 hours to print) The box was designed in fusion360 which gave me a chance to finally test my new 3dconnexion mouse which actually is really fun to use once you get the hang of it. My first attempt at using the 3dmouse was in Blender, but the out of the box support for that was pretty horrible, but when I got into a program (fusion) that supported it out of the box, it is pretty amazing to use.

When designing a box that will take 8 hours to print, it's always a good idea to think through your design and include the boring stuff as PLA is not the best to work with once it's finished printing (drilling is fun...) Make sure all the boring stuff like access wholes for the arduino usb (for programming) or a hole for the power cable are included before starting that print. Also, make sure you give some wiggle room for your parts; my first version of the box was using the exact dimensions of the button which made it just too small to actually fit through without dremelling it out; the second version I just widened it a bit and the button slides into the hole perfectly now.

For the button and the arduino, I used Grabcad for the models, which ended up saving a bunch of time, and giving me things that were very accurate; It would have been nice if they had a model of the printer, as the version I made didn't model the bump in the back of the printer, thus making it not fit correctly.

title title

As you can see from the Image from my prototype stage, working with PLA after the fact doesn't end well (look at that nice hole.)

And the Final Build title

And the results of all my hard works?