Digital Studies 201: Tinkering, Hacking, & Making

DGST 201: Final Project – Modifying Duplo

This semester, I am taking a course entitled “Tinkering, Hacking, and Making” as part of my Digital Studies minor. Throughout the semester, we will be undertaking a variety digital studies projects that we will document on our blogs.

Assignment Details:

We were given a great deal of choice for what sort of project we wanted to complete for our final project, which is due on the last day of classes on Friday, December 5. Essentially, we could embark on any project that combined skills we learned in class, including scanning objects, 3D printing, coding, robotics, or augmented/virtual reality.

My Final Project: Improving “Duplo” (My “Little Bot”)

I decided to combine my two favorite units – 3D printing and robotics, with the intention of improving upon my “Little Bot,” who I have now named “Duplo,” because, like the beloved Duplo LEGO blocks, his “entry-level” hardware and software is too, intended for a young audience.

Here’s a fun fact about my first “Little Bot” project: I actually went out to Target and bought a (rather expensive) set of (not that many) LEGOs with the intention of using them to create a hard shell for Duplo. Sadly, as it turns out, money doesn’t get you very far in the wonderful world of LEGO, and I didn’t have enough colorful blocks to build nearly a big enough head or body for poor Duplo.

This was my goal when “fixing” Duplo:

  1. Improve the “shell” (head and body) of Duplo: Duplo is currently put together using cardboard and duct tape. This is cute, but a little flimsy. I want to 3D print a uniform, sturdy “shell” for Duplo. This may involve me using extra tools, like a Dremmel, to cut out spaces for eyes or wiring.

Necessary Programs, Tools, and Software

To meet the goals listed above, I need to use a variety of programs and software, most of which I’ve used before.

Making Duplo with Tinkercad

The first thing I needed to do was make the head and body of Duplo using Tinkercad. While I have previously used Tinkercad to slightly modify a plan from Thingiverse, this time, I created my project from scratch. During this process, I learned both a method of using scale in Tinkercad, as well as how to add blank or hollow space to an object.

I knew that I needed to begin by making two simple blocks for Duplo’s head and body. To begin, I measured the duct tape head and bodies. They rounded up to 8 cm. Because Tinkercad does not work in any unit of measurement, (EG, you can’t set something to cm, mm, in, etc.) I needed to instead use a ratio to ensure that the spaces for the servo motor, cords, and Duplo’s eyes would be the right size.

Thanks to the advice of a fellow classmate who is a math major, I was able to use a constant of “80 units” (because Duplo is an 8x8x8 cm cube) to scale my two blocks. She recommended that I use a constant of 10, in which 10 units on Tinkercad equated to one cm.

After scaling the blocks, I needed to add blank spaces in order to fit in Duplo’s motors and cords. To do this, Dr. Meadows showed me that I could add another cube “inside” my first cube, and set it to “hollow.” Easy!

Finally, I used the same method of assigning a constant to create the space for the servo motor and cords.

With all of that finished, I was ready to print my two blocks!

3D Printing

When I was ready to print my blocks, all three 3D printers in our usual classroom were being used. Because of this, I decided to use the ThinkLab in Simpson Library for the first time.

At the ThinkLab, the two Student Aides showed me how to scale down the infill and other elements of my models in order to bring down the print time. After doing, each block only took less than four hours to print. The ThinkLab did not have more “exotic” materials like the bamboo I used for my self-watering printer, but they did have a selection of bright colored plastics. I settled on printing Duplo in a bright magenta color.

The prints were done quickly, and I picked them up right after Thanksgiving break. I was able to easily remove the supports surrounding both the bases of each block, as well as in the space for the servo and cords.

A photograph of the 3D printed head of Duplo, before removing the supports.
The bottom block of Duplo, before removing the supports for his two eyes. The eyes were not 3D printed.

As you can tell from the picture below, when rendering my “bottom” block, I made a slight error in lining up the base of the cube. However, this didn’t sacrifice the structural integrity of Duplo, so all in all, I was satisfied with how this print went.

A photograph of the 3D printed bottom of Duplo, before removing the supports.
The bottom block of Duplo, before removing the supports for the Servo (the large rectangle) and the cords (the small rectangle.) As you can tell, the bottom square is slightly off-center.

Putting Duplo Together

After 3D printing a new head and body, it was time to put Duplo back together. It was at this point that I realized that, sadly, his eyes were sideways. Oh well, at least he’s a pretty color!

Comparison of Duplo's new head and old head.
As you can tell with this comparison of Duplo’s new and old heads, the eyes on Duplo’s new head are sideways.

Using a small knife, I was able to cut out a slightly wider hole than I had printed in order to fit the stacked servo motors snugly. I was also easily able to loop his wiring through another small hole placed on the body block.

Interior of Duplo's body with Sevo
Here, you can see the bottom servo motor inserted into the bottom of duplo. Using a small knife, I widened the incision in order to make the motor fit well.

After setting him up, it was time to retest him to see if the code worked. I faced a few hurdles when trying to run Duplo again, because my Macbook was, for some reason, unable to run the Hummingbird Duo program. To solve this problem, I used one of the HP computers in the lab.

Once I had both the Hummingbird Duo and Scratch software running, I was able to test Duplo. Here, I ran into a few snags, as he would move without any sign of input, unlike before. You can see him moving “randomly” in the video below.

I decided to play around with the wiring on the Humminbird board a little bit more, to see if I had made a mistake when putting him back together.

In this video, you can see Duplo moving “randomly,” even though the joystick, which is the input, is not being touched… what could be the problem?

Eventually, I played around with the wiring on Duplo a little more, and realized that some wires were not properly hooked up. After fixing this, his program ran smoothly with the joystick, and he was able to turn and blink with ease.

Highs and Lows

So what went well, and what went poorly with modifying Duplo?

What Went Well:

  • I, for the first time, rendered a 3D print all by myself! When I made my self-watering flower pot, I simply modified a file from Thingiverse. However, when modifying Duplo, I learned how to make basic designs from scratch.
  • I learned a lot more about 3D printing! Through going to the ThinkLab, I learned how to speed up print times by reducing elements like the infill or supports!
  • Duplo looked “cleaner:” 3D printed plastic is much sleeker looking than duct tape and cardboard.

What Could’ve Been Better:

  • Sideways Eyes: As previously mentioned, Duplo’s eyes are sideways. While this is cute, it was definitely a mistake while rendering him on Tinkercad.
  • Duplo’s Code: Initially, I had hoped to modify Duplo’s code. However, I was still not able to figure out how to make him move left and right using the joystick.


All in all, I enjoyed “reworking” Duplo. 3D printing has been, by far, my favorite unit of this class, and I am glad that I learned how to use all of the tools and programs involved! While I am a little sad that I cannot keep Duplo in working condition, as I have to return the motors, LED lights, and Hummingbird Board, I am happy that I get to keep his “shells” as a reminder of what I’ve learned.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.