@@NotesAndVolts when you turn 2 pots do they work simultaneously? Meaning we can trigger two different parameters at the same time? Or just one at a time?
😮 Omg thats the project i am on to right now. Just finished the design of the pcb yesterday. You just made my day watching this work. Keep up the good work. Really good videos.
As long as the leakage currents aren't too great, you can connect the 4 COM outputs together and to a single analog pin on the Nano. And then use the Enable inputs of the four multiplexers to enable a single multiplexer at a time. Then you can have the 64 pots on a single analog pin. With 8 pins (and 8 of the lots-o-pots boards) you could have 512 pots!
You should check the linearity of the cc outputs. The analog mux does not cut the line completely but its disconnected pins become "Hi Z", making its connection to the COM ın the order of Megaohms. On the other hand adc input is low impedance, loading the source. If you use high resistance pots, it is possible that combination of pot positions may affech each other. Solution 1: use 10k or lower potentiometer, add a 4 to 16 decoder and connect same select signals to decoder input. Feed each output to the corresponding pot and energize only the pot that is being read. Solution 2: add buffer amplifier to mux output so that it can drive the adc without impedance effect.
6:45 64x 10k pots have common resistance of 156.25 Ohms, at 5 volts current will be 32 mA; total power = 0.16W. Plus consumption of 4 multiplexers of course.
Super job, however @thepcman is correct 10k pots @ 30mA is a better choice, the lower the source impedance the better, I think100k might be a bit high depending on the difference between 2 successive ADC samples. The ADC in the Atmel 328P uses an 8 channel multiplexer with a sample and hold capacitor so, with a high impedance source (100K worst case ) there might not be enough time to charge/discharge the the S/H capacitor properly, possibly leading to some strange readings. Below is a extract from the 328P datasheet page 212: "The ADC is optimized for analog signals with an output impedance of approximately 10k or less. If such a source is used, the sampling time will be negligible. If a source with higher impedance is used, the sampling time will depend on how long time the source needs to charge the S/H capacitor, with can vary widely. The user is recommended to only use low impedance sources with slowly varying signals, since this minimizes the required charge transfer to the S/H capacitor"
A trick used by ADC circuit designers is to use diodes to drop the voltage across the variable resistor. You'd have less usable ADC range, but could lower the value of the pots without excessive current draw. Two diodes would still give over 3/4 of the 1024 range. Since the voltage drop across diodes doesn't change, current draw won't affect your readings. A bonus is that if your ADC has non-linearity issues, you can put one diode on the + side and one on the ground, and the range ends (usually where non-linearity is worst) won't even be used.
To find the resistance in a situation like this where you have the same resistor in parallel, you just need to take the resistance of the resistor (100K) and divide it by the number of resistors (64). The answer would be 1.5, but that would be 1.5K, so if you times that by 1000 you get just the ohm amount.
@@NotesAndVolts have you ever done anything on the Arduino with DMX? Would love to see how to wire an analog 5-pin and/or 3-pin DMX port to an Arduino. I presume it's similar to the way you wired the MIDI port here?
Amazing project !!! i don't find the code 1.4 on your website (only the 1.2 is available). Could you please share the code and the PCB conception file? you don't talk about the mux lib in your video, this is works with MCD74HC4067 also?
@@MoritzLuznerthe Messages are send so fast that you won’t notice they are processed sequentially. It always works like that with midi streams. 1 by 1 at blazing speed
all depends on what refresh rate you want, the ATmega328p datasheet specifies the adc max rate to 15000 reads/sec, so if u only need a refresh rate of for example 30 you just divide 15000/30=500 so the number of pots you can connect in that case is 500, to do this you can cascade the 16to1 analog mux with 16 others witch would give 16x16 = 256 and then use two analog inputs of the nano for a max number of inputs to 512
Nice video! Personally I struggled with unstable pots readings, but finally I was able to write class for handling potentiometer, which used hysteresis to get rid of bad readings. Moreover, I added callbacks to be able to react to a certain events (e.g. value change, going up, going down etc.)
Can arduino read multiple pots at the same time? i.e. if you turn 2 at the same time will the DAW get signal from all at the same time or one after the other?
I haven't seen the code to kkow for sure, but the midi signals can't be sent concurrently anyway because there's only one data wire, but the time difference is practically nonexistent
@@romeolz thanks for that. This is interesting, so technically the signal would go one after another and not simultaneously, but the time between them would be a fraction of a second (or millisecond) and almost unnoticable if I understand correctly?
Would you ve able to provide a list of what footprints you used for each component? Noob to KiCad and could use some direction on selecting the right components.
Since it is a multiplexer you should be able to use all 64 pots at the same time. They are read in succession, not on interrupt. BUT: the bottleneck would be the transmission speed of the MIDI signals, which is 31.25 b/s. The MIDI packets are 8 bits. That means you can send 31250/8 =3906.25 messages per second on one MIDI channel. That is about 61 cc msg/knob 🙂.In theory. I bet there are other factors that I don't know about or did take into calculation. But roughly it should be in the right ballpark at least 🙂 OR! It is a trick question... He can only use two knobs since he only have two hands? ;-)
The nano actually has 8 analog inputs :) A6 and A7 are analog only pins, as where A0-A5 are multi use. Most tutorials ignore these pins because they have extra rules if it where. Anyway. I would say not 96, but 128 pots without resorting to other tricks like multiplexing the multiplexers with chip select pins.
just curious. What is the overhead time in case I grow 64 pairs of fingers and twiddle all of them at once? ;-) also, how difficult would it be to have some sort of 'learning patterns of behaviour' algorithms built-on in order to match certain POB so the individual pot has the appearance of being there all the time by the controlee? Thanks!
@@NotesAndVolts does that mean that if I'd substitute the pots with pressure sensitive resistors I'd have a 64 key keyboard with velocity and aftertouch capability? that would be something!
Thank you for this awesome video! I am trying to build an interface for the BP synth and thought I use the code from this for a midi controller to the BP synth. I notice there is a difference between the code you supply in the notes and on the video. Would it be possible to get version 1.4? Thanks again for the great videos.
Ive adapted his sketch for a BP synth based on the controls I'd want to use (32 potentiometers and 6 switches). Just trying to figure out the best way to insert it between my serial MIDI keyboard and the BP synth. Not sure if I can include a MIDI.read statement or possibly a MIDI thru to the existing sketch from this video, or if I need to build a separate MIDI host/hub that will accept two MIDI in and one MIDI out.
Do you have the code for that? I am using an Arduino Micro with four 74HC40512 Multiplexers. It's USB MIDI compliant. So I don't have to use the MIDI Din adapter. I have followed you since the first controller video. I appreciate all you do!
The code link is in the video description. This program uses direct port mapping for the Uno/Nano so it would need modification for other models. Plus you would need to replace the Midi library code with the USBMidi library.
I have built a midicontoller a couple of years back based on this code (already with 4 multiplexers on a Uno) Im planning to migrate it to USB midi coming weeks with some code adjustments.
Hey guys, I have an arduino micro here and I would love to do the same stuff with USB MIDI. Can you please let me know, when you have some code? I am quite new to this and would very much appreciate some code I can learn from!
I am under the impression you can only read one pot at a time with a mux. This means you can't turn two pots at the same time and get them to send data. Is this correct?
@ sort of. You can't send more than one data point at a time, but apparently it's happening so fast it doesn't really matter. Or that's what people say. And I built a test with 8 pots and it seems to be ok. From what I can't tell it's only one piece of data that is sent per check, but the code loops run so many times per second that it's checking everything within milliseconds.
Thanks for the awesome videos, which Arduino is capable of handling MIDI usb also with LCD and sd card? I am doing a midi controller project that open MIDI file from SD, play it back on MIDI usb out, while receiving some controls from MIDI in and shows some info on LCD, what do you suggest for hardware/software?
Would all this muxing work with FSRs? and what about latency? Is it possible to avoid it and have real time readings and conversion to midi? I am planning on building fsr matrix with around 64 inputs, converting it to midi. So far i've bought arduino and make 5 of fsr work on analog inputs. Struggled as it is my first project ever, but it was a good day!
13:16 wrong. if you not powers Lots-o-Pots 5V from output pins of µC you will not exceed 200mA limitation. You project is powered from USB or from AC/DC adapter, so Atmega chip limitation is not involved at all.
@@raphanunu6912 wrong. bc for regulated output need Vin to be attached to 7-15V source. in this case whole circuit should not exceed 100mA, the maximum power of regulator. of course by using USB as source this regulator is omitted and then Atmega chip limitation is not involved at all.
@@raphanunu6912 you must not trust only my words, bc it is not my invention or product. look on schematic. if you not able to read it yet, ask on arduino forum.
You can, but the program I use for this example uses direct port mapping to speed up the mux pin changes. This works on the Uno/Nano but might need to be modified for other models.
Just made one with 32 pots. One of the 2 mux circuits behaves as it should. The other its very strange and unstable. When you turn a pot the pots next to it get voltage change whith result erratic midi signals...cant find solution yet. Maybe bad pcb design? 😢
The code you linked goes to an older blog post that contains V1.2 of the controller - in this video you're using V1.4. Is there a difference when using the Nano? The code in V1.2 says it is for the UNO only. Thanks.
The mux doesn't matter. The Arduino only ever reads one input at a time. It just does it so fast that it seems like it is reading all the pots at once.
I've done the math as you taught it (but for 50K pots), and I ended with a total of 781.2 Ohm of resistance (for 64x 50K pots) , which would result in a total current draw of 0.0064A. But... did I do the calculations right? I got no one around me to ask. (I couldn't find the 100K faders I liked. But there's nice 50K faders on Alie-express)
@@NotesAndVolts "OMG! Why are things spiraling in towards the nano?! " Breaking News: Notes and Volts' lab creates the first electronic singularity ...
how do i convert serial to midi .Hairless midi isn't available for windows 10 anymore does anyone know how to make a midi controller using a nano ,uno or a mega. (i have these lying around . too broke to buy zero, due or leonardo🥺)
When parallel resistors are the same size, you can simply divide a single resistor value by the number of parallel resistors. Again, this only works when all resistors are the same size.
@@raphanunu6912 my original comment is not refered to your answer on my comment, but in video statement is 2:12 "The Arduino Nano have six analog inputs" which is definitely wrong. You wriote about 1 ADC in the chip functionality which have 1 input, its true but change nothing in my "Arduino Nano has 8 analog input pins." comment.
Are any of the "dual axis rotary encoders" my search patterns have managed to generate for me on some of the sales sites actually real? 64 of these from Alpine Alps is going to run me almo0st a thousand bucks from Digikey or Mouser, but maybe that is just the reality I dove into. 64 pots is not far behind for long-lasting ones. it is for a matrix mixer project, thanks I am thinking 1/10th of that budget into a redesign using touch screen may be the ticket out, but (conjuring the "I Like Turtles" kid. "I LIKE FONDLING KNOBS" ;0
Problem - if all pots are set to minimum you get almost a short and will likely blow the Arduino. Solution - 1 x 270ohm Resistor in series to ensure no more than 20mA flows regardless of pot settings.
I could use your help! I entered this code into the IDE and keep getting an error message. Any Idea? ERROR: error: 'MP01' was not declared in this scope Pot *MUXPOTS[] {&MP01, &MP02, &MP03, &MP04, &MP05, &MP06, &MP07, &MP08, &MP09, &MP010, &MP011, &MP012, &MP013, &MP014, &MP015, &MP016, &MP017, &MP018, &MP019, &MP020, &MP021, &MP022, &MP023,&MP024, &MP025, &MP026, &MP027, &MP028, &MP029, &MP030, &MP031, &MP032, &MP033, &MP034, &MP035, &MP036, &MP037, &MP038, &MP039, &MP040, &MP041, &MP042, &MP043, &MP044, &MP045, &MP046, &MP047, &MP048, &MP049, &MP050, &MP051, &MP052, &MP053, &MP054, &MP055, &MP056, &MP057, &MP058, &MP059, &MP060, &MP061, &MP062, &MP063, &MP064 ^~~~ This something about a suggested alternative. Any help would be appreciated greatly!
This project has so much potential.
Thanks BlackDuke!
Very funny.
Lol
OMG I just got the joke LoL!
@@NotesAndVolts when you turn 2 pots do they work simultaneously? Meaning we can trigger two different parameters at the same time? Or just one at a time?
Thank you for providing me with all the required info to start building myself a programmer for the DX7
😮 Omg thats the project i am on to right now. Just finished the design of the pcb yesterday. You just made my day watching this work. Keep up the good work. Really good videos.
Thanks so much marios!
How did you design the PCB? Do you have a file you would be willing to share?
As long as the leakage currents aren't too great, you can connect the 4 COM outputs together and to a single analog pin on the Nano. And then use the Enable inputs of the four multiplexers to enable a single multiplexer at a time. Then you can have the 64 pots on a single analog pin. With 8 pins (and 8 of the lots-o-pots boards) you could have 512 pots!
Thanks for the info Tom!
You should check the linearity of the cc outputs. The analog mux does not cut the line completely but its disconnected pins become "Hi Z", making its connection to the COM ın the order of Megaohms. On the other hand adc input is low impedance, loading the source. If you use high resistance pots, it is possible that combination of pot positions may affech each other.
Solution 1: use 10k or lower potentiometer, add a 4 to 16 decoder and connect same select signals to decoder input. Feed each output to the corresponding pot and energize only the pot that is being read.
Solution 2: add buffer amplifier to mux output so that it can drive the adc without impedance effect.
Thanks for this info! I'll look into it.
Any idea why I thought 74HC were buffered?
Really information rich, great video!
Thanks Ben!
you are amazing. i learnt so much in this video
I'm so glad!
6:45 64x 10k pots have common resistance of 156.25 Ohms, at 5 volts current will be 32 mA; total power = 0.16W. Plus consumption of 4 multiplexers of course.
this will drawn from +5V line, not from arduino.
Super job, however @thepcman is correct 10k pots @ 30mA is a better choice, the lower the source impedance the better, I think100k might be a bit high depending on the difference between 2 successive ADC samples. The ADC in the Atmel 328P uses an 8 channel multiplexer with a sample and hold capacitor so, with a high impedance source (100K worst case ) there might not be enough time to charge/discharge the the S/H capacitor properly, possibly leading to some strange readings. Below is a extract from the 328P datasheet page 212:
"The ADC is optimized for analog signals with an output impedance of approximately 10k or less. If such a source is used,
the sampling time will be negligible. If a source with higher impedance is used, the sampling time will depend on how long
time the source needs to charge the S/H capacitor, with can vary widely. The user is recommended to only use low
impedance sources with slowly varying signals, since this minimizes the required charge transfer to the S/H capacitor"
Thanks for the info! I'll didn't notice any ill effects but I'll definitely look into it.
A trick used by ADC circuit designers is to use diodes to drop the voltage across the variable resistor. You'd have less usable ADC range, but could lower the value of the pots without excessive current draw. Two diodes would still give over 3/4 of the 1024 range. Since the voltage drop across diodes doesn't change, current draw won't affect your readings. A bonus is that if your ADC has non-linearity issues, you can put one diode on the + side and one on the ground, and the range ends (usually where non-linearity is worst) won't even be used.
To find the resistance in a situation like this where you have the same resistor in parallel, you just need to take the resistance of the resistor (100K) and divide it by the number of resistors (64). The answer would be 1.5, but that would be 1.5K, so if you times that by 1000 you get just the ohm amount.
That traffic flow analogy is maybe the best one I've heard lol
Thank you Elsif
You're a legend, Dave!
Thank you!
@@NotesAndVolts have you ever done anything on the Arduino with DMX? Would love to see how to wire an analog 5-pin and/or 3-pin DMX port to an Arduino. I presume it's similar to the way you wired the MIDI port here?
Love this channel, very inspiring :)
Thanks so much!
Amazing project !!! i don't find the code 1.4 on your website (only the 1.2 is available). Could you please share the code and the PCB conception file? you don't talk about the mux lib in your video, this is works with MCD74HC4067 also?
Interesting 🤔What happens when 2 or more pots are adjusted at the same time? Which gets preference? Does it work as a polyphonic input?
i want to know this too
@@MoritzLuznerthe Messages are send so fast that you won’t notice they are processed sequentially. It always works like that with midi streams. 1 by 1 at blazing speed
ok thank you!
all depends on what refresh rate you want, the ATmega328p datasheet specifies the adc max rate to 15000 reads/sec, so if u only need a refresh rate of for example 30 you just divide 15000/30=500 so the number of pots you can connect in that case is 500, to do this you can cascade the 16to1 analog mux with 16 others witch would give 16x16 = 256 and then use two analog inputs of the nano for a max number of inputs to 512
Thanks Jannik! Great info
Nice video! Personally I struggled with unstable pots readings, but finally I was able to write class for handling potentiometer, which used hysteresis to get rid of bad readings. Moreover, I added callbacks to be able to react to a certain events (e.g. value change, going up, going down etc.)
Very nice!
Did you publish somewhere ? That's very interesting.
@@raphanunu6912 Sure! Here you have it, just written in C:
uint32_t AD_RES_BUFFER[2];
struct HysteresisPot{
int16_t margin;
int16_t prevVal;
int16_t currVal;
int16_t upperBoundary, lowerBoundary;
int change;
};
void POT_InitStruct(struct HysteresisPot *instance){
instance->margin = 31;
instance->prevVal = 0;
instance->currVal = 0;
instance->change = 0;
}
int16_t POT_Process(struct HysteresisPot *instance, int16_t input){
instance->upperBoundary = instance->currVal + instance->margin;
instance->lowerBoundary = instance->currVal - instance->margin;
if (input < instance->lowerBoundary || input > instance->upperBoundary) {
instance->prevVal = instance->currVal;
instance->currVal = input;
instance->change = 1;
}
else {
instance->change = 0;
}
return instance->currVal;
}
struct HysteresisPot pot[POTS];
@@Krzychu-bh4rl I'll have a glance, cheers.
Shortcut calc for identical parallel resistors is value divided by number of resistors. 👍
Thank you!
the resistor part of this video blow my mind , thanks
Great to hear!
Can arduino read multiple pots at the same time? i.e. if you turn 2 at the same time will the DAW get signal from all at the same time or one after the other?
This is what I was wondering! What happens if you turn two or more pots on the same multiplexer? I might have to build this thing to see
I haven't seen the code to kkow for sure, but the midi signals can't be sent concurrently anyway because there's only one data wire, but the time difference is practically nonexistent
@@romeolz thanks for that. This is interesting, so technically the signal would go one after another and not simultaneously, but the time between them would be a fraction of a second (or millisecond) and almost unnoticable if I understand correctly?
@@iamdigilog the arduino runs so quickly that the time difference could be in the microsecond range, midi messages are only a few bytes
Would you ve able to provide a list of what footprints you used for each component? Noob to KiCad and could use some direction on selecting the right components.
Im still curious how many knobs can you use at the same time? Amazing project thanks for sharing!
i want to know this too!
Since it is a multiplexer you should be able to use all 64 pots at the same time. They are read in succession, not on interrupt. BUT: the bottleneck would be the transmission speed of the MIDI signals, which is 31.25 b/s. The MIDI packets are 8 bits. That means you can send 31250/8 =3906.25 messages per second on one MIDI channel. That is about 61 cc msg/knob 🙂.In theory.
I bet there are other factors that I don't know about or did take into calculation. But roughly it should be in the right ballpark at least 🙂
OR! It is a trick question... He can only use two knobs since he only have two hands? ;-)
Nice work pal Dave. Like that multiplexer chip.
Thanks Mark!
The nano actually has 8 analog inputs :) A6 and A7 are analog only pins, as where A0-A5 are multi use.
Most tutorials ignore these pins because they have extra rules if it where.
Anyway. I would say not 96, but 128 pots without resorting to other tricks like multiplexing the multiplexers with chip select pins.
just curious. What is the overhead time in case I grow 64 pairs of fingers and twiddle all of them at once? ;-)
also, how difficult would it be to have some sort of 'learning patterns of behaviour' algorithms built-on in order to match certain POB so the individual pot has the appearance of being there all the time by the controlee?
Thanks!
On all controllers, the pots are read one at a time. The microcontroller can scan them so quickly that it seems like they are all active at once.
@@NotesAndVolts does that mean that if I'd substitute the pots with pressure sensitive resistors I'd have a 64 key keyboard with velocity and aftertouch capability? that would be something!
Thank you for this awesome video! I am trying to build an interface for the BP synth and thought I use the code from this for a midi controller to the BP synth. I notice there is a difference between the code you supply in the notes and on the video. Would it be possible to get version 1.4? Thanks again for the great videos.
Ive adapted his sketch for a BP synth based on the controls I'd want to use (32 potentiometers and 6 switches). Just trying to figure out the best way to insert it between my serial MIDI keyboard and the BP synth. Not sure if I can include a MIDI.read statement or possibly a MIDI thru to the existing sketch from this video, or if I need to build a separate MIDI host/hub that will accept two MIDI in and one MIDI out.
Do you have the code for that? I am using an Arduino Micro with four 74HC40512 Multiplexers. It's USB MIDI compliant. So I don't have to use the MIDI Din adapter. I have followed you since the first controller video. I appreciate all you do!
yeah me to i want the code for usbmidi plaese
The code link is in the video description. This program uses direct port mapping for the Uno/Nano so it would need modification for other models. Plus you would need to replace the Midi library code with the USBMidi library.
@@NotesAndVolts Thank you very much. I am working on it today. :)
I have built a midicontoller a couple of years back based on this code (already with 4 multiplexers on a Uno) Im planning to migrate it to USB midi coming weeks with some code adjustments.
Hey guys, I have an arduino micro here and I would love to do the same stuff with USB MIDI. Can you please let me know, when you have some code? I am quite new to this and would very much appreciate some code I can learn from!
I am under the impression you can only read one pot at a time with a mux. This means you can't turn two pots at the same time and get them to send data. Is this correct?
I have the same question. Do you have a answer?
@ sort of. You can't send more than one data point at a time, but apparently it's happening so fast it doesn't really matter. Or that's what people say. And I built a test with 8 pots and it seems to be ok.
From what I can't tell it's only one piece of data that is sent per check, but the code loops run so many times per second that it's checking everything within milliseconds.
You gave yourselves the answer !
Thanks for the awesome videos, which Arduino is capable of handling MIDI usb also with LCD and sd card? I am doing a midi controller project that open MIDI file from SD, play it back on MIDI usb out, while receiving some controls from MIDI in and shows some info on LCD, what do you suggest for hardware/software?
Great video thanks Dave!
Glad you liked it!
How many pots (message) of them can you use at the same time?
All of them if you have enough hands.
You are super inspiring!!
Hello! Where can I download - gerber files - for this wonderful project of yours, so that I can collect it from your Video?
Would all this muxing work with FSRs? and what about latency? Is it possible to avoid it and have real time readings and conversion to midi?
I am planning on building fsr matrix with around 64 inputs, converting it to midi. So far i've bought arduino and make 5 of fsr work on analog inputs. Struggled as it is my first project ever, but it was a good day!
13:16 wrong. if you not powers Lots-o-Pots 5V from output pins of µC you will not exceed 200mA limitation. You project is powered from USB or from AC/DC adapter, so Atmega chip limitation is not involved at all.
The 5V comes from the Nano regulated output, so...
@@raphanunu6912 wrong. bc for regulated output need Vin to be attached to 7-15V source. in this case whole circuit should not exceed 100mA, the maximum power of regulator. of course by using USB as source this regulator is omitted and then Atmega chip limitation is not involved at all.
If you say it...
@@raphanunu6912 you must not trust only my words, bc it is not my invention or product. look on schematic. if you not able to read it yet, ask on arduino forum.
I do like an overkill project.
Now to map all the pots to different things in your rig!
Imagine mixing a 64 track song on this. LoL!
Where can we find the V1.4 code please ?
can you make this with a pro micro atmega 32u4
You can, but the program I use for this example uses direct port mapping to speed up the mux pin changes. This works on the Uno/Nano but might need to be modified for other models.
@@NotesAndVolts can you write the code for midiusb please
@@NotesAndVolts but can you White the program voor midiusb please
@@edwinnieuwenhuis1930 I asked Chat GPT and he wrote me the code, but it needs to be corrected :))
@@kaki33a Chat GPT is a cheater !
Just made one with 32 pots. One of the 2 mux circuits behaves as it should. The other its very strange and unstable. When you turn a pot the pots next to it get voltage change whith result erratic midi signals...cant find solution yet. Maybe bad pcb design? 😢
There are so many Nano versions so I don't understand which one to get? Live in Sweden.
The code you linked goes to an older blog post that contains V1.2 of the controller - in this video you're using V1.4. Is there a difference when using the Nano? The code in V1.2 says it is for the UNO only. Thanks.
Same proc, same code !
Hi mate. Can’t to see code in link.😢
Does anyone know how this is possible without using MUX? Wanting to be able to turn multiple pots at once
The mux doesn't matter. The Arduino only ever reads one input at a time. It just does it so fast that it seems like it is reading all the pots at once.
@@NotesAndVolts Thank you mate! I'm a complete beiginner - realised this a couple days after commenting. Thanks buddy:)
The sketch only works when connected via MIDI? If I want to connect Arduino via USB, will it work?
Is everything the same wire and code when using faders instead of pot meters. Thank you
Yes it is.
Good stuff! Thanks!
Thank you!
One really needs to get about 31 friends so everyone can grab two pots and twist at the same time ...
LoL!
If you got friends in the ape family, only 7 are required !
how about reliability handle analog input with multiplexer, is there any problem or is as good as using direct analog pin (A0,A1...etc)
It's reliable, products from Korg or Roland work like this.
Or, you can just use 5 / 100000 * 64 to find the current directly.
Can you make customize sound on this?
This is a Midi controller
how many knobs can you use at the same time?
All of them
Thank You for 'doing the math' on this territory.
You are a prince amongst men.
Thank you :)
Hello. The link to the code shows a file with description to be V1.2 only arduino uno. Is it still OK with Pro micro ?
you can add another 64 pots because there is 8 anolog inputs on the nano. Mind blows.
A plethora of pots! LoL
I get this error:
Compilation error: 'POTS' was not declared in this scope
Any help?
Great Midi controller for Ableton Live!
I've done the math as you taught it (but for 50K pots), and I ended with a total of 781.2 Ohm of resistance (for 64x 50K pots) , which would result in a total current draw of 0.0064A.
But... did I do the calculations right? I got no one around me to ask. (I couldn't find the 100K faders I liked. But there's nice 50K faders on Alie-express)
Your calculation is correct at 6.4mA of current. 50K pots will work fine.
@@NotesAndVolts Thank you so much.
Thanks man, some folks want to charge big bucks for this info
Tell me who, I love big bucks !
Thank goodness, the nano didn't create a local black hole and suck in the universe!
Yet...
@@NotesAndVolts "OMG! Why are things spiraling in towards the nano?! "
Breaking News: Notes and Volts' lab creates the first electronic singularity ...
And I thought he'd be extra smart about it and just setup a key matrix. 8 analog inputs, 8 strobed outputs.
I came for a midi controller and I'm leaving with a time machine
how do i convert serial to midi .Hairless midi isn't available for windows 10 anymore does anyone know how to make a midi controller using a nano ,uno or a mega. (i have these lying around . too broke to buy zero, due or leonardo🥺)
I guess you found, didn't you ?
Very very cool
Thank you :)
When parallel resistors are the same size, you can simply divide a single resistor value by the number of parallel resistors. Again, this only works when all resistors are the same size.
As you like precision, you'd better say the same value, not size.
@@raphanunu6912 Indeed. Thank you.
But.... did any of the chickens get hurt?
Just a few 😄
Godd! Thanks!
(But the I= U/R )😉
Unterschied!
2:12 WRONG! Arduino Nano has 8 analog input pins.
One in fact but multiplexed
@@raphanunu6912 wrong. ADC is not the same thing as Analog Input Pin.
@@smert_okupantam This is not what I wrote ! There's only ONE converter.
@@raphanunu6912 my original comment is not refered to your answer on my comment, but in video statement is 2:12 "The Arduino Nano have six analog inputs" which is definitely wrong. You wriote about 1 ADC in the chip functionality which have 1 input, its true but change nothing in my "Arduino Nano has 8 analog input pins." comment.
64 pots 1 cup
Are any of the "dual axis rotary encoders" my search patterns have managed to generate for me on some of the sales sites actually real?
64 of these from Alpine Alps is going to run me almo0st a thousand bucks from Digikey or Mouser, but maybe that is just the reality I dove into.
64 pots is not far behind for long-lasting ones.
it is for a matrix mixer project, thanks
I am thinking 1/10th of that budget into a redesign using touch screen may be the ticket out, but (conjuring the "I Like Turtles" kid.
"I LIKE FONDLING KNOBS" ;0
This won't work with rotary encoders, only potentiometers. And you shouldn't be paying more than $64 for 64 pots! You can get them cheaper.
17:50 there is a better way to create 64 potentiometer array...
Certainly, there's always a better way to make things, provided things are made...
Problem - if all pots are set to minimum you get almost a short and will likely blow the Arduino. Solution - 1 x 270ohm Resistor in series to ensure no more than 20mA flows regardless of pot settings.
Sorry this is not true. The wipers of the pots are connected to the Arduinos analog inputs which have a high resistance. They will never be grounded.
Not at all. The cursor place doesn't change the whole value !
Wonderful stuff.
I could use your help! I entered this code into the IDE and keep getting an error message. Any Idea?
ERROR:
error: 'MP01' was not declared in this scope
Pot *MUXPOTS[] {&MP01, &MP02, &MP03, &MP04, &MP05, &MP06, &MP07, &MP08, &MP09, &MP010, &MP011, &MP012, &MP013, &MP014, &MP015, &MP016, &MP017, &MP018, &MP019, &MP020, &MP021, &MP022, &MP023,&MP024, &MP025, &MP026, &MP027, &MP028, &MP029, &MP030, &MP031, &MP032, &MP033, &MP034, &MP035, &MP036, &MP037, &MP038, &MP039, &MP040, &MP041, &MP042, &MP043, &MP044, &MP045, &MP046, &MP047, &MP048, &MP049, &MP050, &MP051, &MP052, &MP053, &MP054, &MP055, &MP056, &MP057, &MP058, &MP059, &MP060, &MP061, &MP062, &MP063, &MP064
^~~~
This something about a suggested alternative. Any help would be appreciated greatly!
Seriously ?