My final project for this class was a temperature sensing glove for cooking. The theory being: Ovens all slightly differ, and few heat evenly. Most people will learn their home oven, but in somewhere like a restaurant there isn’t time for trial and error. Thus, by making an oven mitt that will display temperature visually, I can help these chefs acclimate to new kitchens quicker, while still protecting their hands.
When I started this project, I had originally aimed it towards firefighters, and helping them test the temperature of surfaces during a fire to check if rooms are safe to enter. Because I knew firefighting turnout gloves are generally dirty and need to be washable, I wanted the glove to actually be a glove liner, that fit inside of a standard but slightly modified turnout glove. Below you can see the early mockup I made of the glove. For simplicity’s sake, I just made the important fingers, and mocked up the components in cardboard. As you can see, this early design was super crowded, and would be way more heavy than I would like for a glove. It also did a bit too much, I felt, and I wanted to simply the interaction a bit. Because of this I removed the vibration motor and changed the LEDs for a NeoPixel strip. I also removed the button on the middle finger around this time. Originally the button would be the activation for the temperature reading, but battery draw on these parts is so low that it’s really not necessary to toggle the scanning. More importantly, I found that it’s actually really dang hard to press a button on your middle knuckle of your middle finger while wearing anything but the lightest gloves, which was a strong reason for nixing the button entirely.
After finishing this prototype, I began working on the more final version. Unfortunately, I found it difficult to locate a turnout glove I could use for the project, since they are normally used until they can’t be used anymore, and are either too grimy or too ineffective to use by the time I could get my hands on one. As well, I really couldn’t afford to purchase one new. This lead me to the switch to the kitchen idea, which allowed me to work at a much lower temperature range, and use normal thick glove.
My first hardware mockup was so bad, and such a fire hazard, that I didn’t even let it stay together long enough to take pictures. It was a mess of stiff wire, exposed resistors and badly soldered connections, which meant that any code loaded to the board almost immediately shorted out. The components were just hot glued to the outside of the clearance-rack glove. I took this apart almost immediately after getting it home, and decided to get the code working on a breadboard first, then implement it into the glove (read: the correct way).
At this point, I ran into my largest challenge of the semester: the coding. When I first started the code, I was using a Windows 7 PC, which, of course, has no supported drivers for the Lilypad USB Plus I used as the main brains. To solve this, I spun up a virtual machine running Ubuntu, which I used to start prototyping the code. Uploading the code to the board, however, was my biggest problem. For some reason, no matter what I tried, I couldn’t get my computer to properly upload code to the board. My suspicion was I had fried the board (refer back to earlier fire hazard), and so I went and bought a new one of the same model. Looking back, I should have bought a different model since I was already having issues, but hindsight is 20/20. Since I had switched to using a Neopixel strip instead of a standard LED strip, I can use less pins, so I could have used the regular Lilypad USB and seen if that solved my issue.
Regardless, after a week or two of getting the same issues with the new board, I finally upgraded my laptop and hoped would that solve my problems. This was also running Ubuntu in addition to Windows 10, so I was optimistic that either not using a virtual machine or using an updated version of Windows would allow me to upload my code. This optimism was misplaced, because regardless I was unable to get the code working properly. After some deep Googling and troubleshooting, I seemed to find solutions saying that the Lilypad USB Plus is one of those board that requires you to press the reset button in order to upload code. This was confusing, because the only places I could find my error messages were on forums, and I couldn’t find any official documentation that supported their instructions. I was getting pretty desperate though, so through enough finagling with the timing I was able to get small bits of code uploaded, which gives you the picture you see below.
These first few results were super exciting, because I finally got the board to do SOMETHING! This was just a very simple Neopixel test, but to tell you the truth, this was the most excitement I’ve felt in weeks. After this I took and wrote the full code out. The code is fairly simple, and just takes the stream of data from the temperature sensor on the pointer finger and runs it through some IF statements. Since the library for the sensor outputs in standard integers, it was easy to parse the data to make the scale rise and fall along with it. I wanted the code to be as small as possible, specifically to have the most chance of uploading successfully.
With final presentations getting closer much more quickly than I would have liked, I decided to go for broke and install the components without the code fully implemented. I cut open the top layer of the glove to give myself some room to sew, then just started sewing away. I created sew tabs for everything that wasn’t the main board, then stuck them in place with small dabs of hotglue. The temperature sensor was installed under the surface of the glove, whereas the Neopixel, board and battery are all on the surface. I then used conductive thread to sew back from tabs for the sensor on the finger to the appropriate pins. There were two places on the corners of the hand that I had to cross wires over eachother; in these cases, I used the layers of the glove by having one pass over top while the other went under.
I finished just in time for presentations, but still couldn’t get the code to upload properly and completely. In the end, the project remains at about a 90% completion state. All of the individual components (of which there are two, code and hardware) should work, I have just had so much trouble combining the two that I was unable to see this project to fruition, which I’m honestly pretty disapointed in. Looking ahead, I think this would be something interesting to have in my portfolio, so I really want to see this working. I think over the summer I’m going to try rebuilding the project using the smaller Lilypad, or possibly even just a different microcontroler entirely.