Jump to content

BLM 16x16+X build guide

Recommended Posts

Here I will document the parts list and build guide for all BLM users. Once there's a bit more knowledge a wiki page could also be written.




                      Quantity  Recommended     Description
660-MF1/4DC1002F      4	        4	        10k through hole
652-CR1206FX-1002ELF  41	100	        10k 1206
652-PTL45-15R0-103B2  4	        4	        10k slider, 15mm shaft, red LED
652-PTL45-10G0-102B2  -         -               1k  slider, 10mm shaft

Resistor networks
652-4816P-T2LF-10K    5	        6	        10k bussed (165 pullups)
652-4816P-1LF-1K      5	        6	        1k isolated (current sinks)    
652-4816P-1LF-220     5	        6	        220R isolated (green LEDs, also red LEDs)
652-4816P-1LF-56      5	        6	        56R isolated (blue LEDs)

647-TVX1C471MAD	      1	        1	        470uF electrolytic axial
80-C1206C104K5R	      23	50	        100n ceramic 1206      
647-F931C106MAA	      5	        10	        10uF tantalum 1206

512-BAT54	      36	100	        Schottky diode SO-23
512-1N4148TR	      289	300	        1N4148 diode
78-LS4148-GS18	      5	        10	        4148 quadroMELF

604-APTR3216ZGC	      289	300	        LED green 1206 reverse mount
604-APTR3216QBC/D     289	300	        LED blue 1206 reverse mount
604-APTR3216SURCK     -         -               LED red 1206 reverse mount           

512-BC81840MTF	      36	100	        NPN BJT SO-23    

595-SN74LVC1G17DBVR   3	        10	        Schmitt trigger, overvoltage tolerant SO-23-5
595-SN74HC165DR	      5	        10	        74HC165D SOIC
595-SN74HC595DR	      15	20	        74HC595D SOIC

523-T3507-000	      1	        1	        DIN 8 panel connector
523-T3504-001	      2	        2               DIN 8 plug 
---                   2         -               2x5 DIL header male, snap from a larger piece
---                   1         -               2x5 IDC plug female (miniCore)

---                   40cm      -               10-way ribbon cable
---                   20        -               M3 nut (stainless)
---                   20        -               M3 washer (stainless)
---                   1(+4)     -               M2 grub screw, 14 mm (stainless)
---                   1(+4)     -               M2 nut (stainless)
---                   1(+4)     -               M2 washer (stainless)
---                   2         -               M3 standoff, 12mm male-female
---                   8         -               M3 standoff, 25mm (for spacing PCB)

---                   18(19)    -               adafruit 4x4 silicone

---                   1         -               spacer cut from 3mm opaque acrylic

Parts notes:

  • You can choose whether you go for Blue+Green LEDs (recommended) or Blue+Red. You could interchange some Green for Red. Green+Red is not recommended as the colour mixing is poor.
  • Slider height: I specified 15mm shaft sliders, you could change these for 10mm. 15mm will protrude 13mm out of the case, which might be a bit long. 10mm will only protrude 8mm, so they would be less likely to break off and will probably be a bit more sturdy. TK. suggests 1k should work, the others are too high in resistance to get good jitter-free values.
  • You should use the indicated panel mount DIN, but a cheaper pair of DIN8 plugs might work.
  • M2 hardware is a bit difficult to find in normal stores, but Boltbase on eBay has good deals.


Tools needed:

  • Soldering iron, I managed with a normal tip but it’s a bit tricky with some components
  • Solder, probably leaded. 0.5mm will make the finer pitch stuff easier but again I managed with 1mm
  • Desoldering wick and/or solder pump. Useful when the pads get too much solder
  • Tweezers to pick and place components
  • Cutters for diodes and a few through hole components
  • Good eyes or light and a loupe
  • 2-3 small clamps
  • Flat work surface
  • Multimeter, test continuity between pads



Build notes:
The BLM is not particularly difficult to build but there is quite a bit of repetition. I advise to complete one section at a time before moving on.


