Jump to content

BLM 16x16+X build guide


latigid on
 Share

Recommended Posts

1 hour ago, workspace said:

up & running! thanks to everybody!

now I have to wait for the silicon buttons. I ordered them from mouser at the beginning of december and they will ship in february...

 

 

blm.JPG

 

1 hour ago, Altitude said:

Done!

Question: Where is a good guide of the left and bottom row controls?  I really need to make some labels until I'm comfortable with everything

blmdone.jpg

 

Well done to you both! I award you No Hardware Advice Needed badges :cheers:.

@Altitude there isn't a lot of info about, this is kind of useful (I think extra column 3 and 4 toggle a sort of mute and solo behaviour):
 

Quote

midibox_blm16x16_virtual.png

 

and 

Quote


Grid mode: displays a 16 step view of the selected track. The usage depends on the parameter layer assignment:
Note Layer: each 16x16 row will play a different note. The 16 notes per column are pre-selected based on the current scale (MENU+FX->Scale) to increase the octave range, and to simplify the entry of harmonic notes.
Important: one note per step can be selected if the track only contains a single note layer (default). By adding more note layers in the MENU+Event page it's possible to select multiple notes per step for polyphonic sequences.
Any other parameter layer such as velocity/length/CC/PitchBender/Roll/Probability/etc.: each 16x16 column works like a VU meter.
Drum Tracks: each 16x16 row is assigned to a different note (drum instrument) as configured in the MENU+Event page.
Hint: instead of drums you could also play a synth. Since each note can be predefined, you are able to create your own "scale" this way.
Extra Column: selects the track that should be edited. Push the button twice to mute/unmute a track.
Extra Row: selects the step view. Increase the track length to play more step views. Use loop mode or the section function to play only a single step view.
ALT+Extra Row: selects the octave
Planned future enhancements: pressing SHIFT+16x16 button should set accent, pressing SHIFT+extra row button should select the section that should be played

Track mode: displays a 16 step view of all tracks.
16x16 buttons: set/clear a trigger.
Extra Column: selects a track. Push the button twice to mute/unmute a track.
Extra Row: selects the step view. Increase the track length to play more step views. Use loop mode or the section function to play only a single step view.
ALT+Extra Row: selects the trigger layer
Planned future enhancements: pressing SHIFT+16x16 button should set accent, pressing SHIFT+extra row button should select the section that should be played

Pattern mode: displays the patterns of all 4 groups.
16x16 buttons: each quarter directly selects the pattern of a group (up to 64 patterns per group)
ALT+16x16 buttons: each quarter stores the pattern into the selected slot
16x16 LEDs: green: pattern is selected for next measure, red: pattern is played, yellow: pattern is selected and played
Extra Column: selects a track. Push the button twice to mute/unmute a track.
Extra Row: no function yet.
Planned future enhancements: pressing SHIFT+16x16 button should select the pattern synchronized to measure independent from the global "synch-to-measure" function.
The extra row could select a song phrase (so that all 4 groups change to predefined patterns)

Keyboard mode: allows to play notes of the selected track "live".
16x16 buttons: each 16x16 column will play a different note. Than higher the row, than higher the velocity of the played note. The 16 notes per column are pre-selected based on the current scale (MENU+FX->Scale) to increase the octave range, and to simplify the entry of harmonic notes.
Extra Column: selects a track. Push the button twice to mute/unmute a track.
Extra Row: sends a note to the transposer (starting from C-2, unscaled)
ALT+Extra Row: selects the octave
Planned future enhancements: pressing SHIFT+16x16 button should play&hold a note until the same column is selected again.
Support for playing notes on drum tracks.

303 mode:
first row selects accent
second row selects glide
third and fourth row select octave (4 different selections)
remaining rows select key of octave and set/clear gate
Stop: stops the sequencer
Start: starts/restarts the sequencer

http://www.ucapps.de/midibox_seq_manual_blm.html

 

@workspace a real shame about the buttons, sorry for the poor recommendation! At least it should be under the VAT threshold.

 

Edited by latigid on
Link to comment
Share on other sites

yeah, been pouring over that info.  Is all that consistent with your BLM?  Kept thinking the bottom row had alt functions for some reason..

What is the spacing between button centers?  I'll draw up some labels for people with a label maker

 

Thanks for your hard work! It's amazing this is finally a reality after so long.

Link to comment
Share on other sites

48 minutes ago, Altitude said:

yeah, been pouring over that info.  Is all that consistent with your BLM?  Kept thinking the bottom row had alt functions for some reason..

What is the spacing between button centers?  I'll draw up some labels for people with a label maker

I think it's consistent although I haven't updated to the latest firmware miniCore side. Just check how extra column 3 and 4 toggle mutes/solos.

Normally the extra row just shifts the step view; you'll notice with drum tracks enabled that blocks of 2/4 etc. buttons will be illuminated to indicate a shorter track length. In keyboard mode it should transpose.

Button centres are 15mm apart while the extra row/column are 22.5mm. 

 

 

Quote

Thanks for your hard work! It's amazing this is finally a reality after so long.

 

Quote

Reverend Mother Gaius Helen Mohiam: The mystery of life isn't a problem to solve, but a reality to experience.

 

Edited by latigid on
Link to comment
Share on other sites

Salut Pierre,

Here are the schematics;

http://www.ucapps.de/mbhp/mbhp_blm_scalar.pdf -- SCALAR module which is just a mixed DIN/DOUTX3 board. There are a few modifications such as enabling a power on delay and B-E resistors for the current sink transistors. Five of these are integrated into the BLM PCB.

http://www.ucapps.de/mbhp/mbhp_blm_map.pdf -- this is the matrix routing for the buttons and LEDs.

http://www.ucapps.de/mbhp/mbhp_core_v3.pdf -- this is the 8 bit Core of which unneeded headers and the LCD driver circuit have been removed for the miniCore. There's an extra line driver implemented for the digital signals, and the MIDI I/O and power come in on the same 2x5 DIL header. 

 

Best,

 

Link to comment
Share on other sites

Sorry, not sure exactly what you mean? I will order a batch of miniCore boards to go with the BLMs, or if you prefer you can use a regular Core8 as the circuit is identical (linked above). It's just less convenient. The 125 chip simply buffers SO, SC and RC and there's even extra buffers on the main PCB. Probably neither of these are necessary now we know more about the brown out reset behaviour. 

Link to comment
Share on other sites

Quote

miniCore:
Nothing too special here, just remember to mount the resistors first (i.e. before the DIP40 socket). The BLM data lines are buffered on the main PCB so potentially the 74HC125 chip could be left out. Also keep in mind that the female DIL header sockets must mount on the rear of the board. You can see that I made do with SIL versions that I cut into rows of five.

Note: you can also use a PIC18F4685, currently stocked by SmashTV.

 

BOM:

http://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=28e54a7e6f 


                      Quantity  Description
Resistors
660-MF1/4DC1000F      1	        100R
660-MF1/4DC2200F      3	        220R
660-MF1/4DC1001F      3	        1k
660-MF1/4DC1211F      0	        1k21 (replaced by 1k and included above)
660-MF1/4DC5601F      0         5k6 (replaced by 4k7)
660-MF1/4DC4701F      1	        4k7, solder in the 5k6 position
660-MF1/4DC1002F      2	        10k, also usable for slider LED brightness in main PCB

Capacitors
810-FK18C0G1H330J     2	        C1,C2 33pF ceramic, 2.5mm spacing
594-K104M15X7RF53H5   3	        C4,C7,C8 100n ceramic through hole (pull legs tightly through PCB bottom)
667-EEU-HD1H100	      1         C3 10uF electrolytic 2.5mm spacing

Diode
512-1N4148TR	      1	        1N4148 diode (can be taken from the 300 ordered with the BLM)

Crystal
815-ABL-10-B2	      1	        10 MHz Crystal

ICs
595-SN74HCT125N	      1	        74HCT125 quad buffer/level shifter
512-6N138M	      1	        6N138 optocoupler
---                   1         PIC18F4620 from smashTV or other suppliers. Needs MBHP bootloader flashed.

Hardware
517-929852-01-05-RA   2         2x5 DIL female header
---                   2         2x5 DIL male header (snap from larger piece)
517-4840-6000-CP      1	        DIP40 socket, quite expensive, try a local supplier
---                   1         DIP14 socket

 

Parts substitutions:
Change 1k2 resistor to 1k
Change 5k6 resistor to 4k7

miniCore_front.thumb.png.b52512503abce58

miniCore_rear.thumb.png.67738017949bd4fb

I find this text in the first post of this topic

Cordialement Pierre

Link to comment
Share on other sites

et sa marche!:cheers:
I love it , it's very very pleasant , quick note editing,very cool for drum tracks... keyboard with scale is great... youpi!

for the white sliders leds i go to 100k ... 68k was good too .

10k is to bright but perfect for the red sliders origin leds

i don't stuff the verter buck/boost board...

 

Edited by tashikoma
Link to comment
Share on other sites

After 5 months, I can finally definitively say that I'm finished with the BLM project. What started out as a fairly straightforward project led to a major overhaul of my midibox sequencer. I swapped out the core for the latest board -- the third upgrade in the past five years. I also replaced most of the IO boards and had a new back panel machined. Now, I never want to have to upgrade this box again.Haha :) The BLM has completely changed the way I work with the sequencer! 

 

mbseq-top.thumb.jpg.14456d09cf1f73b1377c

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Hi,

I would be interested to know the dimensinos of the holes for the LEDs. I have been looking for some cheaper leds but I guess that the holes could be the most important factor/problem.

The housing of the suggested leds ( APTR3216ZGC ) is 1.4mm long and I think 1.6mm wide. The suggested hole is 2.1x2.1mm.

For example I found a led from reichelt: Elec. Specs are nearly the same.

http://www.reichelt.de/LED-EL-1206-BL/3/index.html?&ACTION=3&LA=446&ARTICLE=156246&artnr=LED+EL+1206+BL&SEARCH=1206+led+smd

As you can see in the datasheet (page 2) the housing of this led is 2.0mm long.

I found some leds from china (direct) as well, but I  have not gotten a datasheet yet.

 

Link to comment
Share on other sites

Hello,

I used the recommended cutout size of 2mm, so your suggestion might fit (very snugly). The spec looks very similar, and the pricing is fair for low quantities.

Drawbacks are that It's not specifically a reverse-mount LED and the lack of rear marking would make soldering them more tedious/error prone. They're also untested, but likely the same LED die.

I still need to look at wholesale pricing, probably from China in full reels. For a bulk order I might be able to offer them at 10c each.

Link to comment
Share on other sites

  • 3 weeks later...

Hi,

I have gotten some China-LEDs already and I have done some current-testing. Fitting is ok.

I will get some more LEDs in a couple of weeks.

How are the LEDs and Resistor-Networks connected?

There are 5x8 Resistors with 220 Ohm and 5x8 Resistors with 56 Ohm (blue LEDs).

Forward-Voltage of the LEDs is 3.3V.

The choice of Resistor-Network-Values is not really big ...

 

Some thoughts to the Voltage-Booster:

In my opinion a Voltage-Drop is not good in any way.

It is a "solution" to force the Voltage to a certain level but the question is what is the problem.

Perhaps some small Resistors (Connections, Cable-Lenght (e.g. 0,2 Ohm and 0,8A --> 0,16V Drop) or

the Source is to weak (USB-Powered).

A real solution would be to use a separated external PSU for the BLM or to lower the current-consumption.

I will use an external PSU (2-3A).

If you got a Voltage-Drop because of the LEDs, that could mean that the PSU (USB-Source) is operating above its maximum-rating.

 

 

 

 

Link to comment
Share on other sites

Just now, modulator said:

How are the LEDs and Resistor-Networks connected?

Check the SCALAR circuit, the networks are bussed for the switch anodes and isolated for current sinks and limiting. There's no real reason to use networks apart from being easier to solder.

 

Just now, modulator said:

There are 5x8 Resistors with 220 Ohm and 5x8 Resistors with 56 Ohm (blue LEDs).

Forward-Voltage of the LEDs is 3.3V.

The choice of Resistor-Network-Values is not really big ...

Blue and green have different mcd values. The 56R/220R choice was to balance the brightness, or did I not understand you properly?

 

Just now, modulator said:

Some thoughts to the Voltage-Booster:

In my opinion a Voltage-Drop is not good in any way.

It is a "solution" to force the Voltage to a certain level but the question is what is the problem.

Perhaps some small Resistors (Connections, Cable-Lenght (e.g. 0,2 Ohm and 0,8A --> 0,16V Drop) or

The single cable is a way to keep things tidy, but not ideal, I agree with you there. It's also the simplest way to power the BLM from the Quad IIC board, where the optocoupler and pull ups on the MIDI circuit share the same rail. If they were separate, a higher voltage could be sent through the single cable and regulated locally. When this was first designed 5 years ago, TK. used common low Vf, low brightness LEDs, so high current consumption was not an issue.

 

Just now, modulator said:

the Source is to weak (USB-Powered).

2A SPSU on my build, I recommend to power the Core or at least the Quad IIC module with a decent supply. 

 

Just now, modulator said:

A real solution would be to use a separated external PSU for the BLM or to lower the current-consumption.

Some cases have extra holes for this purpose, but I don't know of any working builds using them as of yet. You could try larger resistors at the expense of overall brightness.

 

Just now, modulator said:

I will use an external PSU (2-3A).

If you got a Voltage-Drop because of the LEDs, that could mean that the PSU (USB-Source) is operating above its maximum-rating.

See above.

 

For the next run I will modify the miniCore board to take an adafruit "Verter" regulator. This is the simplest option and it works in at least two builds so far (@jbdiver). You are also welcome to connect an external PSU here at the expense of one extra cable to plug in. But with a right-angled DC jack it hopefully isn't too messy.

I think the voltage drop is partially due to the regulated source being distant from the load, but also inherent to the circuit. Especially with bright LEDs, we're switching a lot of current quite fast, and it could be a speed limitation of using shift registers in this way. I'd hazard a guess that MOSFETs would be better current sinks, but I'm not an expert at such things. My low-level understanding is that you need special types to use a +5V gate voltage, otherwise the transistor isn't fully turned on.

In common use, it would be rare to have even 1/4 of the LEDs active at a time, so while not a perfect design it should be okay for most people. 

Link to comment
Share on other sites

15 hours ago, latigid on said:

Blue and green have different mcd values. The 56R/220R choice was to balance the brightness, or did I not understand you properly?

yes, not proberly, my fault. I mean the available values at mouser. (e.a. if I want/have to increase/decrease the current because of brightness I have to change the resistors,

values available at mouser: 220 (green,red), 180, 150, 120, 100, 82, 68, 56 (blue) and so on. )

If the LED has a Vf of 2,1V, I have to change the value as well. In this case the resistor needs a higher value (theoretical).

I guess there is no simple way (U=RxI) to calculate the current per LED (because of multiplexing/switching)?

Link to comment
Share on other sites

Okay, I understand what you mean. LED brightness does depend on the current limiting resistor, but it's a non-linear relationship. Brightness is much more dependent on the pulse width (or pulse density). I think the duty cycle in the BLM is 10%, not so easy to calculate brightness.

The red LED does have a lower Vf, but also a lower mcd rating than green. In my experience, 220R was a good balance for both red and green LEDs. You might also get some feedback from others here who have mixed red and green LEDs in their builds.

If you want, here is a shared OSHpark project for very cheap test boards, you could also check the fitting of your new LEDs.
 

https://www.oshpark.com/shared_projects/I9xfP7XE

 

 

Link to comment
Share on other sites

4 hours ago, latigid on said:

Okay, I understand what you mean. LED brightness does depend on the current limiting resistor, but it's a non-linear relationship. Brightness is much more dependent on the pulse width (or pulse density). I think the duty cycle in the BLM is 10%, not so easy to calculate brightness.

The red LED does have a lower Vf, but also a lower mcd rating than green. In my experience, 220R was a good balance for both red and green LEDs. You might also get some feedback from others here who have mixed red and green LEDs in their builds.

Ok, it is clear to me now. I have found a good answer here:

http://electronics.stackexchange.com/questions/76051/current-and-power-on-time-in-led-multiplexing

 

10% Duty cycle would mean that the peak current has to be 10 times higher than the current I want without switching to get the same brightness. 

So yes, you are right, the duty cycle is the limiting part here and the maximum current of the led!

The maximum current is mostly 25mA. If you assume now that you get this 25mA with 10% duty cycle, that would mean you will get the brightness of 2,5mA constant current. Very strange (:

 

Link to comment
Share on other sites

  • 4 months later...

Just a question really: why through hole diodes?

When building monome kits (the new ones, the slim, grid kid 128) I found the migration from through-hole diodes to SMT to be really very helpful on repetitive tasks (tin pad, heat pad, slide diode into pad, solder other pad: repeat). OK you trade the fiddlyness of small easy to incorrectly invert diodes but there is no bending cutting and board flipping and because of the low profile of SMT parts diodes can go on the silicone side easily enough if needed.

@latigid on are you going to make this board available again? I have my work cut out with a project at the moment but I'd be interested in getting back into grids at some point but monome is going in a direction that is a bit eurorack-centric for me and the max-msp/serialosc/computer side of things seems to be slipping a bit.

It would be nice to see this branch out to other applications other than the SEQ, has it been used anywhere else that you know?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...