Self Tying Shoes

Tying shoes is a difficult and tiring task. This is why for my main project, I built a self-lacing shoe. By just slipping your foot in, the shoe will proceed to tighten itself.


Andrew R.

Area of Interest

Computer Science, Software Engineering


Lowell High School


Incoming Senior


Before I was accepted to BlueStamp for this summer I had an interview with Erik, one of the Bluestamp staff, that was part of my application process and I said that I wanted to have a learning experience outside of school. Bluestamp offered that to me through a bunch of problems that I had to solve myself instead of just asking a teacher for the answer, learning how to solder or use a drill, and of course the building of a self-tying shoe. However immersive and exciting this experience was, the majority of what I did here isn’t really what I want to pursue. I look to go into Computer Science instead of Electrical or Mechanical Engineering which is much of what I did in this program. I think Computer Science is a better fit because I was the most excited during these 6 weeks when I had to do deal with the coding portion of my project.  I already had computer science as a pursuit of mine prior to this program, but Bluestamp helped push me towards that direction even more. I gained a lot of knowledge about engineering in general since this was my first exposure to it. I also was able to make a lot of connections from fellow students to the staff to even some of the guest speakers that came to give talks. Taking advantage of those connections to expand my engineering and overall life is something that I will definitely do and I definitely plan to still learn from this experience for a long, long time. 

Bill Of Materials (BOM) and Build Plan:


My materials were different from the ones on the Instructables site that I used. This doesn’t have to be completely accurate, mine worked with adjustments and a lot of tape but it might not work in other cases

Build Plan

Presentation Night

Final Milestone: Back to the Future

For my final milestone, it was all about getting the components together, testing the shoe, adjusting it, and some fine-tuning. This actually was a very difficult mound to overcome, or really a bunch of difficult mounds. Firstly I had to make a servo mount (shown below).  I had to draw a model of it first, doing so on the receipt that came with the shoes at the beginning of the program because I didn’t have any paper on me at the moment. I took some measurements and then cut out the model from the box that the Arduino came in as I needed something that was sturdier than paper but was just as easily cut. After having that cut out, I had it cut out of an acrylic board which was to be on my final product. Following that, I had to drill holes into the board and the shoe which was a fairly awkward process. After almost ripping apart my shoe with the drill, I had the mount attached. Secondly, I discovered that the smaller servo motors that I originally was planning to use provided too little torque to tighten the 3 laces on the left side of the shoe. I tried many different solutions, like smaller laces, but the servo pulling the three laces was never able to work. I ordered some larger servos which worked with the laces but not with each other. When I plugged in two of the large servos into my motor shield, nothing moved. I tried adjusting the code, readjusting the code, different servos, different power inputs, but nothing seemed to work. I figured that I didn’t really need two large servos and tried using only one large servo with one of the previous, smaller servos. Also, the wires for my force sensor broke off which forced me to recreate it with different wires, hence the different colored wires from the other milestones. I was making these adjustments fairly last minute, about 4 days into the fourth week and we were supposed to be done by the 5th day of that week, so I was sweating through my clothes hoping that my configuration of the servos and the rest of the electronics would work. Low and behold, it finally worked. When I pressed the force sensor, the large servo and small servo turned and the LED turned on. After adjusting the code a bit more to optimize the rotation of each servo, I had my motors working. Relieved, I mounted everything onto the back of the shoe and slipped my foot in. With a lot of tape, zip ties, and glue, everything kept together and the shoe tied.


Mounting Plate:


Code used:

Final Code

Mounting Plate Drawing:



Final Schematic

(Motor Shield is on top of Arduino with male header pins)

Second Milestone: Code From Scratch

My second milestone was probably the most enjoyable and rewarding of them all so far. In this milestone I got the servo motors, the rotating motors that will be pulling the laces of the shoe, turning correctly and LED light to shine in an expected fashion(links for the code I used down below). When I started this milestone I had just downloaded and uploaded the given code from my instruction website, however that code actually didn’t function properly after I used it. Seeing no progress with that given code, I had to write my own from scratch. It was a difficult task but an entertaining one. I personally enjoy coding, hoping to pursue it in the future, and this was my perfect opportunity because I really thought there was too little programming involved in my project prior to this milestone. A lot of googling, trial and error, and learning went into getting these motors and LED to operate the right way. However, the small servos that I programmed weren’t enough to operate the shoes. Changing from smaller to larger ones and getting those servos onto the shoe would be the next step.

