The MEMS MS Capstone at Duke University


Hello! I am a graduate student in the Mechanical Engineering and Materials Science department at Duke University. I worked with Asa Guest during the ME 555 Capstone under guidance from Prof. George Delagrammatikas. Please feel free to connect with me on LinkedIn!

My previous research interests were related to the field of fluid dynamics, combustion analysis, and nuclear science. Moving forward, I plan to focus on the field of robotics and honing my software development / hardware integration skillset.


Check out the main project page. A quick summary of my work:

My capstone classwork consisted of two main projects

  • Collaboration with my lab partner on the BCN 3D Moveo robot
  • Collaboration with SHS Bot Team on the WE-R2.4 robot, a. k. a “Armbot”

System Decomposition

The system decomposition is designed to separate sub-projects into overarching engineering disciplines: computer/software, electrical/hardware, and mechanical. Because the two robots were closely related, one system decomposition in Figure 1 with color-coding (red for BCN3D Moveo, blue for WE-R2.4, purple if processes were applicable to both) is sufficient. This article will focus on the beginner tasks related to the WE-R2.4, which are colored either blue or purple.

  •  The primary software skills necessary for this project are Arduino IDE test scripting, to ensure that the mechanical repairs were successful for each robotic joint. The boards were controlled by an Arduino Nano, which has useful documentation for getting started [3]. Arduino also provides a web editor for beginner users who have not yet downloaded the IDE. C++ language is the basis for Arduino but is updated with special methods/functions for human readability [2]. For learning C++, it is recommended to run a quick search online for tutorials, such as this one.

Figure 1: System Decomposition for Robotic Arms WE-R2.4 and BCN 3D Moveo

  • The electrical and hardware portion of this project required basic skills such as circuit rebuilding, soldering, I2C synchronous serial protocol, and practice using various microcontrollers (a board with integrated WIFI and Bluetooth). It is recommended to study first solderless breadboards. Practice projects can be done with simple, inexpensive components like an LED, battery pack, a push button, and resistor [5]. Afterwards, soldering is the last step necessary to create a clean board design. Lead-free solder is a favorable choice, as it is non-toxic [7]. Check out this Makerspace article for an in-depth description of using a soldering iron and maintaining a safe environment.
  • The mechanical portion of this project included 3D printing, reparation of a planetary gear system, and following the WE-R2.4 build guide. This was followed by testing with Arduino scripts.

For all the elements of the system decomposition that are red, referring to the BCN3D Moveo, please refer to that project specific page

Featured Subprojects

The featured subprojects for this page are listed below, with related project links.

It is necessary to understand the basics of 3D printing. The WE-R2.4 robot is built primarily with printed joints, gears, etc. 

3D Printing

Figure 2: The repaired WE-R2.4.

Figure 3: Close-up on the planetary gears. 

This related website provides information on what a planetary gear system looks like and how to repair it. Figure 3 shows a close-up on one of these systems.

Planetary Gear Assessment

Based on the above information, one can learn to solder from the following tutorials by Science Buddies and Analog IC Tips. To learn about the specific circuit laid out on this breadboard, view the Fritzing diagram here. See Figure 4 for the physical breadboard, soldered based on the Fritzing diagram.

Figure 4: Soldered breadboard for DRV 8825 motor driver.

Figure 5: A Tic T500 motor driver.

The Tic motor controllers are easy to use and well documented. Thoroughly review the information on the manufacturer website. Figure 5 shows one of the T500 motor drivers used in the WE-R2.4 robotic arm.

Pololu TIC T500 Motor Driver Documentation

The following site will guide the user on setting up I2C synchronous protocol, seen in Figure 6.

Using I2C Protocol with TIC T500 Motor Drivers

Figure 6: I2C breadboarding.

Figure 7: Robotic Operating System logo.

Start here on the installation for ROS, logo seen in Figure 7, on Windows 10. 

Using ROS, Rviz, and Gazebo on a Windows computer

This YouTube tutorial is a useful reference in starting an angle-finding script on Python with OpenCV libraries. Figures 8 and 9 show a student implementation of OpenCV using Python language for static images and live video feed.

Using Python Open-CV library to create angle finder scripts on static images and live camera feed

Figure 8: Demonstration of student implementation of OpenCV for static image, in PyCharm IDE for Python.

Figure 9: Demonstration of student implementation of OpenCV for video feed.


[1] Alex (2021). Introduction to these tutorials.

[2] Circuito Team (2018). Everything You Need to Know About Arduino Code. blog.

[3] Getting Started with the Arduino Nano. Arduino.

[4] How To Solder: A Beginner’s Guide

[5] How to Use a Breadboard. Science Buddies.

[6] Tic T500 USB Multi-Interface Stepper Motor Controller. Pololu.

[7] Thornton, Scott (2020). Step-by-Step PCB Soldering Tips for Newbies. Analog IC Tips, An EE World Online Resource.