• Content count

  • Joined

  • Last visited

Everything posted by FantomXR

  1. Adafruit Trelli

    Hey people, I was looking for cheap buttons that have an integrated RGB-LED. I was searching the internet but couldn't find anything affordable. So I looked for alternatives. I found Sparklefuns Button-Pads. They look great, but for me they are too big (15x15mm). So Adafruit has similar soft-buttons called "Trellis". They are smaller (10x10mm).  I downloaded their eagle-library and adapted it to my needs. The layout was made for 3mm single-color LEDs. You can find videos of it. They look already great. But wouldn't it be even more fun if we could add RGB LED? So I did. I  added WS2812 LEDs underneath each button in 3535 footprint. I needed to change the pad-layout a bit to make them fit.  To make it short: I made a layout, that has a HC165 on Board. The PCB is made for 4x4 Adafruit Elastomer but you could split it to get two single Boards with 4x2 each. You'd just have to set the correct solder-jumpers to make it work. Here is a picture of the layout: So if you want to use the upper 8 and the lower eight you have to bridge J1A and J2A and leave J1B and J2B open. If you want to break it and connect another of those boards to the right, you have to bridge J1B and J2B and leave the other two open.  I just noticed it misses one jumper. If you want to add a board to the right, you now need to manually solder a wire from the input of J1B at the top to the output of J1B at the bottom. This needs to be changed in the next revision. It was necessary to use SMD parts for the whole design to make it fit. The connection of the boards is made through edge-SMD-pads like in the original design. To make it more stable there are not only connectors for the digital signals on the bottom, but also some bigger pads on the top. This should give it enough strength.  I also made a adapter board, to connect to my core. Of course I could design another adapter board to fit the midibox connector-pinout. So I've just ordered that. I hope to received it in two weeks or so. SMT placement of the LEDs is done by the factory. The SMD parts on the back have to be placed by oneself. It's not a big deal since I used 0805 parts which can be perfectly soldered by hand. Also the HC165 is SOIC-16, which is also not that hard to solder with a good soldering iron. In case everything is working well I'd set up a bulk order if you are interested in those boards.  So, if you are in, just let me know. I'll keep you posted. Stay healthy! Best, Chris  
  2. MIDI over Bluetooth with ESP32

    So meanwhile: is it worth replacing the PIC with the ESP?  I'm designing a PCB for MF NG by myself. So if the PIC is outdated I'd upgrade to an ESP up front. 
  3. Push & Hold - function?

    Great improvement! Thanks! 
  4. Push & Hold - function?

    Hey people, maybe I missed it or it is not possible.  I'd like to set up a switch. This switch should have to functions. The first is executed as soon as I push it an release it immediately. The second one should be executed if I push the button and hold it for a given amount of time. Any ideas? Thanks, Chris
  5. Encoder doesn't work

    Alright. PCBs in the making. I'll hopefully receive them soon. I'll post the results. 
  6. Encoder doesn't work

    Hey people, I have a strange problem. I have a PCB with 9 encoders. This PCB is connected to another PCB with 27 switches. In total there are 8 SR. 4 on the button-PCB and 4 on the encoder PCB. Everything works fine except the very last encoder. The encoder is connected to pin4 and pin5 of the HC165. MIOS Studio shows fine that it toggles input 62 and 63 and depending on the direction the encoder is moved, either 62 or 63 will get triggered first. So this seems to be correct. In the NGC I wrote ENC n=9 sr=8 pins=6:5 type=detented1 But for some reason NG doesn't take those events as encoder events. This is the output of the terminal: [1406781.497] MBNG_DIN_NotifyToggle(62, 1) [1406781.497] No event assigned to BUTTON hw_id=62 [1406781.503] MBNG_DIN_NotifyToggle(63, 1) [1406781.503] No event assigned to BUTTON hw_id=63 [1406781.654] MBNG_DIN_NotifyToggle(62, 0) [1406781.654] No event assigned to BUTTON hw_id=62 [1406781.662] MBNG_DIN_NotifyToggle(63, 0) [1406781.662] No event assigned to BUTTON hw_id=63 But it should like this (just with another id though): [1406866.814] MBNG_ENC_NotifyChange(7, 1) [1406866.814] No event assigned to ENC hw_id=7 [1406867.121] MBNG_ENC_NotifyChange(7, 1) [1406867.121] No event assigned to ENC hw_id=7 [1406867.446] MBNG_ENC_NotifyChange(7, 1) [1406867.446] No event assigned to ENC hw_id=7 [1406867.747] MBNG_ENC_NotifyChange(7, 1) [1406867.747] No event assigned to ENC hw_id=7 Any ideas? I use the stock NG-firmware for this test. I've also tested to set pins=6:5 to all another combination like 4:5, 6:7, etc. But none of them works. Thank you very much! Best, Chris
  7. Push & Hold - function?

    I'm happy to help! :-)
  8. PCBs to European Union

    I've made the PCBs by myself.  I have designed a core especially for keyboard application with four pedals, midi I/o and connectors for wheels and aftertouch.  If you are interested, drop me a PM. I'm in Germany as well.  Best Chris
  9. Panel Mount Encoder

    Check bourns encoder. You can find their stuff in mouser. And mouser has a pretty good filter / search engine. 
  10. Encoder doesn't work

    I think I'll try to add capacitors to pins A and B since this is the fastest fix I could do.  In the long run I'll change the layout, adding caps to ground and two 10k resistors as in the datasheet + 74HC14 to create nice and sharp results. 
  11. Encoder doesn't work

    Well that is due to a different pinout if STEC12 and 16. On 12 the C terminal is in the middle while it's on the outside on 16 iirc.  I'll check again and report back. 
  12. Encoder doesn't work

    Hm, thanks for your help. Detented5 seems to work best. But not perfect though. Still it's jumping from now to then. But there must be some kind of code where those detent-modes are defined. And I can't find it.  
  13. Encoder doesn't work

    I just see that MIOS Studio gives me an error message: [1416035.046] [MBNG_FILE_C:303] ERROR: invalid pins for ENC n=9 ... pins=5 [1416035.046] [MBNG_FILE_C:303] (expecting 0:1, 1:0, 2:3, 3:2, 4:5, 5:4, 6:7 or 7:6) I thought that this isn't relevant. So it seems I need to change the wiring :-( btw.: @TK. I can not find the code for the different detented-types in the firmware. In which file are they defined?  I ask because it seems that my encoders don't work properly. I use PEC11L from Bourns: I use them in relative mode. CW 1, CCW 127. When turning fast CW I also get 127 from now to then. So it seems to bounce... 
  14. DAW integration of LED rings

    Totally possible. I do the same with Cantabile. 
  15. Hey people, I cleaned up my room a bit and found some PCBs I do not need anymore. Here we go: This is something I developed years ago! It has a PCB with 8 encoders with LED rings. Although they look blue, they are not. The LEDs (0603) are white! As you can see the PCB an be connected to a standard DOUT-module even without any resistors. The LEDs won't get damaged. I did a mistake in the wiring of the LEDs at this point. So if you follow the official LED-Matrix-Pattern, you will get crazy results. But anyway: This is a software-thing. If you change the matrix-pattern, they work perfectly. I'll advice you about it if you buy it. I have two of those available. On one of them I needed to fix a trace (3rd. picture on the left). But it's perfectly working. Encoders are Bourns PEC16 with integrated switch. Underneath there are three IDC connectors for the encoders and switches that can be directly connected to a DIN-module. Price: 30€ each o.b.o. Next is a LRE: It has warmwhite LEDs. Lower row is mounted on spacer, the others not. Encoders are PEC16 with integrated switches. On the switch-header I soldered a flat-cable directly. So if you don't need it you have to remove it. Price: 35€   This is PCB where you can mount encoders on the top. Necessary shiftregisters have to be mounted on the backside. It's SMD, but can be soldered with a good soldering iron without any problems. No need for SMD-equipment like reflow-oven.  Price: 3€ each   STM32F4 Discovery! Price: 15€ each   AINSER8-module assembled. Price: 6€ each AINSER8-PCBs. Each PCB includes three layouts. I will not cut those in pieces. You have to do it by yourself. Price: 4€ each PCB (=> 3 AINSER8 Layouts) AINSER64-PCB Price: 5€ each (two available) DIO-Matrix-PCBs. Each PCB includes two layouts. I will not cut those in pieces. You have to do it by yourself. Price: 4€ each PCB (=> 2 DIO-Matrix Layouts). GM5x5x5-PCB Price: 5€ That's it for now! I'm located in Berlin, Germany.  Best, Chris
  16. understanding the .ngc code

    Again: look at the MAP feature. This exactly what you need.  Set a map as range with range=Map1 and create a map with the desired values underneath it.  See this example:
  17. understanding the .ngc code

    Isn't that a usecase for MAPs? I haven't tried it but I'd set up an encoder in absolute mode and setup a MAP as range.  In the NGR you can tell NG to set the encoder to a dedicated value when starting up. 
  18. Save and recall sysex strings

    Hey people, my DAW sends a bunch of sysex strings at once to my midibox. The content of the sysex strings I'd like to display on my OLEDs.  In my DAW there is a mixer. The DAW sends the values of the faders via sysex. I have one OLED that should show those value. So if I select channel 1 on my midibox it shows the first value, channel 2 the second. This is not working at the moment because the DAW sends those values of all channels at once and if I switch on my midibox from one channel to another I need to again dump the sysex strings to the midibox to receive the correct value.  So I'd need to somehow save those received values inside the midibox and recall them.  Any idea? Thanks, Chris  
  19. Save and recall sysex strings

    Alright! Looks good. I need to test it in my environment. I'll report back.  Thank you!
  20. Save and recall sysex strings

    Hm, do you have a quick example how this could work?
  21. Save and recall sysex strings

    Thanks for the reply. I think I've tested this already but for some reason it was not working. But I'll give this a new try early next week and report back! Edit: I remember. The reason why it wasn't working was I don't receive "values" from the DAW but ASCII / text strings instead. And it seems such strings can't be stored...
  22. Can encoders send NRPN values with inc/dec?

    I don't see the enc_mode parameter in the line. You have to set it to enc_mode=40Speed for example. All modes are listed on
  23. The bulk is closed. But you could contact weasel via PM. I'm sure he has some pcbs left.  
  24. Hey people, I had a strange behavior last night. My MIDIbox was in the car over night. It was cold, maybe -2°C. The next day I connected it to my computer and realized, that the EEPROM was reset and all settings were gone (it was a MIDIbox running MB_KB).  Is there a chance to prevent it from doing that? I had another MIDIbox in the car which runs MB_NG. This was booting fine, but it uses an SD-card instead of the internal EEPROM.... Thanks, Chris