Soldering order:
First up, there are 289 through-hole diodes on this board. It might be smart to get all diodes pre-bent and trimmed before doing anything else. The legs should be cut as short as possible before soldering otherwise the button pads won’t sit flush. If you cut the diode leads they tend to fall out; this can be a bit frustrating. Some diodes also overlap with the transistors, make sure they don’t electrically short. So you may wish to solder all of the transistors first, followed by the diodes. Read on for suggestions on mounting these. The down side with this way would be that it’s easiest to put the LEDs in when there’s nothing else on the board… please have a go and share your experiences.

I suggest that the PCB is initially clamped (using a scrap piece of material to protect it from the clamp) to the work space, otherwise your parts may jump around if the board gets bumped. If it is truly flush with your bench it will also help to keep the diodes/solder from going through the plated holes. Try to protect the exposed button pads on the PCB top by using a piece of clean paper or other material; don’t damage the surface by scratching it.

LEDs are a little bit sensitive; don’t heat them for more than about 2 seconds at a time and apparently they don’t like static discharges... As far as I know, the humidity warnings you get with them are only really applicable to oven reflow soldering.


So: let’s go!
First up you should tin the pads on the rear side only. I recommend clamping the board at a right angle so you can easily go down a “row.” Tin at least the LED anodes (just the top pad!), but you could do one pad of every SMD component (over a few days it will get harder to “wet” the solder as it oxidises). It will be easier to “tack solder” if you choose a pad which isn’t part of the ground plane. Avoid pre-tinning pads with thermally isolated connections to ground.

(here the top side is actually at the bottom)



289*LED 1
Actually left on the PCB rear. Ensure the “C” symbol is oriented with the PCB silkscreen. Or you can think of it as making a “T” when the board is viewed the correct way up.
(N.B using the default firmware LED1 is the main step indicator and LED2 is used as the cursor for most modes.)

Take a rest.


289*LED 2
Actually right on the PCB rear.
Take another rest.

Once these are placed you can go back and finish all of the cathodes, also touching up the anodes if needed.


3*SOT23-5 Schmitt buffers (IC21-23)
Located near header J1. These are pretty tricky, so go slowly and use as little solder as possible. Clean up with braid if needed.


36*BC818 transistors (remaining SOT-23 footprints)
Orientation is fixed, again don’t overheat them! Note the line of transistors down the centre of the board (when viewed from the back), another at the left plus 4 more along the bottom.

36*BAT54 Schottky diodes
This BLM has a small issue with ghosting (some LEDs are dimly lit when they aren't supposed to be). A fix involves soldering a BAT54 diode 1:1 on top of the transistor, this is hard to photograph but if the solder blobs are big enough they will span from the SMD pads all the way up to the BAT54. Not so big that they short out the two adjacent transistor pins! You may want to see if you are happy with the ghosting before applying this fix; it's only noticeable in complete darkness.

36*1206 10k resistors 
Some silkscreen values are missing, sorry about that! They are located next to each BC818 transistor (+BAT54).
Don’t worry if solder bridges form from the resistor to the transistors, the pads are common. But don't short out both ends of the resistor!

+5*1206 10k resistors (R8-R12)
These form the 4 power on delay circuits located at the left, plus one on the bottom.


5*MELF diodes (D1-D5)
They are polarised with the black band oriented towards the silkscreen corner line.

5*10uF tantalum caps (C6, C11, C16, C25, C28)
Orientation is very important with the grey band towards the silkscreen corner line and + symbol. TANTS MAY CATCH FIRE/EXPLODE IF MOUNTED INCORRECTLY!

23*1206 100nF ceramic caps (remaining 1206 pads with rounded corners)
Located next to each IC.

Note C26/C27 and R6/R7 don’t need to be installed unless you want to terminate the SC/RC lines, it works fine for me without these.


289*1N4148 diodes
These MUST be soldered on the SAME SIDE AS THE COMPONENT with the leads clipped as short as possible BEFORE soldering. Solder just enough to wet the “bottom” pad. If too much solder is applied then the button surface won’t be flat and the pads will be uneven. A flat work surface will help to keep the solder from reaching the PCB “front.”

The other way is to place all the diodes without trimming (making use of spacers attached to the PCB corners), then chop the leads. If you do this they have a tendency to fall out when you flip the board, but it works. Similarly they MUST be soldered from the rear i.e. the same side as the component is placed.

Be careful with diodes that are placed over a transistor or one of the few that have their legs bent out of the way to avoid a mounting hole, they need slightly different lead lengths.

Take another rest.


5*74HC165 (ICs 1, 5, 9, 13 and 17)

15*74HC595 (remaining ICs)



Now attach standoffs to the corners and flip the board to mount the resistor networks:

5*10k bussed (RN1, 5, 9, 13, 17)
Note that these are POLARISED according to the silk screen.

5*1k isolated(RN2, 6, 10, 14, 18)
You can follow the silkscreen but it doesn't matter here.

5*56R isolated (RN3, 7, 11, 15, 19)
if using blue LEDs for colour 1.

5*220R isolated (RN4, 8, 12, 16, 20)
if using green LEDs for colour 2, also for red LEDs.

RN19 and 20 are on the rear of the board


Through-hole components:

470uF electrolytic (C1)
The “minus” end is marked with an arrow, the “plus” end has an indent aligned with the silkscreen.



Sliders (on the front of the board!)
Sliders are 60mm long and spaced 60mm apart, so they fit together exactly. Mount all 4, then start by soldering one leg. Check the slider is absolutely flush against the PCB before continuing with the remaining legs.

Current limiting resistors for the sliders' LEDs (can wait to check the brightness)
You can swap the LEDs with common “2x3mm” sizes. Note the different pinouts:



Please bridge R1 with a piece of wire.

Then solder the 2x5 DIL headers. Now you can apply power to the board (either through J1 or J3) to check the LEDs and choose the through hole resistors that set the LED sliders’ brightness. 10k was good for me. Note: please don’t send clocks/serial data to the BLM with the board’s power disconnected, it might damage the CMOS. 

If a Core/miniCore module is connected then without MIDI input the LEDs should light with each button press (just use a loose button pad) in sequence: LED1, LED2, LED1+2, and off again.

Cable wiring:
Crimp a 10 pin IDC connector on about 40 cm of ribbon. Then solder the following pins on the DIN8 socket in order. It should be possible to do this outside the case and thread the IDC through the mounting hole. Thereafter a DIN8 cable can connect to the corresponding SEQ BLM connector, but you may want to wait to install everything together in the case.



Button pad preparation:
Carefully cut 16 pieces of 1x4 buttons ensuring each has the two guide nubs at the bottom. I recommend scissors instead of a knife to keep it tidier as the silicone tends to unhelpfully flex under a knife. Also cut the corners off pads where M2 grub screws will enter from the front. Now the button pads may be placed (oriented so the nubs fit in the correct PCB holes). It’s best to go from one side to the other to keep everything flat.





Then place the acrylic spacer on top (mine is a bit different). There are extra rings of acrylic which can be used as “washers” to make up for the top and bottom right corners. You might want to add thinner metal washers as well to get the distance right.

When ordering the spacer (e.g. from Formulor or Ponoko) make sure to choose opaque acrylic in 3mm thickness, probably white or black is best. If you buy milky or clear plastic some LED bleed might occur.


Apparently this one is better optimised into vector format, many thanks Phatline:




Case assembly
Lift the PCB into the case from the bottom (so your 289 buttons don't fall off) and loosely attach at least a few corners with M3 nuts. You need at least the centre M2 grub screw and can add the other four M2 screws if you feel more stability is needed. It’s probably best to thread them through the PCB from the rear; be careful as the thread pitch is quite fine (0.4 mm) and is cut into soft aluminium. I haven’t noticed any unscrewing, but you could add a drop of Loctite to be sure.

Two M3x12 MF spacers attach on the top left corner (viewed from the back), this is where the miniCore will go.

Next tighten the remaining nuts evenly; don’t overtighten as the PCB will flex! As long as the button pads were placed more or less in the right place they should sit evenly above the front panel. Or they may require reseating to get things even.

Attach the miniCore module and a ribbon connector to J1 and panel mount the DIN socket. You need to jumper 4 unused AINs on the miniCore's J5B to ground which will prevent noise on these inputs.



Then close up the case, attach the bottom feet and you’re done!

Congrats on finishing your BLM and I hope you enjoy using it!



I (or somebody else) will likely design a protection circuit so the extra AINs (4 available) can be used to control parameters on the SEQ. Modular voltage levels are NOT RECOMMENDED without this protection as outside the 0-5V range they will damage the PIC.


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.




                      Quantity  Description
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

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

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

815-ABL-10-B2	      1	        10 MHz Crystal

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

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 firmware:

1) The blm_scalar_v1_1 firmware can be downloaded from http://www.ucapps.de/mios_download.html

It contains prebuilt hex files for various hardware configurations:

  • project_without_ain.hex
    • without AIN enabled (use this if J5 pins not connected to ground)
  • project_with_4_mapped_ains.hex
    • for Latigid On's BLM PCB layout, only 4 faders used
  • project_with_4_unmapped_ains.hex
    • AIN pins are mapped 1:1 (n.b. when using the BLM PCB/miniCore the sliders 1-4 are reversed in this configuration)
  • project_with_8_mapped_ains.hex
    • for Latigid On's BLM PCB layout if 4 faders + 4 extension AINs are used. It's recommended to jumper any unused AINs to ground
  • project_with_8_unmapped_ains.hex
    • AIN pins are mapped 1:1 (n.b. when using the BLM PCB/miniCore the sliders 1-4 are reversed in this configuration)

2) if you are using a PIC18F452, it's required to change the PIC device configuration while flashing the bootloader: the brown out reset level has to be changed from 4.5V to 2.7V as shown in this picture:


Otherwise PIC could be reset sporadically (depending on the number of enabled LEDs) because the voltage level could fall below 4.5V!
This change is only required for PIC18F452, other pics (such as PIC18F4620 and PIC18F4685 will work w/o this change).
Unfortunately this change can only be done with a PIC programmer. Please contact TK. if you don't own a PIC programmer. He could send you a replacement PIC18F452. Alternatively use a PIC18F4620 or PIC18F4685 if you own one.




Many thanks to TK. for a great concept to begin with and for providing firmware support to get my kludged prototype working.
And to all builders: thanks for trusting me, it's not too cheap for DIY but I hope you agree the end product is worth it.



It seems like some form of local power regulation is needed to ensure stable operation. As noted above, some PICs have brown-out detection built into the bootloader, so when many LEDs are lit, the PIC resets and won't work until the voltage rail stabilises over +4.5V. The simplest way I found was to interrupt the 5V line after the DIN socket (inside the BLM case) and add an adafruit Verter Buck Boost regulator. Mounting is stable using a SIL header on one row of the blank muck space, this can be connected to the unused functions on the small PCB.



Power consumption

  • Using the Verter, standby voltage and current is 5.2V and about 30-60mA.
  • With all LEDs lit (both colours) the draw goes up to 647mA, although this would never be done in normal operation.
  • In track mode with all 16x16 blue LEDs lit the draw is 467mA and the voltage drops to 4.72V. I don't really perceive a difference in brightness, but it could only be a good thing! As long as the ADC inputs are scanned relative to the supply voltage you shouldn't lose control at the top end.




Edited by latigid on
  • Like 2
Link to post
Share on other sites
  • Replies 192
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

I've wired up the DIN and mounted the board in the case. The BLM is ready! Now, I'm just waiting on a quad IIc board to connect it to the sequencer. 

Here I will document the parts list and build guide for all BLM users. Once there's a bit more knowledge a wiki page could also be written.   BOM: http://www.mouser.com/ProjectManager/P

A New BLM is Born! Thanks to Thorsten and Andy!

Posted Images

A new BLM has been born :grin:




Very nice to build, no big troubleshooting required if you are careful enough and don't forget a solder joint or create an unintended short.

Andy deserves great respect for his sophisticated design, this is really professional work and sets a new DIY standard!
Although the BLM16x16+X project is 5 years old meanwhile, you still can't buy a device with 290 buttons and duo-colour LEDs - you can only build it by yourself - and it has never been easier! :wink:

Best Regards, Thorsten.

Link to post
Share on other sites

It took me around two days (ca. 15 hours) - at the first day I soldered 1N4148 diodes and LEDs, and at the second day the remaining parts. Over time I became faster with SMD soldering, but still ensured that parts are correctly aligned - especially for the LEDs it's important that they sit flat on the PCB, otherwise later they could illuminate in different directions so that you won't see a combined colour through the affected silicon pads later.
Therefore the important hint: always solder only 1 pin (tacking), align the part, then solder the remaining pin(s), otherwise you can't fix the position anymore without desoldering the part! This way I tacked one row of LEDs, fixed the positions (when necessary), and then soldered the second pin. The same for any other part - it brings a little bit variety in the boring soldering process ;-)

To the colours: In difference to Andys proposal I took blue as "colour 2" (right side of the bottom PCB) and green as "colour 1" for the left side, but this was my personal preference. Don't worry, the firmware allows to swap colors if you are unhappy with your initial decision! :)

For the extra row/column and shift button I took red as "colour 1", and blue as "colour 2" again.

Therefore (and I only write this as an important reminder for the case that somebody wants to do the same) I had to swap the resistor networks: 220 Ohm for the green/red LEDs (RN3, 7, 11, 15, 19) and 56 Ohm for the blue LEDs (RN4, 8, 12, 16, 20)

Best Regards, Thorsten.

Edited by TK.
Link to post
Share on other sites

Discussing with TK. the optimal slider value would be 5k. The MOQ of PTL45-10(X)0-502B2 is 750 pieces but I've asked Mouser if they would stock them. Sadly they don't seem to be readily available from other suppliers.

50k and 1k are available in 10mm shaft. Might a good solution then be to order the 50k version then solder a 5k6 resistor in parallel to make about 5k? In general does this technique give satisfactory (i.e. noise-free) ADC in the PIC?

Link to post
Share on other sites

So i will wait to solder the 10k sliders received this morning! have you test the 10k value? (is the fonction activating and working properly with 10k?)

what is the total consumption of BLM? we agree that is 20mA leds!?
i was thinking have a dedicated power supply for the BLM like a meanwell 5V 3A (don't think the 7805 inside my SEQ will be happy!) or upgrade my SEQ power supply...

Edited by tashikoma
Link to post
Share on other sites

You can (and should) wait to put the sliders in last. I suggest holding off until your case arrives, place them in without soldering, then see if you're happy with the length. 10k works just fine and is the value recommended for AIN (but apparently 5k is better). Let's wait until TK. chimes in with his knowledge.

20mA is the max for each LED, but they are running through a scan matrix. So it's more like 2 mA per LED. A beefy PSU is recommended, you could consider a switching 5V regulator in place of the 7805.

Link to post
Share on other sites

Did you ship everyone's PCBs? I expected to get mine with the case

You should probably post this sort of question in the bulk order thread...

Yes, all PCBs were shipped together on the 25th of September. Cases are coming direct to you from the manufacturer from mid-next week.

EDIT: DHL tracking shows successful delivery as of 05.10.2015, 12:57 pm.

Edited by latigid on
Link to post
Share on other sites

50k and 1k are available in 10mm shaft. Might a good solution then be to order the 50k version then solder a 5k6 resistor in parallel to make about 5k?

This won't work, because this way you will create a non-linear resistor network.
There is no solution to turn a 50k fader into lower resistances, the high fader resistance is prone to jitter

Best Regards, Thorsten. 

Link to post
Share on other sites

This won't work, because this way you will create a non-linear resistor network.
There is no solution to turn a 50k fader into lower resistances, the high fader resistance is prone to jitter

Best Regards, Thorsten. 

Okay, I was afraid of something like that. Is the 1k too low? If yes then there isn't a lot of alternatives I'm afraid. Unless somebody wants to order the MOQ of 750... 

Link to post
Share on other sites

i solder the green ones... more than 7 hours.... Thorsten you're definitely a god! :D
go to the blue...

Andy, some bicolor led in smd package could work in this design? it could save buck and time.
something like this:

Edited by tashikoma
Link to post
Share on other sites


i solder the green ones... more than 7 hours.... Thorsten you're definitely a god! :D
go to the blue...

Andy, some bicolor led in smd package could work in this design? it could save buck and time.
something like this:

Just wait for the 1N4148s ;)

I thought long and hard about what LEDs to use. Yes, the package size is similar, but look at the brightness: 45/35 mcd. Recommended is more like 300 mcd. And the green is 571 nm, more of the yellowy-green. (Look also at the forward voltage, true green is always around 3.3V.)

Link to post
Share on other sites

When we love , we don't count.... (french expression)
tack solder is cool... fix/align make me scream! :D
i start soldering leds with a classic 30w iron and i go to supplier buy a real iron ESD temperature programmable... (260°)...
can't wait for the 1n4148! :D

Link to post
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.

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.


  • Create New...