midilab / uCtrl

Arduino Library API interface for uMODULAR projects
https://midilab.co/umodular
MIT License
12 stars 1 forks source link

MPR121 support #4

Open 2b2a2t2 opened 1 year ago

2b2a2t2 commented 1 year ago

Hello ! Would it be possible to switch the 74HC4067 (touch multiplexer) for some MPR121 ? Those are pretty fast and connect via I2C which in the end saves a lot of pins (that could be used for some more CV/Gate)

Thanks

midilab commented 1 year ago

Are using 74HC4067 for anything rigth now? just curious.

I have to take a read at the datasheet to see if it worth the development for the project. I'll get back soon with some points for discussion of implmement the MPR121(maybe there is a better, lowercost and more avaliable CI out there, since that is the first premise of uCtrl library).

2b2a2t2 commented 1 year ago

I switched for a WT-32 SC01 Plus board (quite cheap with nice capacitive Display already implemented, works well with LVGL and LovyanGFX) but it has very few GPIO pins so I can't even plug one 4067, I found out you can plug in 4*MPR121 (0,70€ each-about the same as 74HC4067) with only i2c and it makes 48 buttons with only a few solders, electrodes don't have to be grounded and any metal part can be used. I just couldn't get your touch module to work but found the capacitive way much more pleasant so I made a volca sized controller... so far 48 buttons (and 48 Neopixels underneath) and 16 encoders (over MPC23017 also via i2C ), 3,5" screen... my MIDI-BLE sequencer works well on that thing but I'm wiling to implement those amazing functions that you did in Aciduino, I still can send you parts if you need.

midilab commented 1 year ago

the 74HC4067 touch driver was not finished actually and im note sure it will any time, i have too much noise for the schema and drivers, i've started working on it for the uOne prototype, but i couldn't get a good control over the electrodes using only software, that was pretty much why i didn't release uOne board.

MPR121 looks like a good addiction for uCtrl, its wide world avaliable and kinda of cheap for what it offers, stability or reads using hardware.

I bet we can multiplex only one MPR121 via 4051 to extend each electrode to +8 to avoid put 4xMPR121. So the driver will controls the MPR121 and x*4051 on multiplexing side. I think i can get one localy where i live to start some tests.

Im also curious about the volca sized controller you've made, can you share some photos? volca was a reference point on the uOne part for step buttons(a mix of volca and octatrack).

2b2a2t2 commented 1 year ago

A 6*6 matrix would make 36 buttons out of one single MPR121 but makes the hell of a soldering job... 4 boards tho is rather easy and comfortable... 1 button = 1 cable (no ground no noise no problem)