How to make a MIDI keyboard using Arduino | Small Project

Поделиться
HTML-код
  • Опубликовано: 2 окт 2024

Комментарии • 485

  • @GoodElectronics
    @GoodElectronics  4 года назад +40

    // Here's the CODE:
    // works with keyboards with matrix 7x8
    #define matrix1 7
    #define matrix2 8
    #include "MIDIUSB.h"
    int octave = 0; // add or subtract 8 for one octave
    bool currentState[matrix1 * matrix2];
    bool requestState[matrix1 * matrix2];
    void setup()
    {
    //------matrix1 number of pins--------
    pinMode(A0,INPUT); //1
    pinMode(A1,INPUT); //2
    pinMode(A2,INPUT); //3
    pinMode(A3,INPUT); //4
    pinMode(14,INPUT); //5
    pinMode(15,INPUT); //6
    pinMode(16,INPUT); //7
    //------matrix2 number of pins--------
    //each matrix2 pin must be one above the previous one
    pinMode(2,INPUT); //1
    pinMode(3,INPUT); //2
    pinMode(4,INPUT); //3
    pinMode(5,INPUT); //4
    pinMode(6,INPUT); //5
    pinMode(7,INPUT); //6
    pinMode(8,INPUT); //7
    pinMode(9,INPUT); //8
    }
    void loop()
    {
    readKeys();
    writeKeys();
    delay(1);
    }
    void readKeys()
    {
    for(int i=0; i

    • @jonathanteng6714
      @jonathanteng6714 4 года назад

      nice project !!, where the section of the code I must change if use pulldown resistor on the row pin ?
      I've been change digitalWrite(i,LOW); to digitalWrite(i,HIGH); but still no response from the piano.

    • @GoodElectronics
      @GoodElectronics  4 года назад

      you need to change "!digitalRead" to "digitalRead"

    • @ti7adahab799
      @ti7adahab799 4 года назад +1

      Can i use this code with piano toys 32 keys ...

    • @GoodElectronics
      @GoodElectronics  4 года назад

      I think so, but you need to change matrix dimensions in this code

    • @ti7adahab799
      @ti7adahab799 4 года назад

      @@GoodElectronics
      How...i can't handle it..i use board of piano toys 32 keys ... Can u connect me with Facebook or WhatsApp

  • @w0udo6yv4o4
    @w0udo6yv4o4 4 года назад +54

    The diodes are there to prevent notes ghosting

    • @oskrpnk666
      @oskrpnk666 4 года назад +4

      THIS. Seems that this guy has never assembled or looked at a mechanical keeb or any key matrix

    • @GoodElectronics
      @GoodElectronics  4 года назад +4

      @@oskrpnk666 Ohhh, I see now. I forgot that current can float through keys that aren't connected under specific circumstances

    • @BehniaFB
      @BehniaFB 4 года назад +1

      What do you mean by ghosting? Is it anything important for this purpose?

    • @BehniaFB
      @BehniaFB 4 года назад

      ​@@GoodElectronics What do you mean by ghosting? Is it anything important for this purpose(making my keyboard MIDI) ?
      I hope you'll answer me soon.

    • @GoodElectronics
      @GoodElectronics  4 года назад +5

      Ghosting is wrong reading of multiple pressed keys at once, usually there can be additional key recognised as pressed.

  • @kevalnakar6269
    @kevalnakar6269 2 года назад +2

    This video becomes the one stop solution for me.
    Because I want to make midi keyboard (Arduino based) from long time.
    Thank you so much brother

    • @kevalnakar6269
      @kevalnakar6269 2 года назад

      Thank you
      I'm understanding the code
      With feeling

  • @System-1541
    @System-1541 8 месяцев назад +1

    The diodes are there to prevent ghost signals when scanning the keyboard as a matrix. Honestly, I don't know how your circuit is working without them. Unless somehow you unsuccessfully shorted their pins in your wiring scheme, and they are still preventing backflow of the current. Diodes are a necessary part of a circuit like this.

  • @kwonbryan
    @kwonbryan 5 месяцев назад +1

    Hello, I am new to this but your video might help for my midi setup. I got Yamaha PSR 160 keyboard. And the cable inside I got 15 cables all together. Not like yours as 7 and 8 cables separated. In that way, how should I program?

    • @tutorialesdewindows7869
      @tutorialesdewindows7869 5 месяцев назад +1

      use a multimeter, look for other videos where u identify "keyboard matrix". ask here som1thing idk

  • @Astrovic1
    @Astrovic1 3 года назад +3

    fl studio beste:) will probably also do this for a project in university

  • @TheJasonf8892
    @TheJasonf8892 7 месяцев назад +1

    is there any chance of getting the documentation for this? or the website link please??

  • @gustavosabath8618
    @gustavosabath8618 9 месяцев назад +1

    Thanks for the video! I would like to ask if can I use the midi input of my keyboard to input midi signals, so that my keyboard can be played by the arduino

  • @sanjay.skumar7467
    @sanjay.skumar7467 2 года назад +3

    // CODE FOR 32 keys and using the resistor ladder on negative(gnd) instead of vcc and bugs fixed
    //works and tested for Casio SA-47A
    // works with keyboards with matrix 4x8
    #define matrix1 4 // rows
    #define matrix2 8 // columns
    #include "MIDIUSB.h"
    int octave = 24; // add or subtract 12 for one octave
    bool currentState[matrix1 * matrix2];
    bool requestState[matrix1 * matrix2];
    void setup()
    {
    //-matrix1 number of pins-
    pinMode(10,INPUT); //1
    pinMode(11,INPUT); //2
    pinMode(12,INPUT); //3
    pinMode(13,INPUT); //4
    //-matrix2 number of pins-
    //each matrix2 pin must be one above the previous one
    pinMode(2,INPUT); //1
    pinMode(3,INPUT); //2
    pinMode(4,INPUT); //3
    pinMode(5,INPUT); //4
    pinMode(6,INPUT); //5
    pinMode(7,INPUT); //6
    pinMode(8,INPUT); //7
    pinMode(9,INPUT); //8
    }
    void loop()
    {
    readKeys();
    writeKeys();
    delay(1);
    }
    void readKeys()
    {
    for(int i=0; i

  • @HETRM
    @HETRM 3 года назад +3

    awesome work!! thanks ..it worked for me had 6x8 matrix, with some small changes.🙏🙏🙏👏👏👏

  • @nazilgun7597
    @nazilgun7597 3 года назад +1

    In Turkey, they are so expensive, you just cut my dream dude

  • @eshanoshadha7709
    @eshanoshadha7709 4 месяца назад

    Can it be done with nanoboard?

  • @AddyJesterBonaobra
    @AddyJesterBonaobra 2 дня назад

    is it hard to make one by just following what you did and copy pasting the codes you've provided? I don't have basic knowledge about arduinos :3

  • @devakona
    @devakona 3 года назад

    Hi there. Awesome content my bru. Can you use the keyboard with synthesia also?

    • @GoodElectronics
      @GoodElectronics  3 года назад +1

      I don't know, you have to check if it supports midi, if so, then it will work.

    • @foxxyytofficial
      @foxxyytofficial 3 года назад +1

      Yes you can
      I tested it

  • @HarisTurki
    @HarisTurki 3 года назад +1

    hello guys, I have recently bought an electric piano with 61 keys for 90$ and I want to turn it into a midi controller but the problem that I understand nothing about electronics and Arduino so I wonder if anyone can help me to turn my piano into a midi controller and thank you so much.

  • @echodelta9
    @echodelta9 Год назад

    Not to waste any more of my time. If you don't know what the diodes are for... and I hit stop. Then I am reading in the comments about voltage steps and a matrix other than 6 which is half an octave. Got to look into Teensy projects not Arduino. You scan a matrix, on or off. By using voltages, dirty or worn contacts will mess up notes. Those single row rubber contacts are no longer made as I know.

  • @ahmetaslan2059
    @ahmetaslan2059 3 года назад

    Hello, I find your videos very successful. I want you to make a video about a project. In short, the Kontakt controller has LED guides. This manual is standard for local instrument midi keyboards, s49 mk2 midi keyboards, but we haven't found a resource we can do, there is a led guide for the piano, but I don't know if it is included in the program. I am waiting for your information on how to do this. I'm so sorry for my English. :) Thank you.

    • @GoodElectronics
      @GoodElectronics  3 года назад +1

      Hi. I don't want to make more videos about midi, because I don't use it and I don't want to learn a whole topic about midi only to make a video. I'm sorry, but midi and instruments aren't my hobby, so I won't make a video that explains perfectly aspects of midi and its usage.

    • @ahmetaslan2059
      @ahmetaslan2059 3 года назад

      @@GoodElectronics I got it, thank you very much.

  • @ElectronDuino
    @ElectronDuino Месяц назад

    Can you press multiple keys at once? Or is it the function of the diodes?

  • @WawanGunawan-y6s
    @WawanGunawan-y6s Год назад

    Can it be used in the org 2020 application, smartphone

  • @lametta8778
    @lametta8778 Год назад

    wenn ich treffe kriegst du 6 euro von mir soll ich dir erklären wie velocoped funktiniert
    wwas fu funkt eigentlich inn deinen henes
    digga kühe auf der autobahn
    glaubst du an gott
    xtc

  • @buttonsplaymusic4896
    @buttonsplaymusic4896 3 года назад +2

    This was pretty interesting. Can you next do one where you put an lcd on your Leonardo, and add some sounds to it and a scroll button or 2, so you can have the sounds right on the arduino (not just a midi controller)? (Would be cool to use samples, but midi synth would also be cool I guess)

    • @GoodElectronics
      @GoodElectronics  3 года назад +1

      Arduino is really bad at playing sounds, you would need something more powerful, or some sound module for arduino

  • @harshroy5165
    @harshroy5165 4 года назад

    Hello, will it register more than one key pressed simultaneously? As in playing a chord on the piano?

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Yes, I made this that way so it registers any amount of keys pressed at once.

  • @stanislavhristakiev1881
    @stanislavhristakiev1881 3 года назад

    fool fake! Links not code only fake and viruses

  • @smunzio3000
    @smunzio3000 3 года назад +1

    hey, first of all, thanks for the tutorial. i'm trying to get this to work since 2 days. I soldered everything correctly, resistor ladder and pins in order. What changes in the code should be made if the matrix is 8x6? ( the six pins are the numbered ones, the OTHER 8 pins are A3, A2, A1, A0, 15, 14, 16 and they are the ones connected to the resistor ladder)

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Did you try to read these instructions in code and applying changes into it?

    • @smunzio3000
      @smunzio3000 3 года назад

      @@GoodElectronics yeah, but i can't understand what currentstate[] does, and how is it finding the right notes if requeststate is always true or false, wouldnt it result in the same note no matter what key is pressed? how do bools with brackets work? i cannot find any info online

    • @smunzio3000
      @smunzio3000 3 года назад

      also, why is digitalWrite(i,low) ? it doesnt even work for me like that, if i want some output (but wrong notes playing together) i had to put digitalWrite (i+2,low).

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Hi. These variables with brackets are arrays. currentstate is the variable that stores current notes playing, requeststates is containing notes that will be pressed in the next program cycle. The value will be true for the index of key pressed. Did you properly connect resistors to them and made the changes as I wrote in the code?

    • @smunzio3000
      @smunzio3000 3 года назад

      @@GoodElectronics i made some changes and now It works perfectly. thanks a lot

  • @RiccardoRivi
    @RiccardoRivi 3 года назад +1

    Is It polyphonic?

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Yes. Unfortunately shorting these diodes limits it to 2 or a few keys at once (which I didn't know when I was making the video), but if you leave them, it's fully polyphonic

    • @RiccardoRivi
      @RiccardoRivi 3 года назад

      @@GoodElectronics nice, thx

  • @abdularham3584
    @abdularham3584 3 года назад

    I have got 61 keys toy piano plz help me to code I'm really new at Arduino and matrix I will really appreciate that plz

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Hi. You need to figure out what matrix it's using, and change the code to match the matrix. I wrote instructions in code to be changed as easily as possible, I hope you'll understand how to change it :)

  • @devon12346
    @devon12346 Год назад

    can someone explain shorting the diodes and what the resistor ladder does and how I can get one or make one and how also how it's used?

    • @ElectronDuino
      @ElectronDuino Месяц назад

      You can purchase the resistor ladder on internet. But if you don't want to, you can simply put normal resistors. The only difference is that the resistor ladder is smaller. Resistors are very cheap.

  • @abhayganesh6364
    @abhayganesh6364 10 месяцев назад +1

    is it essential to use resistor ladder

    • @ElectronDuino
      @ElectronDuino Месяц назад

      Yes, to pull up the keys pins so arduino can read them.

  • @sangrambhumia9320
    @sangrambhumia9320 3 года назад +3

    Finally made my MIDI keyboard today ! All thanks to you and your code. Just a little tweak in code made it work for my 32key keyboard 😊. There is no delay whatsoever 🐱.

    • @sanjay.skumar7467
      @sanjay.skumar7467 2 года назад

      could you send the code as I have 32 keys too, would save others time from making changes too

    • @sheharafernando8507
      @sheharafernando8507 2 года назад +1

      I have a 32 key matrix too(4*8)and my keyboard just keeps playing in the same octave can you send the code?pls

    • @sangrambhumia9320
      @sangrambhumia9320 2 года назад +1

      Should i send that here?

    • @andrewarguelles6945
      @andrewarguelles6945 2 года назад

      @@sangrambhumia9320 Nice work!
      I dont have enough knowledge about programming.
      i have everything wired up
      Can you send a 61keys code? 8x8 matrix. my project is sitting for 1month now and cant seem to find the right code.
      any help will be appreciated :)

    • @sangrambhumia9320
      @sangrambhumia9320 2 года назад

      @@andrewarguelles6945 I have code for 32 keys and I am not sure if it will work with 61 keys.

  •  3 месяца назад

    Can I still use the original speakers?

    • @ElectronDuino
      @ElectronDuino Месяц назад

      if you find a way to connect the pins to arduino still beeing able to connect them to the original board yes

  • @Ayushvatsofficial
    @Ayushvatsofficial Год назад

    Can we connect casio ctk2550 to arduino ? Pls reply

    • @GoodElectronics
      @GoodElectronics  Год назад

      Hi. Most of keyboards are similar, so I think it will be possible

  • @koozin69
    @koozin69 4 года назад

    first of all, tks for the video :) I must say that i don't have any experience in arduino and electronics in general, but I got a question: I'm planning to create my own midi keyboard, but with two keybeds (2x49) from the same digital keyboard, would that be a problem with arduino pro micro?
    Tks

    • @GoodElectronics
      @GoodElectronics  4 года назад +2

      This would be a problem, because you need to connect all pins to Arduino, and you have 51 pins in total. Arduino pro micro has somewhere around 20pins.

    • @koozin69
      @koozin69 4 года назад +1

      @@GoodElectronics alright, will study deeper on this.. tks for ur time :)

    • @ElectronDuino
      @ElectronDuino Месяц назад

      @@koozin69 use shift registers. You'll need to modify the code, but they aren't that hard to use

  • @DhanendraPatel-t7b
    @DhanendraPatel-t7b 2 месяца назад

    Will the arduino uno R3 SMD micro work?

    • @ElectronDuino
      @ElectronDuino Месяц назад

      No. Unless you find some software that works over serial and not with MIDI USB protocol

  • @daddydanny5588
    @daddydanny5588 4 года назад +1

    gr8 vid
    i want to know the long code that you're writing .. :)

    • @GoodElectronics
      @GoodElectronics  4 года назад +2

      Hi. The code is in the pinned comment. It might be under other comments, it's not showing always, I don't know why.

    • @daddydanny5588
      @daddydanny5588 4 года назад

      @@GoodElectronics Thanx

    • @Nuwan__Madusanka
      @Nuwan__Madusanka 3 года назад

      @@GoodElectronics please put that code on discription box...

  • @ThevinuGunawardena
    @ThevinuGunawardena 4 года назад

    209 subscribe from me

  • @oleksiy_101
    @oleksiy_101 7 месяцев назад

    Thank you very much for the video. Can you please tell me where I can buy a matrix button like in the video?

  • @doganseseogullari3267
    @doganseseogullari3267 4 года назад +2

    Hi, congrulations. And thanks for sharing. Do keys enable to play in velocity?

    • @GoodElectronics
      @GoodElectronics  4 года назад

      There's some velocity option in MIDI library, but I didn't test it, so i can't tell you anything about that.

    • @vic2net
      @vic2net 3 года назад

      Hi man, I found a method how we can play notes with different velocity, just use Piezo element, not simple buttons, so we will be able to play with different velocity. (price will be same)

    • @doganseseogullari3267
      @doganseseogullari3267 3 года назад

      @@vic2net but the piezos do not have continues playing ability. They can play sample wav based vstis continues but cant for digital vsts sound generators. And other problem is. Some piezos can be triggered even you dont hit if you play next piezos

    • @pmj_studio4065
      @pmj_studio4065 3 года назад +1

      For a velocity sensitive keyboard you need two switches per key at different heights. You can use the time difference between when each of them was pressed to calculate the velocity.
      It's called "double sensor keyboard". There are also "triple sensor keyboards" to better detect fast key presses where you don't lift them all the way up (e.g. trills), but you can do almost the same with only two.

  • @hernowoindra
    @hernowoindra 3 года назад

    Nice.....

  • @shreygupta7847
    @shreygupta7847 4 года назад

    Is there any written documentation for the project ?

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Unfortunetly, not (as I have seen, there's not documentation), but you can always search in the web, maybe somebody has written one?
      (I responded before, but youtube maybe didn't post this comment, so sorry for that late respond)

  • @paki26th36
    @paki26th36 2 года назад

    Can i use ATMEGA328 Arduino Uno ?

    • @GoodElectronics
      @GoodElectronics  2 года назад

      No, only atmega 32u4 supports native USB. You can however test some drivers that are designed to be supported with atmega328 and midi, but I haven't tested these and I won't help you with them

    • @paki26th36
      @paki26th36 2 года назад

      @@GoodElectronics if i remove the atmega328 integrate will help ?

    • @GoodElectronics
      @GoodElectronics  2 года назад

      No, you need a chip with a native USB support, only atmega 32u4 supports that.

  • @troller2705_
    @troller2705_ 3 года назад

    Been working on this for a while but can't get any midi output on my computer im using a 7x6 matrix and have altered the code accordingly im not sure how to do the resistor latter but im pretty sure everything else is right

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Did you try to short the inputs with outputs by hand? Maybe the keyboard isn't working well with this circuit

    • @troller2705_
      @troller2705_ 3 года назад

      @@GoodElectronics i found when i added my resistors on the one side and sorted it to raw I got 2 3rds of the keys working but I only got about 5 different notes I am trying to redo my wiring rn hopefully that will fix it and if not I will figure something out if it still doesn't work is there an email I would be able to communicate with you through to send pictures of my pin layout?

  • @nandakesav1346
    @nandakesav1346 4 года назад +1

    It must have some millisecond delay right

    • @GoodElectronics
      @GoodElectronics  4 года назад

      This delay is only for clarity and to not overload usb, but otherwise it will work without this delay.

    • @mroonk_
      @mroonk_ 3 года назад

      delay of real piano is near 80ms

  • @abhijithspillai5530
    @abhijithspillai5530 4 года назад

    So what I am I supposed to do if I have the same chips in the circuit

    • @GoodElectronics
      @GoodElectronics  4 года назад

      If they're chips on this button pcb and there's no visible connector like in my keyboard, the only way to connect it is to solder wires to these chips, which is hard.

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Sure: matszwe02@gmail.com

  • @jkromes20
    @jkromes20 Год назад

    i looked up this video trying to remember Evan Kale's name hahaha prefect shoutout. What great videos he had

  • @nitishdas22
    @nitishdas22 3 года назад

    Hey Good Electronics , it is a very informative video ... Thanks ! ... and congratulation on reaching 500 subscribers, me being the 500th one ! :)

  • @amediuz1192
    @amediuz1192 4 года назад +1

    Does it have touch response

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Do you mean if I touch a key, Arduino will send data? In most cases no - because keyboards have a membrane which you have to press for response.

  • @oficinamaker.school
    @oficinamaker.school Год назад

    can i use other programs?

    • @GoodElectronics
      @GoodElectronics  Год назад

      Yes, that's midi protocol which is compatible with many programs

  • @joemjaveevelaylo2327
    @joemjaveevelaylo2327 3 года назад +1

    Hey, great video. It really encouraged me to build my own midi keyboard. Just asking how should I code if I want the velocity sensitive keys because I might get access to another 49 key piano circuit. Thanks in advance, even if you can't help.

    • @GoodElectronics
      @GoodElectronics  3 года назад

      That will be much harder to code, you will have to make some sort of voltage divider, but the code will be more complex

    • @joemjaveevelaylo2327
      @joemjaveevelaylo2327 3 года назад

      Hey, does the code also work for the leonardo board, a friend also wants to build and he already has the board and was wondering if there is anything to change for a different board

    • @ElectronDuino
      @ElectronDuino Месяц назад

      @@joemjaveevelaylo2327 yes. It's the same chip.

  • @ranganandasiri6331
    @ranganandasiri6331 3 года назад

    Good video sir please giw me the code please i can not find that

  • @whereone
    @whereone 3 года назад +1

    thanks, you save my keyboard life :D.... 100% working... I can't buy a resistor ladder so I make one.

    • @ti7adahab799
      @ti7adahab799 3 года назад

      How u made it ??

    • @whereone
      @whereone 3 года назад

      @@ti7adahab799 Just connects a resistor in parallel and I use (680 Ω ±5% (J)) Resistor.

    • @loveandlearn592
      @loveandlearn592 2 года назад

      @Albert Reveche How many resistors is needed to make one?? I cant buy a resistor ladder too, if possible can you share the pic of your board.

    • @whereone
      @whereone Год назад

      @@loveandlearn592 use same amount in the video. 7 resistor

  • @vk-music22
    @vk-music22 2 года назад

    please please help me write code for 32 keys keyboard

  • @dharmeshsolanki4354
    @dharmeshsolanki4354 3 года назад +1

    can you provide download link of your code

    • @GoodElectronics
      @GoodElectronics  3 года назад +1

      It's in a pinned comment, just copy and paste

    • @dharmeshsolanki4354
      @dharmeshsolanki4354 3 года назад +1

      @@GoodElectronics Thankyou I found your code in comments but its not pinned 👍

    • @GoodElectronics
      @GoodElectronics  3 года назад +1

      @@dharmeshsolanki4354 weird, i pin it and it unpins

  • @tutirjeh
    @tutirjeh 4 года назад +1

    i have a 10*6 matrix for my keyboard How to change the code ?

    • @GoodElectronics
      @GoodElectronics  4 года назад +1

      Firstly, you have to modify currentState, requestState, fixedKeys to be [60] instead of [56], in fixed keys write every number lower than 60 starting with 0 and increasing by 6, then starting from 1 and so on when you reach 59. Instead of "i

    • @tutirjeh
      @tutirjeh 4 года назад

      @@GoodElectronics k thx i'll try

    • @GoodElectronics
      @GoodElectronics  4 года назад

      I edited the code, so all you need is change your dimenstions, pinModes and digitalWrites as I explained in my code

  • @luisfelipe-gu4ft
    @luisfelipe-gu4ft 3 года назад

    Where I can Find the arduino Code?

  • @jdentertainment2040
    @jdentertainment2040 4 года назад

    I have a problem on the keys from D7 and above its not working when I unscrew it I saw unconnected wire but I dont know where is it connected

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Check the place where these wires go into this keyboard buttons if all wires are connected.

  • @codewithzi-5817
    @codewithzi-5817 Год назад

    Uhmmm... I kinda have a question. Can this circuit be used on mobile phone application? I have some applications that require a midi keyboard

    • @ElectronDuino
      @ElectronDuino Месяц назад

      If you find a way to connect via bluetooth or something to the mobile phone (maybe using an ESP32,) then yes, you can.

  • @abhijithspillai5530
    @abhijithspillai5530 4 года назад

    Sir So I Just Need To Copy And Paste This Code.......My Matrix is 7*6........How am I Supposed to do....

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Yes, just replace matrix1 and matrix2 with your numbers everywhere that's shown in code

  • @abhijithspillai5530
    @abhijithspillai5530 4 года назад

    My Keyboard has only two ports one the output other the charging input 9.5v DC..... So Will I be able To Do This Project.....Also Can you Send The coding Script in a .txt File or Something Please....

    • @GoodElectronics
      @GoodElectronics  4 года назад +1

      These connectors are inside, you need to tear it down. Code is in a pinned comment.

    • @abhijithspillai5530
      @abhijithspillai5530 4 года назад

      @@GoodElectronics BRUH, You need both only arudino pro micro right?? And could you give me the when you have to type the code I mean the timestamp of it (The beginning one or the ones towards last) Please I don't have much idea about electronics... 😅 and How can I find out the matrix of my keyboard...Please Help me by sending the link to buy arudino pro micro.....
      Thanx for Replying to me...

  • @JerryOhh
    @JerryOhh 2 года назад

    Midi Drum for Leonardo Please..

  • @j4sxm1ne
    @j4sxm1ne 2 года назад

    i can not find the code could somone give me the link?thanks

  • @KASHYAP788
    @KASHYAP788 3 года назад

    how to make a midi keyboard using arduno nano for casio sa78 keyboard please make a video

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Hi. I don't want to make a video for every keyboard, check how it this keyboard wired, if similar to my, you can connect it like I did

  • @KASHYAP788
    @KASHYAP788 3 года назад

    how to make a midi keyboard using arduno nano for casio sa78 keyboard please make a video

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Hi. You need to check the wiring inside the keyboard if there's a similar cable set as in my keyboard. I won't make a video, because there are plenty of keyboards and most of them are wired exactly the same (with different number of wires, which is exactly explained in the code)

  • @raginggamer2615
    @raginggamer2615 3 года назад

    thank u soooo much this video help me a lot I'm a begginer and this help a lot

  • @emaybietobungi7879
    @emaybietobungi7879 3 года назад

    Modifed Pitch Bend and Modulation

  • @yelintunnet57
    @yelintunnet57 3 года назад

    Keyboard was 8x8 pin and my leonardo haven't 14 15 16 pin

  • @francoisBonin-phils
    @francoisBonin-phils Год назад

    Nice , but no velocity?

  • @fl3ur_1nestimable
    @fl3ur_1nestimable 4 года назад +1

    hey man ! thank for that video! i just wanna know where I can buy the arduino, the board and overall the resistance ladder

    • @GoodElectronics
      @GoodElectronics  4 года назад

      All these parts are available on eBay or your local electronics store.

    • @fl3ur_1nestimable
      @fl3ur_1nestimable 4 года назад +1

      @@GoodElectronics thanks !

    • @fl3ur_1nestimable
      @fl3ur_1nestimable 4 года назад

      I have another question: umm the keyboard I have has 61 keys, and also I have only one cable that comes from the keys' output, and it is 17 or 18 pins, so can I do it with that?

    • @GoodElectronics
      @GoodElectronics  4 года назад

      @@fl3ur_1nestimable I think it's also the same connection as I have, but you have these 2 cables joined as 1 cable, so you need to find in which place they're connected.

  • @loveandlearn592
    @loveandlearn592 2 года назад

    How to make a resistor ladder ? I can't find one..
    Also can you share the picture of final version board?? (The main thing is the circuit so its logical to have the picture of it imo)
    And what board to select on arduino IDE

    • @ElectronDuino
      @ElectronDuino Месяц назад

      You can purchase the resistor ladder on internet. But if you don't want to, you can simply put normal resistors. The only difference is that the resistor ladder is smaller. Resistors are very cheap.

  • @sultanmehmood8547
    @sultanmehmood8547 2 года назад

    great vid! helps alot! but could i use an ESP32 instead of an arduino pro micro for this?

    • @GoodElectronics
      @GoodElectronics  2 года назад

      I'm not sure, you have to check if it has native USB support and has arduino midi library

  • @Maryono-pg5le
    @Maryono-pg5le 3 года назад

    I like skema from yu ardoino

  • @sangrambhumia9320
    @sangrambhumia9320 3 года назад

    Awesome video bro!!! But where do i find that codes. And will it be same for a 32keys keyboard?

    • @GoodElectronics
      @GoodElectronics  3 года назад +1

      On the pinned comment (if it's not pinned, you need to scroll to find it, it unpins somehow), there's an explanation how to change pins inside it.

  • @yelintunnet57
    @yelintunnet57 2 года назад

    When i connect with piano to PC that piano was auto play so what should i do?

    • @GoodElectronics
      @GoodElectronics  2 года назад

      Make sure your resistors are connected properly

  • @frankventura7306
    @frankventura7306 2 года назад

    Great Video! can you upload the wiring diagram. i was wondering how your connections were wired.

    • @GoodElectronics
      @GoodElectronics  2 года назад

      Hi. In my case half of the keyboard ribbon goes to matrix1 pins, the other one to matrix2 pins. The resistor ladder is connected to matrix1 and I believe connects to gnd. And that's all.

  • @oficinamaker.school
    @oficinamaker.school Год назад

    Another question, which ICs did you use besides the Pro Micro?

  • @vk-music22
    @vk-music22 3 года назад

    pleasee do you have copy downloaded of video can you send me

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Hi. Why do you need a copy of my video?

    • @vk-music22
      @vk-music22 3 года назад

      @@GoodElectronics actually I dont know about ardino never used and don't know to write code for 32key keyboard and more can you help me ?

    • @vk-music22
      @vk-music22 3 года назад

      @@GoodElectronics can you give me your insta I may ask there

    • @GoodElectronics
      @GoodElectronics  3 года назад +1

      I recommend you learning basics of arduino programming, it will be enough to find out what's going on in this code :) I'm gettings tons of messages from people that pleases me to chenge the code, but I think it's simply explained in it. If you will still have some issues however, you can write to my gmail available in my channel and I will help you :)

    • @vk-music22
      @vk-music22 3 года назад

      @@GoodElectronics thankyou very much i will definately learn

  • @shreygupta7847
    @shreygupta7847 4 года назад

    does the keyboard need to be in proper working condition for this to work properly? Actually a couple of keys in my keyboard are not in proper condition, so will the midi functioning be affected or does it only depends on pressing of key ?

    • @GoodElectronics
      @GoodElectronics  4 года назад +1

      If some keys aren't working, there's a chance that it's broken inside microcontroller which is replaced with arduino, but it can be also a broken cable. Arduino requires a slight signal to detect it, so even weared contacts could work. If it works, the key condition won't be distinguishable (if it is, try a higher resistance resistor ladder).

  • @theeeblack0wl
    @theeeblack0wl 3 года назад

    hello , pretty nice tutorial, but i have a problem, when connecting the pins to the right inputs, i get only few of the keys working, when i short the pins at the beggining of the keyboard i get the sounds, but cant seem to get them when pressing the buttons, might it be because of resistance? im not using resistor ladder, but normal 5k resistors in parallel.

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Right, resistor ladder is resistors in parallel. You can try with some other resistance. I also recommend you to short each input with each output with a wire to check if it's working, then measuring if the keyboard shorts one of inputs to one of outputs after pressing a key.

  • @gustavoconter
    @gustavoconter 4 года назад

    Hi! My ribbon cable has 17 pins but I bought the Arduino Pro Micro that has 16 inputs/outputs so that means i will lose 1 octave from my keyboard ? It has 61 keys.

    • @GoodElectronics
      @GoodElectronics  4 года назад

      In simple terms: something like that, but it depends of the both amounts of cables in both ribbons. It might be one octave, 6 keys or something similar.

    • @gustavoconter
      @gustavoconter 4 года назад

      @@GoodElectronics Perfect, thanks for the answer! As soon as I receive the products I ordered I will start to work on the project!

    • @gustavoconter
      @gustavoconter 3 года назад

      @@GoodElectronics I have some questions about the keyboard matrix, I used the multimeter to measure the continuity between the pins and I managed to link the respective pins to all the keyboard notes but I don't know how to connect these pins to the arduino and how to change the code to make it work. I have some experience with C but could not make it work with the arduino.

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Hi. The basic experience will be enough, I tried to explain everything in the code. Just change some numbers to the other numbers, maybe remove some lines I marked. (Sorry for long response, but youtube doesn't show reply notifications)

  • @muharremsuz
    @muharremsuz 3 года назад

    Can i plug a regular midi and this Arduino midi in same time to PC? İ just want to make a Arduino music box. İ plug it into PC like regular midi. And i try to play songs with regular midi and Arduino midi with diffrent enstrumants in same time.

    • @GoodElectronics
      @GoodElectronics  3 года назад

      I think that it will be possible without any issues.

    • @muharremsuz
      @muharremsuz 3 года назад

      @@GoodElectronics i will try and notice you

  • @williamgard9929
    @williamgard9929 4 года назад

    So how would I do this with a 6 x 11 matrix configuration? Would it be possible to change the matrix parameters to achieve the desired result?

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Hi. You firstly have to check where these 2 sets of cables split. In my code there's an instruction about setting up different amounts of pins. Write if you have any other questions.

  • @algkorgcorps1497
    @algkorgcorps1497 3 года назад

    For midi ribbon controller

  • @vic2net
    @vic2net 3 года назад

    4:25 - So when we play notes We can play more than one note? but how much notes we can play at once?

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Yes, this connectrion allows for more than 1 key pressed. I made a mistake and I shorted these diodes. If you don't short them, you will be able to play as many notes as you want.

  • @ooo0_ooo256
    @ooo0_ooo256 3 года назад

    What are the value for the resistor ladder?

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Every value with k will be OK, so 1k ohm will be OK as well as 100 k ohm

    • @ooo0_ooo256
      @ooo0_ooo256 3 года назад

      ​@@GoodElectronics hi my matrix is 9x6 what i should be changed for the code? I have 49 keys on the board but only 15 pins coming out.

    • @GoodElectronics
      @GoodElectronics  3 года назад

      I think that you need to change things that are mentioned as matrix1 and matrix2 to your values, and the program will skip non existing keys.

    • @ooo0_ooo256
      @ooo0_ooo256 3 года назад

      @@GoodElectronics Hello after testing the code which was ok, now I connect old yamaha keyboard to arduino and fl studio but no sound coming from it, i swipe matrix cable still no sound, do i need to short diodes like u do for it to work?

  • @rodrigomorquecho2320
    @rodrigomorquecho2320 4 года назад

    hi,thank you for the video,just one question the keyboard im using have two faders, can i add this two faders to this cofiguration? and if i could do it, how?

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Hi. I don't know how MIDI uses faders, but I think it will be easy. Add digitalRead to a pin with connected fader and send midi command (you need to find how to handle faders in midi).

  • @Lup1n_3
    @Lup1n_3 4 года назад

    brother a question, I bought the pro micro and connect as it is in your video with your code (I have a 54-key keyboard so I suppose it's like in your video) the problem is that when I connect to a program all the keys become crazy, how to solve it?

    • @Lup1n_3
      @Lup1n_3 4 года назад

      when I put the resistance that you show in the video it does it but only in one part but it doesn't let me use any key

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Make sure you have your pins connected to proper Arduino pins. If they're connected properly and you have a multimeter, check if after pressing a button, one of rows shorts to one of columns (one of pins in the first set to one in the other one). If it does, check putting a wire directly between one of Arduino input pins and one of the output pins.

    • @Lup1n_3
      @Lup1n_3 4 года назад

      @@GoodElectronics If I have it well connected, I don't know how to do the check you said, but I connected it to the original board and they work, could you send me a connection diagram or something? I don't know why that happens, I have practically your same matrix

    • @GoodElectronics
      @GoodElectronics  4 года назад

      short one of the input pins to one of the output pins (for example 2 and A2), it should make a tone

    • @Lup1n_3
      @Lup1n_3 4 года назад

      @@GoodElectronics I just tried it and if I listen to notes, I have it without the matrix and I listen to the program that uses (vmpx) noise like distortion, I suppose it will be the matrix although it is rare because it works on the original board

  • @abhijithspillai5530
    @abhijithspillai5530 4 года назад

    What Do You Mean Complicated If There are Chips On My Piano Circuit... Please Answer...

    • @GoodElectronics
      @GoodElectronics  4 года назад

      If there are sime chips, there's a chance that wires going out of this board won't work as in my keyboard, they will be connected to these chips and they will be sending signals in a more compex way.

    • @ElectronDuino
      @ElectronDuino Месяц назад

      @@GoodElectronics in that case you would need to solder cables directly on the pcb, so it would be a more tedious job. But still doable.

  • @derrickpresley8708
    @derrickpresley8708 4 года назад

    How many pins is the resistor ladder supposed to pull?

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Hi. All of the input pins connected to the keyboard. In the code they're marked as INPUT.

    • @GoodElectronics
      @GoodElectronics  4 года назад

      If you are using ONLY analog pins (like A0, A1, A2), you can simply write INPIT_PULLUP instead of INPUT and then arduino itself will pull them up.

    • @derrickpresley8708
      @derrickpresley8708 4 года назад

      @@GoodElectronics Thanks alot

    • @derrickpresley8708
      @derrickpresley8708 4 года назад

      What would you suggest I do if I cannot find a resistor ladder... It seems out of stock in my area or something

    • @GoodElectronics
      @GoodElectronics  4 года назад

      You can use resistors connected in parallel to 5v and pins

  • @abhijithspillai5530
    @abhijithspillai5530 4 года назад

    Sir How Can I find out My Matrix.....Also Can You Tell me How to Make That Board You Made That Connects all Components........ Have Got 61 Keys Will It Work On That...Thank You .......Please Reply ASAP

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Hi. I found my matrix by probing multimeter with continuity tester and checking which wires are able to short with the first wire. In your case it might me 7x6 matrix, so you only need to know where is this "split point" between 2 sets. To make a board you need to buy an universal board and solder resistor ladder to arduino (where it has a dot - connect 5v, other pins connect to input pins).

    • @abhijithspillai5530
      @abhijithspillai5530 4 года назад

      Sir You Have Helped Me So Much Thank You

    • @nandakesav1346
      @nandakesav1346 4 года назад

      Da pottan pille veendaatha panikeert poovenda

  • @jugaadumusicofficial79788
    @jugaadumusicofficial79788 3 года назад

    Can you please provide codes?

  • @aldrenelectronicsrepair8447
    @aldrenelectronicsrepair8447 4 года назад

    crazy key result

  • @asharjafferyshah
    @asharjafferyshah 3 года назад

    it's a great Can I get your live support to make this midi?

    • @GoodElectronics
      @GoodElectronics  3 года назад

      We can try to type on this chat :)

    • @asharjafferyshah
      @asharjafferyshah 3 года назад

      @@GoodElectronics Great ! I will inform you when I will require your help.

  • @lusiana1566
    @lusiana1566 3 года назад

    Please code for 8x8 keyboard

    • @GoodElectronics
      @GoodElectronics  3 года назад

      Hi. I tried to write instruction in code the cleariest i can, so you will be able to change the code to work with your combination.

  • @ramdhanrm7686
    @ramdhanrm7686 3 года назад

    super cool

  • @dantanimohit2072
    @dantanimohit2072 4 года назад

    Where can I buy this type of body of keyboard and circuit?

    • @GoodElectronics
      @GoodElectronics  4 года назад +1

      I don't know, you can buy cheap used keyboard, it would contain the same connection.

  • @victoranthony7700
    @victoranthony7700 4 года назад

    Hey nice video but I've been unsuccessful in getting the code and the resistor ladder... but I happen to have the keyboard and I would appreciate if you would send me the code

    • @GoodElectronics
      @GoodElectronics  4 года назад

      The code is in the pinned comment. You can use resistors connected in parallel to 5v and to your pins instead of the resistor ladder.

    • @victoranthony7700
      @victoranthony7700 4 года назад

      I still can't find it

    • @GoodElectronics
      @GoodElectronics  4 года назад +2

      Here you are:
      // Here's the CODE:
      // works with keyboards with matrix 7x8
      #define matrix1 7
      #define matrix2 8
      #include "MIDIUSB.h"
      int octave = 0; // add or subtract 8 for one octave
      bool currentState[matrix1 * matrix2];
      bool requestState[matrix1 * matrix2];
      void setup()
      {
      //-----matrix1 number of pins-------
      pinMode(A0,INPUT); //1
      pinMode(A1,INPUT); //2
      pinMode(A2,INPUT); //3
      pinMode(A3,INPUT); //4
      pinMode(14,INPUT); //5
      pinMode(15,INPUT); //6
      pinMode(16,INPUT); //7
      //-----matrix2 number of pins-------
      //each matrix2 pin must be one above the previous one
      pinMode(2,INPUT); //1
      pinMode(3,INPUT); //2
      pinMode(4,INPUT); //3
      pinMode(5,INPUT); //4
      pinMode(6,INPUT); //5
      pinMode(7,INPUT); //6
      pinMode(8,INPUT); //7
      pinMode(9,INPUT); //8
      }
      void loop()
      {
      readKeys();
      writeKeys();
      delay(1);
      }
      void readKeys()
      {
      for(int i=0; i

  • @Maryono-pg5le
    @Maryono-pg5le 3 года назад

    Im indonesia y cen speec idonesia

  • @HarshitBujarBaruah
    @HarshitBujarBaruah 3 года назад

    Fantastic project.

  • @dailystude
    @dailystude 4 года назад

    Is adding a sustain available for this type of circuit?

    • @GoodElectronics
      @GoodElectronics  4 года назад

      I don't know, I think it's available in midi programs.

  • @lusiana1566
    @lusiana1566 3 года назад

    Bagaimana cara menambah pitchbend?

  • @adasusunya8970
    @adasusunya8970 4 года назад

    please can u make a next version by using somekind of mp3 shield or anything. so u can play it without pc. :)

    • @GoodElectronics
      @GoodElectronics  4 года назад

      Arduino is very limited, so playing audio on it will be hard and playing multiple notes will be impossible as far as I know

    • @adasusunya8970
      @adasusunya8970 4 года назад

      @@GoodElectronics i have found a several video on youtube. they using vs 1503 as a midi sound bank. but i dont really know if it can play multiple notes. because that module in my country has a high price.