I successfully figured out how to multiplex with the Sparkfun 8 Channel (74HC4051). My long breadboard is half dead, so I had to manage on a couple small ones.
Printing the actual fingerboard strips are a bit more of a challenge than the test strips, because the top surface is curved. Layer height 0.1mm, Infill Density 70%, Pattern: Triangles.
E strip is on a bit of an angle, so I had to rotate it flat in Cura. The problem is, is that it is difficult to tell if it’s rotated properly or not. There is a bit of overhangs inside the tracks that need to be picked out. It’s also a little on the rough side as it gets closer to the nut end, but not too bad. The header hole is perfect.
The resistance fluctuates a lot at the ends.
Turned out similarly to the E. I think the overhangs are a bit better though.
This is better than the G and E strips. Probably because the bottom is flatter. It was made with support checked off.
First time I printed, it turned out ok. However, the nut end was peeling off the build plate and it not useable. I’ll try again with it flipped over.
The flipped over orientation was fine. I don’t know what went wrong before, because I printed all the other strips this way before. I tested the 2nd print, not the first print.
I did a lot of testing with strip file 2Strip_L269.5_Hole8.stl with the Arduino. It was printed with a layer height of 0.1mm and triangle pattern. I compared The Dominant strings and the Evah Pirazzi’s, and combined them with a series of different resistors.
The voltmeter reading is consistent with the string testing in that everything is much more stable. I am actually estimating more confident readings with this than the last test strip that I tested with the Arduino.
This string fluctuates more than the rest of the strings that come in the dominant pack. 22k must have been a mistake as I was brain dead by the time I got here.
E Pirastro Gold
This one is more stable than the dominant E.
I also discovered that the printer made hole8 perfect with the regular pla, but when I used the conductive pla, the header didn’t quite fit, so I am testing again with the conductive… L.
Files: Hole9.stl, Hole10.stl, Hole9.2.stl.
I decided to change up the printer settings to see if that changes the resistance of the same strip file. Infill density was always 70%. I tested different layer height thicknesses and different infill patterns. There was no significant differences with different patterns, but there was with different thicknesses.
Test strip file: 2Strip_L269.5_Hole8.stl
Layer Height: 0.1 mm. Infill Pattern: Triangles:
Good fit with the test slot7. Good space at the very end to fit the needle. Took 44min to print. The header is not quite fitting in perfectly like it was with the regular PLA. It might have to do with the differences between conductive and regular? It’s not that bad though. I can still work with this.
When I tested with the volt meter, the readings are much more stable than the last print that I tested with a volt meter for.
When comparing with the other thicknesses, I think the 0.1mm is more stable than the others, but it’s really hard to tell.
Layer Height: 0.2mm. Pattern: Triangles.
Takes 23 min to print. The top of the header piece is messed up and the header doesn’t fit in the slot. Better than the 0.3 though.
Layer Height: 0.3mm. Pattern: Triangles.
Takes 16min to print. Much better than the 0.5mm infill. The top of the header piece is messed up and the header doesn’t fit in. This one fluctuates more than the other two.
Layer Height: 0.5mm. Pattern: Triangles.
Takes 10min to print… don’t know why it’s so much different from the last one. It turned out absolute crap. The header looks messy at the top. I’m not even going to try to fit a header in there. It’s slightly smaller than the edges of slot7, so it is not flush with the top. Harder to get off of the build plate, so the header bent a bit, and won’t bend back. Not functional.
Numbers are lower than the thinner thicknesses. The thicker the layer height, the worse the resistance gets.
I made the test slots short so I could see how they are fitting and not waste filament. I tested the slots with the HeaderHole8.stl file.
Files printed: NewStrip_L268_W3_H3_HeaderHole5.stl, NewStrip_L268_W3_H3_HeaderHole6.stl, NewStrip_L268_W3_H3_HeaderHole7.stl, and HeaderHole8.stl.
I discovered a few things about printing these very long, thin strips. When I modeled “…5” I added two holes on either side so the strip can slide into the fingerboard and be held there. “rails” I call them. I turned this print on its side so that it was laying on one of its rail sides. I also included half of a header hole for the next testing of that. I wanted to use dual extrusion with the second extruder printing the raft in PVA. However, when I selected raft instead of brim, the parameters of the build plate became smaller and way too small for the model. So I’m just going to stick with brim with support for now; all using single extrusion. When I pulled the print off, it curled way more than the last print. The rails also got stuck to the brim and I ripped some of them right off. It is damaged beyond usability, so I’m not going to test this one with the Arduino. When I tested it with the header, I did it in two extrusions. The first hole was a bit too small in diameter, and a bit too long in length. The second hole was a bit too big in diameter, and a bit too long too.
When I modeled “…6”, the strip stayed the same, but the header hole changed a bit. I tried printing it flat (not on top of the rails), without a brim, and no supports. This time it stayed much firmer and didn’t bend so much. This time it stayed much firmer and didn’t bend so much. However, I accidentally snapped it at the end when I tried to take it off the plate. Going to see if I can print it on it’s side again because printing it flat this way will cause a problem later on. I’m not going to test this with the Arduino because it’s broken. For the hole, the first hole needs to be a bit bigger in diameter, and it’s just right in length. The second hole looks like the right diameter, but needs to be slightly shorter.
When I modeled “…7” I printed it on it’s side again (rail side). I think I developed a technique to scrape it off the build plate with minimal damage to the print: by starting in the middle and scraping along the edges. By having the side that is exposed to the fingers, on the side instead of up, it caused periodic bumps along the surface. This is problematic. I will have to see if I can sand it down, or for the next print, print it on it’s other end, with supports. The only other way I can think of is make the bit around the header wider, don’t make it reach all the way down, and have a wider set of rails on the header piece. That way the whole thing is flat… maybe that is a better solution actually. I’ll test it with the Arduino another day because it’s getting late right now. For the hole, I didn’t account for the outer rim of the header being wider. That’s why it’s not fitting quite right. Otherwise it’s perfect and snug. Next time I print a hole, I’ll made it three extrusions again, 1 for the rim, the other for the body, the last for the pin.
HeaderHole8: I left a little bit of the strip to see how it would look. I did the solution above, with making it a bit wider around the header hole than the rest of the strips, and add rails to it. The hole is a snug fit!!!!!!
Now for testing the new strip with a “mock-up” fingerboard to test if the rails fit...
Happy birthday to me!
File name: HalfHeaderHole2
I only got one print done before the nozzle clogged. I was trying to figure out the size of the header hole by printing just that one piece. Instead of printing the whole piece, I printed half of the diameter, so that way I can clearly see how it’s fitting from the outside. I did it with three extrusions to make the hole. I can now tell that the last extrusion is too narrow. The middle extrusion looks like the right diameter. The first extrusion is way too wide if the pin is without the casing.
I accidentally scratched the print across the last hole in this picture.
Long story short, THIS WHOLE 3D CONDUCTIVE FILAMENT THING WORKS!!!!!!
File printed: Strip2_265mm.stl
I made several charts outlining the details for each strip and each possibility with the strings. Maybe when I’m done filling them out I’ll transfer them over to google drive so I can access them online. For now, I’m mostly just reporting on the main points in my blog posts.
When I printed my first I found out that it was two milimeters too long. So instead of printing it at 270mm long, it’s 265mm. It was printed with a brim instead of a raft, I thought raft was selected, but it wasn’t so that was my mistake. It stayed flat on the build plate, but when I tried to scrape it off, it was super duper stuck. Getting it off made it bend a bit at the edges. For next time, make sure that the side that is exposed to the fingers is not on the build plate, so that way it is the texture I like. The full fingerboard definitely won’t fit on this printer because of the edges.
Also, what might help is make little cylinder extrusions that fit into deeper holes in the fingerboard. May need to make the thickness of the strip even thinner.
After printing I tested different sizes of the strip in Cura. The longest that could fit from corner to corner was 268mm. I don’t think those 2 extra mm on length would affect the resistance that much.
When I tested with the volt meter, the numbers tend to start high when I first place the prongs on, they jump around for a bit, and then they settle back down. There were two settings where I could get a reading from the volt meter:
200K: Somewhere between 12.something to 22.something. It was just constantly fluctuating.
(100,000 x 12 = 1,200,000 – 2,200,000 )
End: fluctuates between 8-16
Close: 2-4 (10,000 x 2 = 20,000 – 160,000)
When I tested with the Arduino I liked having both the data and ground connected to the strip, the resistor connected between the strip and ground, and power connected to the string. I am getting both a change in pressure and linear data. It also works if I connect the alligator clip to the ball of the string… a little something to think about when I am in the final stages of hooking up. When the sensor is at rest, it jitters like the softpots do. Everything is jitter-y no matter which resistor I include in the circuit too. I forgot to solder an extra wire coming out of the power in order to hook up the battery to the resistors, so that’s why there are a multitude of wires going on around the battery haha.
Since everything is so jittery use peak => [if $i1 > y then $i1 else y] => [scale x y 0. 1023.] Also the jitter at rest solution that I came up with before.
Conclusions with this particular strip:
G Evah has a larger range than G Dom.
D Evah has a larger range than D Dom.
A Dom has a larger range than A Evah. => they are both made from Aluminum. What is it about their winding that makes one so much better than the other?
E Pirastro Gold has a larger range than E Evah.
More consistency in resistors from the Evah Pirazzi Pack as a whole. If I chose Dominants, if 3.3k is not the first choice of resistor it is at least the second choice. Pirastro Gold E is the best with a 3.3k is the best.
As for the header hole I decided to print this with my first approximation. If I kept the black casing around the swiss machine head, then the hole was too small in diameter. But I found the black casing to be peeling off anyways, so I picked it off. Without the casing, it fits, but the hole is slightly too short in length. And the largest part of the hole is a bit too large in diameter.
I found out that I had two problems. One was that approximately half of my long breadboard is not working properly, so I had to squish my sensors onto a smaller breadboard that I am borrowing. My other problem was that if the headers on my arduino are perfectly straight, then they are actually not touching the connections on the board. I don't want to solder them down because that would create problems when I want to eventually attach the shield later on. So I used taped to pull them together and so the headers are leaning into the connections on the board. (I can hear the engineers grumbling at my outside of the box solution...)
I've been slowly collecting all the parts I expect to need in order to start my TRAVIS II research. Before I get going on that I thought I should re-create my TRAVIS I setup to test out the softpots. Recap on why:
Since coming to U of Calgary I finally have access to a 3D printer! So I tried printing the MKR1000 case in black. I messed up on the lid because the raft refuses to be totally picked off. I'll try re-printing it eventually. For now my multi-coloured look is a fashion statement.
Poster presentation at IAST. It was so awesome to talk with so many amazing people who speak my nerdy language!
4 photos in album
The full version of Fire and Ice with Ollie and Elizabeth's live interactions have been posted!
More summer fun! I have finalized mapping fingerings from the whole tone scales to MIDI values. I can use these points on the fingerboard to trigger anything, and not just MIDI notes. Now I just need to practice the whole tone scale. If only it was a requirement back when I was doing RCM exams...
In addition to repairing my original circuitboard for my Lilypad, I also made an entirely new one. It was tricky because the tip of the soldering iron that I was borrowing really needs replacing and the perfboard I used has connections grouped in twos. Whereas my original circuitboard had many more holes per grouping. Also, there weren't enough connections on the top of the perfboard, and lots of extra space on the bottom. So I have extra wires to bring those 5 top connections down to the bottom. I chose this perfboard because it already had holes in it for the screws, and it was fairly small, so there would be less to saw off. While having less space on top made it a challenge for soldering, physically it makes it fit in the box much more easily than the original circuitboard.
Before soldering my original circuitboard to the Lilypad, I decided to test the velostat again. Back when it was Christmas Eve, I could only test the changing voltages with a volt meter because at the time I didn't have any other arduino board to test with. I found that I could get data if I connected the strings to ground, and data and voltage to the velostat. However, there was no data with any other combination for hooking it up (weird!). This will inform my future research because I originally thought it might be easier to make the whole fingerboard covered in the resistive material, have it be connected to ground, and the voltage and data come off the strings. But it looks like I'll have to chase after my other idea instead.
For this test I used one of my other crap violins. I didn't want the teeth of the alligator clips ruining the strings on my other violins.
One of my summer goals is to rebuild my original wired prototype because I live by the philosophy that you can never have too many backups for your backups. And for sentimental value because it was my original. Also, no matter how well the wireless version is working, I will forever have trust issues with anything wireless. Growing up on Vancouver Island does that to a person.
Just to recap what was happening during my last term at UBC, the micro USB connection completely ripped off my original Arduino Lilypad. When I found a replacement, made by Geetech, all the sensors were jittery. I thought maybe it had to do with my circuit board (and dropping it too many times....), but when I checked the connections with a volt meter nothing was shorting out. It made me wonder if the Geetech Lilypad was faulty in some way. I had ordered another Lilypad from a different company and when I tested it, again all the sensors were jittery. Every once in a while I was having some issues with the E softpot being unresponsive and I knew it had to do with the solder cracking on the circuit board. Therefore, at the time, having two different Lilypads that were both jittery made me think there really was something wrong with the circuit board after all, and I just couldn't detect it. Of course with it being my last term of my bachelor's, and we had the wireless version working, I decided to shelf this problem until the summer.
Now that it is summer, the adventure continues. I forgot that when I ordered the second Lilypad, I had also ordered a third, and it had now arrived. The third one came from the same place as my original. The reason why I had ordered two from two different places is because I was torn between the reliability of having one that would be the exact same as the original, and one from a place that has more reliable shipping times (the original took 3-4 months to arrive). I don't think you can have too many arduinos either. I could always think of a new projects for the extras.
The Geetech lilypad (on the left) I used for my touch sensor glove. For that project I didn't care if it was jittery because I think those home made sensors would have been jittery regardless. The second one, (middle) I tested one last time with my circuit board, and like before everything was jittery. I tested the third one (right, the same as the original lilypad) with the circuit board, and everything was perfect. No jitter! Having only one of the three lilypads working, and this one coming from a place that takes WAAAAAY too long to ship, makes me distrustful of all lilypads. At least for the USB version anyways. If I need to make a wired version of any future arduino projects, I think I will look into other boards, and if I make another wearable, maybe try a different type of lilypad, or flora.
As I was going through tests and ruling out every possibility, I also tested by connecting the lilypads to a spare softpot that I have, and a breadboard. Just to make sure it was not my circuit board causing the jitter. With this setup, I was getting jitter with both the second and third (good) lilypad. But as mentioned before, when I connected TRAVIS with the circuit board, and the third lilpad, no jitter. The only difference I could see between these two senarios was that for the breadboard, I only have blue 10k ohm resistors. But I had used brown resistors on my circuit board. In theory it should not make a difference whether they are brown or blue as long as they have the same resistance. But in practice, it appears that there is a difference. I have ordered more brown resistors and I will check again with the softpot and breadboard when they arrive.
***Update: the brown resistors arrived and I was right. The setup with the breadboard works perfectly with a brown 10k ohm resistor, but is jittery with the blue one***.
Due to my past issues with the E softpot, I once more checked all the connections on the circuit board with a volt meter. Nothing is shorting out. But I did find that if I held the prongs at certain angles along the path for the E softpot's power, there was a good connection along it, and at other angles I was not getting a connection. I went over it again with my soldering iron and added a bit more solder to its weaker areas. So, I think it is good for now. I had bought another perfboard in case if it was easier to just replace it. Afterall, it was my first soldering project, and I think I can do a better job now. If I have time this summer, I might still do it because you can never have too many backups for your backups.
Welcome to the TRAVIS blog!
If you would like to see a summary of my work, please click here.