Code used:

Force Sensor Test

Servo Test



(Motor Shield is on top of Arduino with male header pins)


First Milestone: The Components

My first milestone for the self-tying shoes was getting the individual parts of the end product, i.e the code, motor shield and Arduino with servo motors, and the actual shoe, functioning separately. Firstly, the laces. I put the custom laces through the holes of the shoe and slipped them through plastic cable loops that were screwed down. I used a white nylon braid from Amazon for my laces. To start, the laces’ cores need to be removed so a plastic zip tie could be sown through. The zip tie is needed because a rope isn’t able to push anything, so a solid strip like the zip tie inside the rope gives the ability to apply a push to untie the shoes when needed. I struggled with getting the laces in at first. The laces were really thick and hard to fit through the seemingly minuscule holes provided by the shoe, and I just tried to force the laces through with no success. I then figured a way to make the holes bigger, by sticking a scissor blade through and just carving a larger gap, and then covering the tip of the lace with tape so I didn’t have to deal with the annoying stray strings of the rope not going through. Next I got the Arduino Uno, a microcontroller that runs implemented code, and the motor shield, the part of the project that connects the Arduino Uno and the motors together, soldered on top of each other. This had to be done through male header pins which I had no idea how to use. I searched around the internet and was brought to a helpful video that instructed me on how to break them up and then literally stick them through the holes of the Arduino and Shield.  Then the soldering began and before I knew it, I had the two boards connected together. The last part of my first milestone was getting the code. The site (below) that provides my project’s instructions also conveniently provides the code used to activate the Arduino. However the instructions also said to “Make sure you have downloaded the motor shield libraries as detailed in its instructions.” I had no idea where or what these libraries were. However I googled around a little for it and eventually found it on the site where I got a lot of my materials, AdaFruit. After I had the code on my laptop I ran it to compile all the countless errors that I was sure I had made, but miraculously the code ran without error.


Instructions site used:

Power Laces


Arduino Shield Brick

(Motor Shield is on top of Arduino with male header pins)

Starter Project: Rainbow Light Show

For my starter project, I built the Rainbow Light Show. It is an infrared sensor controlled light show that connects to an LED strip which displays differing colors based on the location of the user’s hand. The machine works with a PCB board on the bottom, hosting all the electronic components of the device such as the resistors which reduce the strength of the incoming current and the 3 screw terminal which connects the PCB board with the LED strip. There are three infrared sensors on the top side of the acrylic board. One part of the sensor, the infrared LED, emits infrared light. However, it is undetectable to the naked eye because we cannot see infrared light. The other part of the sensor is the phototransistor which receives infrared light. When this happens, a current is introduced through the system and to the LED strip, displaying each individual sensor’s respective color based on differing voltages. When the user places their hand over the sensor, the infrared light from the infrared LED reflects off their hand and into the phototransistor, which then sends the current. This is why the further away the user’s hand is, the dimmer the light displayed on the LED strip. If more than one sensor is activated at once, the colors combine and display a separate color. For example, if the red and blue sensors are activated together, a purple hue will shine throughout the strip. I had a hard time with these sensors. While soldering them, I broke one of them(middle, blue) and it ended up not working when the device was finished. However, I didn’t know that it was broken when I did break it, only realizing after the whole thing was finished. I plugged the PCB’s adapter into one of the outlets and while testing each sensor, the blue LED had no response. We figured out that the phototransistor of the sensor was broken by shining infrared light at it, resulting in no response. The LED was figured to not be broken by looking at it through an Android phone camera which could detect if there was or was no infrared light being emitted. In the end all three were confirmed to be emitting infrared light.  Time for the base project.

Instructions site used:

Rainbow Light Show


Leave a Comment

Start typing and press Enter to search

Bluestamp Engineering