@ pusbutton:
the LEDs in the shematic are REVERSED
for example look into: http://ucapps.de/mbhp/mbhp_doutx4_32leds.pdf
but in the board itself the Silkscreen for the Diode is painted correct - so if somebody just solder the PCB without looking into the Shematic - all is good, when someone look into the shematic he may be confused a bit.
what type off Switch are using here > type it on the silkscreen - like you did on the Potentiometerboard.
because: i see in the footprint its a le mec > then there are different types, with different Switch contacts - like you see here:
5GTH9 + 5ETH9 will work, while 5GTH9 with inbuilt LED will not work off course…
i for me find the correct switch matching to your PCBs Footprint-Pinout - a bit hard… so label the type…
the rest off the PCB looks ok.
1 Like
@ Faderboard 1 & 2
Mounting holes labeling not necessery again.
rest is ok.
you may could label + and - beside the 2x5 shroudet Pinheaders, so there is no chance someone reverse it in a way… in generell… normally the Nose- says all, but someone could crimp the cable incorrect… so if he controll measure, this is a good hint then for him.
1 Like
ksir
May 19, 2023, 10:07am
23
Thank you for these tips, I modified the files
I ordered the uln2803 and the 74HCT1G14GW-Q100H to test the RGB PEL12T encoders, but I haven’t managed to solve the problem yet. While waiting to solve the problem with the PEL12T RGB encoders, I developed circuits for the PEC16 encoders that I have in stock.
https://drive.google.com/file/d/1HiJ8JmOTWMXAXDr4jsRvSmx43k4zEgOv/view?usp=share_link
I also finished the files for the 4x2 silicon sparkfun pads.
https://drive.google.com/file/d/1pefRBtEz9XU68osIdfHJXfBManKkIZye/view?usp=share_link
I started to document the project
https://ksir-diy.blogspot.com/2023/05/modulbox-v2.html?m=1
ksir
June 4, 2023, 10:35am
24
Hi, any news about your project?
that’s great idea to build in modular boxes for move or replace just one module if necessary.
I am impressed, after lot of work it becomes reality.
I recommend you to try to find Mackie fader cap, they are more narrow,
but it depends on your lever type of course.
ksir
June 28, 2023, 6:36pm
28
I would need help with the power supply, I want to power at least 264 ws2812b leds, maybe more in the future,
several dout modules,
in the future surely 8 oled screens, and I’m sure I’m forgetting some.
I wonder what power supply to buy and how to connect it.. I thought I would take 5v 10a..
https://secure.reichelt.com/fr/fr/bloc-d-alimentation-d-coupage-ferm-50-w-5-v-10-a-mw-lrs-50-5-p202960.html?&trstct=pol_4&nbc=1
I already have this usb hub:
https://secure.reichelt.com/fr/fr/hub-usb-3-0-4-ports-avec-bloc-d-alimentation-en-m-tal-logilink-ua0149-p127833.html?&nbc=1
Thank you for your help
the ssd1306 oleds i received where 5V tolerant… the ws2812b is also in a range from 3.3-5.3V, dout modules also needs 5V… so your reichelt psu should do the job, and you could power them directly from the psu… but i guess you power them with the ribbon cables from your core…
i dont know what Core you will use? if you use the WCORE from midiphy, then you may ran into some problems when using a external 5V PSU, see this topic:
https://forum.midiphy.com/d/151-wcore-non-usb-powerd-but-still-use-as-usb-device/5
also if you are unlucky you will get walking lines on your SSD1306 screens… then it best it would to buffer each D0 D1 Clock… Pins, which are done for example in this module:
http://wiki.midibox.org/doku.php?id=displaydriver-smd
a plus is then you can then use more then 8 screens!
1 Like
ksir
July 6, 2023, 5:55pm
30
I use MBHP_CORE_STM32F4.
http://www.ucapps.de/mbhp_core_stm32f4.html
can i just connect my psu to j2 and remove jumper j17?
Is there anything else to consider?
Thank you again for your help
j2/j17 should do the trick yes.
1 Like
ksir
July 16, 2023, 2:51pm
33
Unable to operate encoder #15
he is detected by mios studio
but he answers me: not event assigned,
yet I seem to have configured it like the other 15 which works well…
Thanks for your help
#Modulbox RESET\_HW # le SCS doit émuler les fonctions bouton/enc dans la page principale SCS soft1\_button\_emu\_id=2000 \ soft2\_button\_emu\_id=2001 \ soft3\_button\_emu\_id=2002 \ soft4\_button\_emu\_id=2003 \ shift\_button\_emu\_id=2004 \ enc\_emu\_id=2000 # Contrôlé à partir des boutons SCS à J10 dans la page principale EVENT\_BUTTON id=2000 type=Meta meta=SetBank button\_mode=OnOnly range=1:1 lcd\_pos=1:17:2 label="Bnk%q" EVENT\_BUTTON id=2001 type=Meta meta=SetBank button\_mode=OnOnly range=2:2 lcd\_pos=1:17:2 label="Bnk%q" EVENT\_BUTTON id=2002 type=Meta meta=SetBank button\_mode=OnOnly range=3:3 lcd\_pos=1:17:2 label="Bnk%q" EVENT\_BUTTON id=2003 type=Meta meta=SetBank button\_mode=OnOnly range=4:4 lcd\_pos=1:17:2 label="Bnk%q" EVENT\_BUTTON id=2004 type=Meta meta=EncFast:4 button\_mode=OnOff range=2:0 # l'encodeur SCS en J10 incrémente/décrémente simplement la banque # fonction redondante - pourrait être modifiée à l'avenir EVENT\_ENC id=2000 type=Meta meta=SetBank range=1:4 # le but de cet élément EVENT est d'imprimer la banque chaque fois que l'écran LCD est rafraîchi (par exemple après le démarrage ou le changement de banque) EVENT\_LED id=2000 fwd\_to\_lcd=1 lcd\_pos=1:1:2 label="Bank #%q" # ENC 1 - 8 /////////////////////////////////////////////////// # Classical Thermometer Pattern, Jaune #EVENT\_ENC id= 1 hw\_id = 1 bank=1 fwd\_id=RGBLED:2 rgbled\_pattern=1 hsv=50:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 16 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 # label="ENC #%3i %3d@(1:1:2)%B" # ENC 1 Moving Dot ,jaune EVENT\_ENC id= 1 hw\_id = 1 bank=1 fwd\_id=RGBLED:2 rgbled\_pattern=2 hsv=50:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 1 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # ENC 2 Moving Dot , Green EVENT\_ENC id= 2 hw\_id = 2 bank=1 fwd\_id=RGBLED:18 rgbled\_pattern=2 hsv=100:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 2 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # ENC 3 Moving Dot , RED EVENT\_ENC id= 3 hw\_id = 3 bank=1 fwd\_id=RGBLED:34 rgbled\_pattern=2 hsv=0:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 3 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # ENC 4 Moving Dot , Blue EVENT\_ENC id= 4 hw\_id = 4 bank=1 fwd\_id=RGBLED:50 rgbled\_pattern=2 hsv=200:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 4 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # ENC 5 Moving Dot Jaune EVENT\_ENC id= 5 hw\_id = 5 bank=1 fwd\_id=RGBLED:66 rgbled\_pattern=2 hsv=50:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 5 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # ENC 6 Moving Dot GREEN EVENT\_ENC id= 6 hw\_id = 6 bank=1 fwd\_id=RGBLED:82 rgbled\_pattern=2 hsv=100:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 6 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # ENC 7 Moving Dot RED EVENT\_ENC id= 7 hw\_id = 7 bank=1 fwd\_id=RGBLED:98 rgbled\_pattern=2 hsv=0:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 7 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # ENC 8 Moving Dot BLUE #label="Enc%3i&k@(1:4:6)%B&n@(1:19:5)%3d" EVENT\_ENC id= 8 hw\_id = 8 bank=1 fwd\_id=RGBLED:114 rgbled\_pattern=2 hsv=200:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 8 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # ENC 9-16 ///////////////////////////////////////////////////////// # Moving Dot Jaune EVENT\_ENC id= 9 hw\_id = 9 bank=1 fwd\_id=RGBLED:146 rgbled\_pattern=2 hsv=50:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 9 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # Moving Dot GREEN EVENT\_ENC id= 10 hw\_id = 10 bank=1 fwd\_id=RGBLED:162 rgbled\_pattern=2 hsv=100:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 10 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # Moving Dot RED EVENT\_ENC id= 11 hw\_id = 11 bank=1 fwd\_id=RGBLED:178 rgbled\_pattern=2 hsv=0:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 11 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # Moving Dot BLUE EVENT\_ENC id= 12 hw\_id = 12 bank=1 fwd\_id=RGBLED:194 rgbled\_pattern=2 hsv=200:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 12 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # Moving Dot Jaune EVENT\_ENC id= 13 hw\_id = 13 bank=1 fwd\_id=RGBLED:210 rgbled\_pattern=2 hsv=50:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 13 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # Moving Dot GREEN EVENT\_ENC id= 14 hw\_id = 14 bank=1 fwd\_id=RGBLED:226 rgbled\_pattern=2 hsv=100:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 14 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # Moving Dot RED EVENT\_ENC id= 15 hw\_id = 15 bank=1 fwd\_id=RGBLED:242 rgbled\_pattern=2 hsv=0:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 15 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" # Moving Dot BLUE EVENT\_ENC id= 16 hw\_id = 16 bank=1 fwd\_id=RGBLED:258 rgbled\_pattern=2 hsv=200:100:10 fwd\_to\_lcd=1 type=CC chn= 1 cc= 16 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_enc" #bouton poussoir encodeurs 1 EVENT\_BUTTON id= 66 fwd\_id=RGBLED:1 hsv=00:100:10 type=CC chn= 1 cc= 17 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 65 fwd\_id=RGBLED:17 hsv=0:100:10 type=CC chn= 1 cc= 18 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 68 fwd\_id=RGBLED:33 hsv=0:100:10 type=CC chn= 1 cc= 19 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 67 fwd\_id=RGBLED:49 hsv=0:100:10 type=CC chn= 1 cc= 20 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 70 fwd\_id=RGBLED:65 hsv=0:100:10 type=CC chn= 1 cc= 21 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 69 fwd\_id=RGBLED:81 hsv=0:100:10 type=CC chn= 1 cc= 22 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 72 fwd\_id=RGBLED:97 hsv=0:100:10 type=CC chn= 1 cc= 23 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 71 fwd\_id=RGBLED:113 hsv=0:100:10 type=CC chn= 1 cc= 24 button\_mode=Toggle label="^std\_btn" #bouton poussoir encodeurs 2 EVENT\_BUTTON id= 74 fwd\_id=RGBLED:145 hsv=00:100:10 type=CC chn= 1 cc= 25 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 73 fwd\_id=RGBLED:161 hsv=0:100:10 type=CC chn= 1 cc= 26 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 76 fwd\_id=RGBLED:177 hsv=0:100:10 type=CC chn= 1 cc= 27 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 75 fwd\_id=RGBLED:193 hsv=0:100:10 type=CC chn= 1 cc= 28 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 78 fwd\_id=RGBLED:209 hsv=0:100:10 type=CC chn= 1 cc= 29 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 77 fwd\_id=RGBLED:225 hsv=0:100:10 type=CC chn= 1 cc= 30 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 80 fwd\_id=RGBLED:241 hsv=0:100:10 type=CC chn= 1 cc= 31 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 79 fwd\_id=RGBLED:257 hsv=0:100:10 type=CC chn= 1 cc= 32 button\_mode=Toggle label="^std\_btn" #PADS EVENT\_BUTTON id= 33 fwd\_id=RGBLED:137 hsv=50:100:10 type=CC chn= 1 cc= 33 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 35 fwd\_id=RGBLED:138 hsv=100:100:10 type=CC chn= 1 cc= 35 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 37 fwd\_id=RGBLED:139 hsv=0:100:10 type=CC chn= 1 cc= 37 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 39 fwd\_id=RGBLED:140 hsv=200:100:10 type=CC chn= 1 cc= 39 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 34 fwd\_id=RGBLED:141 hsv=50:100:10 type=CC chn= 1 cc= 34 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 36 fwd\_id=RGBLED:142 hsv=100:100:10 type=CC chn= 1 cc= 36 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 38 fwd\_id=RGBLED:143 hsv=0:100:10 type=CC chn= 1 cc= 38 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 40 fwd\_id=RGBLED:144 hsv=200:100:10 type=CC chn= 1 cc= 40 button\_mode=Toggle label="^std\_btn" #PADS EVENT\_BUTTON id= 41 fwd\_id=RGBLED:129 hsv=50:100:10 type=CC chn= 1 cc= 41 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 43 fwd\_id=RGBLED:130 hsv=100:100:10 type=CC chn= 1 cc= 43 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 45 fwd\_id=RGBLED:131 hsv=0:100:10 type=CC chn= 1 cc= 45 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 47 fwd\_id=RGBLED:132 hsv=200:100:10 type=CC chn= 1 cc= 47 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 42 fwd\_id=RGBLED:133 hsv=50:100:10 type=CC chn= 1 cc= 42 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 44 fwd\_id=RGBLED:134 hsv=100:100:10 type=CC chn= 1 cc= 44 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 46 fwd\_id=RGBLED:135 hsv=0:100:10 type=CC chn= 1 cc= 46 button\_mode=Toggle label="^std\_btn" EVENT\_BUTTON id= 48 fwd\_id=RGBLED:136 hsv=200:100:10 type=CC chn= 1 cc= 48 button\_mode=Toggle label="^std\_btn" #switch # SWITCH BANK 1 EVENT\_BUTTON id=101 hw\_id = 57 bank=1 fwd\_id=LED:8 type=CC chn= 1 cc= 49 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=102 hw\_id = 58 bank=1 fwd\_id=LED:7 type=CC chn= 1 cc= 50 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=103 hw\_id = 59 bank=1 fwd\_id=LED:6 type=CC chn= 1 cc= 51 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=104 hw\_id = 60 bank=1 fwd\_id=LED:5 type=CC chn= 1 cc= 52 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=105 hw\_id = 61 bank=1 fwd\_id=LED:4 type=CC chn= 1 cc= 53 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=106 hw\_id = 62 bank=1 fwd\_id=LED:3 type=CC chn= 1 cc= 54 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=107 hw\_id = 63 bank=1 fwd\_id=LED:2 type=CC chn= 1 cc= 55 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=108 hw\_id = 64 bank=1 fwd\_id=LED:1 type=CC chn= 1 cc= 56 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=109 hw\_id = 49 bank=1 fwd\_id=LED:16 type=CC chn= 1 cc= 57 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=110 hw\_id = 50 bank=1 fwd\_id=LED:15 type=CC chn= 1 cc= 58 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=111 hw\_id = 51 bank=1 fwd\_id=LED:14 type=CC chn= 1 cc= 59 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=112 hw\_id = 52 bank=1 fwd\_id=LED:13 type=CC chn= 1 cc= 60 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=113 hw\_id = 53 bank=1 fwd\_id=LED:12 type=CC chn= 1 cc= 61 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=114 hw\_id = 54 bank=1 fwd\_id=LED:11 type=CC chn= 1 cc= 62 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=115 hw\_id = 55 bank=1 fwd\_id=LED:10 type=CC chn= 1 cc= 63 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" EVENT\_BUTTON id=116 hw\_id = 56 bank=1 fwd\_id=LED:9 type=CC chn= 1 cc= 64 button\_mode=Toggle lcd\_pos=1:1:1 label="^std\_btn" aINSER n= 1 enabled=1 muxed=1 cs=0 resolution=7bit aINSER n= 2 enabled=0 muxed=1 cs=1 resolution=7bit # AINSER BANK 1 EVENT\_AINSER id= 125 hw\_id = 1 bank=1 type=CC chn= 1 cc= 65 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 126 hw\_id = 2 bank=1 type=CC chn= 1 cc= 66 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 127 hw\_id = 3 bank=1 type=CC chn= 1 cc= 67 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 128 hw\_id = 4 bank=1 type=CC chn= 1 cc= 68 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 129 hw\_id = 5 bank=1 type=CC chn= 1 cc= 69 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 130 hw\_id = 6 bank=1 type=CC chn= 1 cc= 70 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 131 hw\_id = 7 bank=1 type=CC chn= 1 cc= 71 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 132 hw\_id = 8 bank=1 type=CC chn= 1 cc= 72 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 133 hw\_id = 9 bank=1 type=CC chn= 1 cc= 73 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 134 hw\_id = 10 bank=1 type=CC chn= 1 cc= 74 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 135 hw\_id = 12 bank=1 type=CC chn= 1 cc= 75 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 136 hw\_id = 13 bank=1 type=CC chn= 1 cc= 76 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 137 hw\_id = 14 bank=1 type=CC chn= 1 cc= 77 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 138 hw\_id = 15 bank=1 type=CC chn= 1 cc= 78 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 139 hw\_id = 16 bank=1 type=CC chn= 1 cc= 79 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 140 hw\_id = 17 bank=1 type=CC chn= 1 cc= 80 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 141 hw\_id = 18 bank=1 type=CC chn= 1 cc= 81 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 142 hw\_id = 19 bank=1 type=CC chn= 1 cc= 82 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 143 hw\_id = 20 bank=1 type=CC chn= 1 cc= 83 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 144 hw\_id = 21 bank=1 type=CC chn= 1 cc= 84 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 145 hw\_id = 22 bank=1 type=CC chn= 1 cc= 85 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 146 hw\_id = 23 bank=1 type=CC chn= 1 cc= 86 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 147 hw\_id = 24 bank=1 type=CC chn= 1 cc= 87 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 148 hw\_id = 25 bank=1 type=CC chn= 1 cc= 88 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 149 hw\_id = 26 bank=1 type=CC chn= 1 cc= 89 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 150 hw\_id = 27 bank=1 type=CC chn= 1 cc= 90 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 151 hw\_id = 28 bank=1 type=CC chn= 1 cc= 91 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 152 hw\_id = 29 bank=1 type=CC chn= 1 cc= 92 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 153 hw\_id = 30 bank=1 type=CC chn= 1 cc= 93 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 154 hw\_id = 31 bank=1 type=CC chn= 1 cc= 94 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 155 hw\_id = 32 bank=1 type=CC chn= 1 cc= 95 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 156 hw\_id = 33 bank=1 type=CC chn= 1 cc= 96 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 157 hw\_id = 34 bank=1 type=CC chn= 1 cc= 97 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 158 hw\_id = 35 bank=1 type=CC chn= 1 cc= 98 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 159 hw\_id = 36 bank=1 type=CC chn= 1 cc= 99 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 160 hw\_id = 37 bank=1 type=CC chn= 1 cc= 100 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 161 hw\_id = 38 bank=1 type=CC chn= 1 cc= 101 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 162 hw\_id = 39 bank=1 type=CC chn= 1 cc= 102 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" EVENT\_AINSER id= 163 hw\_id = 40 bank=1 type=CC chn= 1 cc= 103 range= 0:127 offset= 0 ports=1000100000001000 lcd\_pos=1:1:1 label="^std\_aser" # encoder hardware configuration ENC n= 2 sr= 1 pins=1:0 type=non\_detented ENC n= 1 sr= 1 pins=3:2 type=non\_detented ENC n= 4 sr= 1 pins=5:4 type=non\_detented ENC n= 3 sr= 1 pins=7:6 type=non\_detented ENC n= 6 sr= 2 pins=1:0 type=non\_detented ENC n= 5 sr= 2 pins=3:2 type=non\_detented ENC n= 8 sr= 2 pins=5:4 type=non\_detented ENC n= 7 sr= 2 pins=7:6 type=non\_detented ENC n= 10 sr= 3 pins=1:0 type=non\_detented ENC n= 9 sr= 3 pins=3:2 type=non\_detented ENC n= 12 sr= 3 pins=5:4 type=non\_detented ENC n= 11 sr= 3 pins=7:6 type=non\_detented ENC n= 14 sr= 4 pins=1:0 type=non\_detented ENC n= 13 sr= 4 pins=3:2 type=non\_detented ENC n= 16 sr= 4 pins=5:4 type=non\_detented ENC n= 15 sr= 4 pins=7:6 type=non\_detented
I take this opportunity to share with you a photo of my project
EDIT: First try my second post (see below this one)
try to not assign Encoder 16, and watch which 2 Buttons now are see-able in mios studio when turning the ENC 16 — is it 29 30?
since ENC15 is outputet as Buttons 31 32 in Mios Studio - so we can check if it is a neightbar on SR4…
How ever - i guess you use a encoder pcb which you use 2 times in your setup, so ENC 7 is the same as ENC 15? and ENC7 is working as it should? try to to not assign ENC 7+8 - it should be the same pinout like ENC15+16 (but a other Shiftregister)
some math: when ENC 15 is equivalent to Button 31 + 32, then ENC 7 movements should be button events = 32-16 = button 15/16, and ENC8 would be? 13/14? if so > 14+16 = 30 31 should be then Encoder 16?
i checked your shematics, and there is no change to wrongly assamble the sandwitch (the button pins are always on the outside of the Header J30-J33 - so this cant be the bug…
i guess u use standard DINx4 Modules to connect the boards, so a wrong pinout from this side cant be the bug too…
at NG Code i am familar with assigning Encoders to shiftregisters and pins > and it seems ok to me (when it is correct that Encoders starting at ENC Nr1 and not at ENC Nr0?)… about the rest of NG i have no glue.
are you sure that Encoders start with Number 1?
At least on Midibox-platform on the codeside (if you write a custom Midiboxproject) normally they start with Number 0, (also Buttons, AIN, Midichannels, CCs, Notes, i guess also Ledrings? …)
that would look there like this:
const mios32\_enc\_config\_t encoders[3] = {//(SR count-begin with 1, ENC with 0) // setup the Pinout of Encoders { .cfg.type=DETENTED1, .cfg.speed=SLOW,.cfg.speed\_par=1, .cfg.sr=8, .cfg.pos=0 },// 0 PAGE { .cfg.type=DETENTED1, .cfg.speed=SLOW,.cfg.speed\_par=3, .cfg.sr=8, .cfg.pos=2 },// 1 PAR 1 { .cfg.type=DETENTED1, .cfg.speed=SLOW,.cfg.speed\_par=3, .cfg.sr=8, .cfg.pos=4 }};// 2 PAR 2 u8 i;for(i=0; i\<3; ++i) { MIOS32\_ENC\_ConfigSet(i, encoders);}
they start with 0…
no idea if Thorsten, made it more “musican friendly” by make an offset “+1” behind the userinterface - so they start with 1 on Midibox NG?
my nose says…
give it a try:
ENC n= 1 sr= 1 pins=1:0 type=non_detented
ENC n= 0 sr= 1 pins=3:2 type=non_detented
ENC n= 3 sr= 1 pins=5:4 type=non_detented
ENC n= 2 sr= 1 pins=7:6 type=non_detented
ENC n= 5 sr= 2 pins=1:0 type=non_detented
ENC n= 4 sr= 2 pins=3:2 type=non_detented
ENC n= 7 sr= 2 pins=5:4 type=non_detented
ENC n= 6 sr= 2 pins=7:6 type=non_detented
ENC n= 9 sr= 3 pins=1:0 type=non_detented
ENC n= 8 sr= 3 pins=3:2 type=non_detented
ENC n= 11 sr= 3 pins=5:4 type=non_detented
ENC n= 10 sr= 3 pins=7:6 type=non_detented
ENC n= 13 sr= 4 pins=1:0 type=non_detented
ENC n= 12 sr= 4 pins=3:2 type=non_detented
ENC n= 15 sr= 4 pins=5:4 type=non_detented
ENC n= 14 sr= 4 pins=7:6 type=non_detented
ksir
July 23, 2023, 9:44am
36
Thank you again for your help
I tried :
# encode hardware configuration ENC n= 16 sr= 4 pins=5:4 type=non\_detented ENC n= 15 sr= 4 pins=7:6 type=non\_detented ENC n= 2 sr= 1 pins=1:0 type=non\_detented ENC n= 1 sr= 1 pins=3:2 type=non\_detented ENC n= 4 sr= 1 pins=5:4 type=non\_detented ENC n= 3 sr= 1 pins=7:6 type=non\_detented ENC n= 6 sr= 2 pins=1:0 type=non\_detented ENC n= 5 sr= 2 pins=3:2 type=non\_detented ENC n= 8 sr= 2 pins=5:4 type=non\_detented ENC n= 7 sr= 2 pins=7:6 type=non\_detented ENC n= 10 sr= 3 pins=1:0 type=non\_detented ENC n= 9 sr= 3 pins=3:2 type=non\_detented ENC n= 12 sr= 3 pins=5:4 type=non\_detented ENC n= 11 sr= 3 pins=7:6 type=non\_detented ENC n= 14 sr= 4 pins=1:0 type=non\_detented ENC n= 13 sr= 4 pins=3:2 type=non\_detented
It’s encoder 13 that didn’t work anymore
I moved the encoder hardware config code to the middle of the code, instead of putting it at the end, now it works
all encs are working? so its confirmed they start count with nr 1? thx 4 info.
ksir
July 23, 2023, 4:46pm
38
yes all encoders work,
after having pushed the tests a little, I have the impression that it is the accent (é) in the comments of my code which poses a problem and erases lines at the end of my ngc file
ksir
July 29, 2023, 7:36pm
39
Hello, I have a rebound problem with the sparkfun pads, do you have an idea how to fix this? Hardware? Software ?
Thanks
The rest works fine
1 Like
since you dont use a Button Led Matrix on this - where the driver is already programmed to be debounced… and you on the other hand connect the buttons directly to a DIN-Module - which i didnt have done yet, on the hardware side i would take a Voltmeter, and measure on the DIN-Pins, hand look how many Volts you have when you press the button… if it is 0V then all is good, if it is hardly above that, then you may change the Pull-Hi Resistors on the DIN Board to a other (higher) Value (As expiriment) - because the Rubber button is not a perfect Electric Contact (a tactil switch is more on "perfect) it might be that it cant Pull-Lo the Pull-Hi resistors (fighting)
@ software
you have to debounce the buttons in software - how?
i dont know the NG-script - so i cant help much here… maybe you start by posting how you defined the buttons in ng code… maybe i can see there something… It could be that there are set as toggle switches, in reality we wont some momentary switch - … maybe there is also some timining offset to be set (a time that says that no incoming DIN signal is handeld after a trigger accoured - so we avoid false triggering for example 20ms long… aka debouncing?)