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.
Engineer
Andrew R.
Area of Interest
Computer Science, Software Engineering
School
Lowell High School
Grade
Incoming Senior
Reflection:
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
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 Drawing:

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:
Schematic:
(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:
Schematic:
(Motor Shield is on top of Arduino with male header pins)
Starter Project: Rainbow Light Show
Instructions site used:
