Building a matrix keyboard using velostat film

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 มิ.ย. 2024
  • Please consider supporting my work: markfdesimone.bandcamp.com/
    Get the code for this here:
    github.com/mfdesimone/DizzyDe...
    Get a Teensy 4.0 microcontroller from here: www.pjrc.com/store/teensy40.html
    Learn about how to upload code to a Teensy microcontroller here: www.pjrc.com/teensy/first_use...
    Read about the Linnstrument, the inspiration behind this approach: www.rogerlinndesign.com/
    Check out the fateful Instructable that set me on this path: www.instructables.com/O-mat/
  • เพลง

ความคิดเห็น • 40

  • @joaquinmartinez4889
    @joaquinmartinez4889 หลายเดือนก่อน +1

    Good stuff!! Thanks for sharing your project. Really enjoyed watching the whole process.

  • @gdclemo
    @gdclemo หลายเดือนก่อน +1

    This is cool. I tried building a simple sensor with a piece of velostat with cardboard on top, copper tape on both sides of the velostat and then attached a multimeter to the copper tape with crocodile clips. But the resistance is so random. I'm not sure what's going wrong. I can just leave it still and the multimeter is measuring huge swings in the resistance such that there doesn't seems to be any reliable cutoff between pressing and not pressing the sensor, even between high and no pressure. Maybe I got sold something that isn't really velostat.

    • @markfdesimone
      @markfdesimone  หลายเดือนก่อน +1

      Oh that's a drag. Is the sticky side of the copper stuck to the velostat?

  • @flywittzbeats4008
    @flywittzbeats4008 7 หลายเดือนก่อน +2

    This is incredible, I built a teensy prototype for a chord gen/articulator with homemade velostat, but I have had such a hard time getting a 2nd prototype that is more of a product as opposed to a block of old wood and misfiring buttons 🤣🤣 so this giving me so many awesome ideas, thank you so much for sharing.

    • @flywittzbeats4008
      @flywittzbeats4008 7 หลายเดือนก่อน +3

      Not homemade velostat 😂 just regular velostat, sorry I’m exhausted haha

    • @markfdesimone
      @markfdesimone  7 หลายเดือนก่อน +1

      Ooh that sounds really neat. Do you have any footage of your prototype?

  • @leoboel5755
    @leoboel5755 5 หลายเดือนก่อน +1

    Grazie per aver condiviso con tutti così tante informazioni preziose per questo importante progetto

  • @johnplatter4535
    @johnplatter4535 5 หลายเดือนก่อน +2

    Amazing project!! Wow very inspiring

  • @nikbivation
    @nikbivation 6 หลายเดือนก่อน +2

    this is so cool, this helps me a lot!

  • @robinmorabito6518
    @robinmorabito6518 หลายเดือนก่อน +1

    huge inspiration for what i'm currently working on but kind of a noob on electrical matters, how did you calculate the right resistance for the resistor grounding each column to the ground pin?
    keep up the awesome work :D

    • @markfdesimone
      @markfdesimone  หลายเดือนก่อน

      Awesome! I didn't calculate the value myself; I based the hardware approach on the Instructable that I have linked in the description. I don't know how you'd go about calculating such a thing!
      If you get to the point of sharing what you're making, ping me. I'd love to see what's up!

  • @sinisterbydesign
    @sinisterbydesign 8 หลายเดือนก่อน +1

    Nice! Thank you!

  • @j.b.cristian
    @j.b.cristian 4 หลายเดือนก่อน +1

    amazing!

  • @personalview7388
    @personalview7388 8 หลายเดือนก่อน

    Main thing about Linnstrument is expression abilities. Here we don't have anything beyond Launchpad functions (and lack of leds!). Yes it is smaller pads and more of them.
    Using of film sensors lead to another problem - hardness and lack of feedback, this is also quality of Linnstrument.
    We need something like soft flexible clothing that is stretched and can travel under pressure.
    More (in feeling) like endless parallel strings of Erhu.
    Think about using small ring with accelerometer for expression control. It will be more limited but will keep your design.

    • @markfdesimone
      @markfdesimone  8 หลายเดือนก่อน +3

      Thanks for taking the time to check this out! It is not as expressive as a Linnstrument, for sure. What excited me the most about this project was its low cost. The key ingredient is dirt cheap, and I imagine you could use it in tons of different ways. Also, I'm just a hobbyist, so I'm not aiming for a reproduction of a Linnstrument, or a polished commercial product. My main goal was to have a keyboard that I could use to explore microtonal scales more easily, and this definitely succeeds in that regard!

    • @personalview7388
      @personalview7388 8 หลายเดือนก่อน +1

      @@markfdesimone Yeah, pretty cool. Just remember that cost is not low at all. It requires lot of skill, time to get components.
      One thing I want to propose for you is to look at Matrix grid open source controller.
      If you manage to modify their design for smaller and pressure sensitive pads and also make such 8x8 controllers stackable without border - it can be real deal for masses. As they have skills to really manufacture them in China.
      Check Striso thing, it is expressive, tiny, and uses 3 pads under each key. May be it is viable design for larger controllers.
      One of my ideas is stretchable clothing (similar to one used in Continuum) with IR reflective dots below it (around 200-300). So 240-480fps speed camera can be able to read any deformations caused by fingers. Here only costly component is camera and they are mass produced and progressing fast.
      Do you think it'll work nice? By idea scan rate is not too good, but can be usable.

    • @markfdesimone
      @markfdesimone  8 หลายเดือนก่อน

      @@personalview7388 That's a really interesting idea, and it capitalizes like you said on a technology that's got tons of research behind it. I've seen videos of the Striso, and it sounds lovely! Very expressive. I will definitely have a look at that open source Matrix controller. Thanks for putting it on my radar!

    • @personalview7388
      @personalview7388 8 หลายเดือนก่อน

      @@markfdesimone I suggest you to get Erhu and try it. As Roger Linn, for example came from guitar, making feeling similar to mix of guitar and violin. And issue is that fretboard limits the instrument expression.
      Also always take into account package size and molding costs.
      VMETER author has good economic article stating that any small batch controllers must have 1:4 cost to manufacture to retail cost ratio, never less.
      Linnstrument cost to manufacture is also around same ration, being $300-450.
      Such ratio also stops authors from moving to mass production as it is different expertise, very busy life and initially they'll have profits even drop sharply.

  • @matiasmorant4484
    @matiasmorant4484 3 หลายเดือนก่อน +2

    This looks like the sensor on Linnstrument

    • @markfdesimone
      @markfdesimone  3 หลายเดือนก่อน +1

      Yup, and lots of insight came from Roger Linn about his Linnstrument on his website.

  • @flywittzbeats4008
    @flywittzbeats4008 7 หลายเดือนก่อน +2

    Can I ask if you’re getting any false starts on the FSR’s? I have tried small copper tape cuts, more copper, carbon fiber sandwiches, even a pretty intricate tape cut. The best results I got were the carbon fiber on either side. I still get some but I think it’s because I want it to be extremely responsive, or maybe there’s something in my code, not sure

    • @markfdesimone
      @markfdesimone  7 หลายเดือนก่อน +2

      Well, it did take a fair amount of experimentation to find out what the maximum and minimum pressure values were, but that was a question of fine-tuning the code after I built the circuit.
      If you can describe your trouble in more detail I'm happy to try and help! My problem regarding responsiveness is that some of the sensors are more sensitive than others, which means I have to hit some harder than others to get them to sound. For those issues, the sensors were either on the edge of the velostat, or there was a ripple or bump that created a bit of space between the copper and the velostat. I'm not sure that's what you would call a false-start. It's more like some of them are stubborn.
      Is it possible that your code is a factor in the setup? Or, could there be a pin or connection in your circuit that's not properly grounded?
      Regarding the responsiveness, I am not a professional keyboardist or anything, but I've been pretty darn happy with this thing's performance in that regard.

    • @flywittzbeats4008
      @flywittzbeats4008 7 หลายเดือนก่อน +1

      @@markfdesimone gotcha, yeah I actually unfortunately lost my program I wrote for the instrument when updating to a new OS 🥲 but I am going to get back to it in probably the next couple weeks so I will certainly check back in. It was just that it would play a midi note every once in a while with out me doing anything haha. So I guess I was trying to bring the threshold to low. Maybe my breadboard was bad, grounding shouldn’t have been an issue but maybe. Emi perhaps? Ever since I built that prototype I have been coming up with more ideas in my head that I’m ready to try and get out of there haha, this video is perfect because I have yet to work with mux’s, and I love the practicality of your design. One idea I have is making an fsr/switch to both complete the circuit and measure resistance. I have a way I want to test it out so I will definitely keep you updated (: thanks again for making this video, so glad TH-cam recommended it to me.

    • @markfdesimone
      @markfdesimone  7 หลายเดือนก่อน

      @@flywittzbeats4008 Excited to hear more! I'm jazzed about the velostat too. It's cheap, and it seems like you can do almost anything with it.

  • @willemfeltkamp5314
    @willemfeltkamp5314 หลายเดือนก่อน

    you explain the schematics at counter 33.00. It seems simple enough, but do you have a drawing?

    • @markfdesimone
      @markfdesimone  29 วันที่ผ่านมา

      I don't have one of my own, but the instructable I linked to in the description does have a useful diagram.

  • @matiasmorant4484
    @matiasmorant4484 3 หลายเดือนก่อน +1

    Could this be adapted to make an hexagonal pattern grid? Like Lumatone or accordions

    • @markfdesimone
      @markfdesimone  3 หลายเดือนก่อน

      Physically, I think so. The code for it would need to be reworked though, I think. The power of the Lumatone comes from the fact that you can map any pitch to any button through their software, which I don't think could be done here.

  • @lisaayres-zp5jj
    @lisaayres-zp5jj 6 หลายเดือนก่อน +2

    do you ever experience key ghosting? will you try to write a piece?

    • @markfdesimone
      @markfdesimone  6 หลายเดือนก่อน +2

      Yes. Like on the Linnstrument, if you play 3 corners of a rectangle, the fourth will also sound. I think Roger Linn has some software logic that anticipates this and prevents the fourth from playing.

    • @willemfeltkamp5314
      @willemfeltkamp5314 หลายเดือนก่อน

      @@markfdesimone there is a simple way to prevent ghosting by inserting diodes into the schematics. do an internet search and there are multiple examples of how to do this.

  • @romeolz
    @romeolz หลายเดือนก่อน +1

    I'm seriously considering building one of these, I have a few questions
    would it be possible to use a shift register instead of a multiplexer as the "output" cols/rows? (someone told me it could work in a normal non-analog keyboard matrix)
    could key ghosting be minimized by changing the layout of the rows and columns? (by making them diagonal or something)
    does the velostat have to be a single sheet or can you have a couple smaller sheets of it next to each other?
    instead of a foam pad, can you use squishy keys instead?
    and maybe you could add LEDs if you 3d printed the keys in transparent tpu filament?
    I might not get my points across clearly so I'd love to chat about this on somewhere, do you have socials?

    • @markfdesimone
      @markfdesimone  หลายเดือนก่อน

      Hey romeolz! I'm happy to connect and chat. If you're on Facebook, I'm in a few instrument-maker groups (Experimental Instrument Builders, Experimental Music Software and Hardware). Beware, I'm not an expert, and don't have a great understanding of shift registers. Maybe we can talk about it and figure out together if it's an option. The multiplexers are super cheap, and have worked really well in my limited experience though, and I'm sure you could add more rows and columns with a couple more multiplexers if that's what you're trying to do.
      I think the key ghosting would be a consideration with any column+row setup, even if they're not 90 degrees from each other. The way my instrument turned out, the only ghosting I have to deal with is when you press four keys that form a rectangle, which isn't too often. And what happens is that if you press down 3 corners of the rectangle, the fourth corner will act as if it were pressed too. I think Linnstrument must have code that handles this more elegantly, and prevents that fourth corner from triggering a note-on. BTW the Linnstrument's code is open-source!
      I haven't tried using several velostat sheets next to each other. I bet it would work, but the keys that are on the border between two sheets would probably be less responsive than other keys. Adafruit sells 11 inch sheets for a pretty good price, if you're able to buy from them.
      The foam pad is not necessary. I used it because I needed some flat material to stick the copper tape to. I think having a little bit of squishiness is nice, but I would recommend trying a few different approaches to see what feels best for you. I've played with printing TPU for keys; that worked OK but they weren't much more squishy than PLA keys, and were less consistent. I think there's lots of room for improvement on the key design.
      I do wish I could have LEDs under the keys, but I decided against it for cost and complexity reasons. I think using stickers or washii tape is a nice low-tech way to experiment without needing to touch any code or software.

    • @romeolz
      @romeolz หลายเดือนก่อน

      @@markfdesimone let's do it! I can't get on Facebook right now so I want to know what time zone you're in (so I know not to message you at 3am waiting for a response, I'm in UTC+2)

    • @markfdesimone
      @markfdesimone  หลายเดือนก่อน

      @@romeolz Cool, I'm in Pacific daylight time, which is UTC+7

  • @DanielMiclos
    @DanielMiclos 6 หลายเดือนก่อน +1

    Very nice! I bought some Velostat sheets, a Teensy 4.0, resistors, copper tape, and analog multiplexers years ago with the intention of making a Janko keyboard with poly-aftertouch. However, the only thing I'm missing is the willpower to overcome my laziness. 🥱

    • @markfdesimone
      @markfdesimone  6 หลายเดือนก่อน +3

      I hope you find the mojo to give it a go! I have been tinkering with mine for quite a while, and it's becoming a really really fun instrument to play (even poorly).

    • @DanielMiclos
      @DanielMiclos 6 หลายเดือนก่อน

      Yes, @markfdesimone, after watching your video, I was thinking about creating a vector model and then having the velostat and copper cut at a print shop or acrylic laser cutter service to make it more precise and save time. Have you considered this option for future projects? Here in Sao Paulo, Brazil, this kind of service is pretty cheap.

    • @markfdesimone
      @markfdesimone  5 หลายเดือนก่อน

      No actually, I'm not sure how to create files for that. You have local shops that would cut velostat if you bring it to them? Maybe there are places lime that in the US, too. I usually try to figure out how to use the methods I can do at home, so I can make as many mistakes as I need to. I don't make things to sell really, so these are just for me.

    • @willemfeltkamp5314
      @willemfeltkamp5314 หลายเดือนก่อน

      Hi Daniel, I hope you will start your project, as I'm planning to do exactly the same. I already built a four octave non-velocity sensitive Janko layout midi controller. Before that I had zero experience in working with electronics or Arduino.