Hawkeye

Small Modular BLMs via OSC?

39 posts in this topic

Hola,

Would you think, that it would be feasible to create a new LPC-based BLM (16x16+x) communicating with the SEQ via ethernet (using the onboard network adapter of the LPC1769)?

And if so, would it be possible to "stack" this unit?

I´d love the idea to have a compact and cheap 16x16+x BLM unit, which could be extended over time with up to three peers to get a large 64x16 BLM and feel like Jean Luc Picard :-).

Of course, then every unit needs to be as inexpensive as possible - e.g. by using cheap duo-color leds and tactile-switches with integrated buttons (5x5mm), just like the ones in the photo attached - cost per switch: 5 cents, cost per LED 8-10 cents (I had only single-color SMD LEDs available for illustration at the moment).

As these elements are SMD, they will be quicker to solder than their through-hole counterparts.

The completed BLMs would also be nicely compact, less than 20 centimeters wide for a 16x16+x BLM.

The shown switches are very nice, have a "soft feeling" and the button distance of ca 1cm (5mm switch button cap, 5mm space) should be good for quick changes in the pattern or "live playing".

If a nice PCB color was chosen, we would not even need a frontpanel (which reduces costs even more).

The LPC would be carried as a "shield" at the top of the PCB - these "Mini-BLMs" should be stackable sideways with the possibility to omit the leftmost "+x" column of buttons and LEDs while soldering, as only the leftmost unit needs those.

There would only be an ethernet port and a power connector (or even only power-over-ethernet, the adapters have become very cheap).

Thanks for your feedback!

Greets,

Peter

post-7895-0-15829900-1311189267_thumb.jp

Edited by Hawkeye

Share this post


Link to post
Share on other sites

i like the concept, sounds nice. only thing is, i don't know about the spacing - 1cm sounds awfully close, especially if you have fat fingers, no?

I planned to use a couple of those for something similar (man has it been 3 years already??):

http://www.seeedstudio.com/blog/2008/09/08/fount-it-monome-monome-monome-monome/

http://www.seeedstudio.com/blog/2008/09/10/monome-like-all-in-one-button-matrix/

I have some at home, but now it turns out they don't sell them anymore. :-(

Edited by bilderbuchi

Share this post


Link to post
Share on other sites

Me was unsure too, at first - but if you have one of these fabulous "casio" school calculators used for higher-level maths, you can try it...

They have the exact same spacing (1cm horizontally and vertically) and tactile feel (soft) for the upper scientific button matrix (usually 6x4) - it would be super smooth for pattern programming without too much hand travel!

Greets!

Peter

Edited by Hawkeye

Share this post


Link to post
Share on other sites

I can confirm how nice those buttons are. Soft feel, quiet. And easier to solder than the 4 pin through hole types.

AFAIK there's nothing preventing this happening now. The 16x16 app already exists for MIOS32. The main difficulty implementing a 'simple' PCB is fitting all the BLM_SCALAR components on it.

Share this post


Link to post
Share on other sites

I've been thinking about this for the last 2 days and was considering placing 2 medium sized duo color 8x8 led matrix side by side for a 8x16 matrix. Then placing a PSP touch screen on top and mapping the coordinates over the leds. Someone did the same thing about a year ago and it was a pretty cool project. I suspect that given the small form factor of the led matrix that it will be prone to fat-finger errors but it might be fun to try it out. I think the parts can all be sourced from Sparkfun and the like.

In case anyone was wondering, the medium sized matrix at Sparkfun is just under half the width of the PSP Touch Screen making 2 led matrix optimal.

Edited by Digineural

Share this post


Link to post
Share on other sites

Digineural, that is a really cool idea :-) But i´d rather go "classic" with those small tactile switches :-).

Otherwise, you could use any touch-device (ipad, tablet-pc, etc) and software to achieve the same effect (ok, using LEDs is cooler :-)).

Findbuddha - thanks for your encouraging words :-)

I just never did PCB layouting before - this probably will not be the easiest project to start with :shocked:

Edited by Hawkeye

Share this post


Link to post
Share on other sites

A comment to the OSC topic: I already tried this by tunneling the MIDI events (which are the most compact format) via MBSEQ V4 via Ethernet Router to a virtual BLM16x16+X running on my iPad and it worked - in both directions!

The MIOS32 based BLM16x16+X could be easily adapted to support the OSC protocol as well, regardless if the compact MIDI based format (embedded into OSC packages), or a "human readable" format, or any other format expected by a DAW is used.

This is on my TODO list. :)

In mid term I want to separate the whole OSC parsing of the different proprietary formats from MBSEQ into a single source module which can be included into MIOS32 applications, so that enhancements are automatically inherited by all applications.

The physical implementation is your topic ;)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Thanks a lot for the general "thumbs-up" - the physical implementation looks like a challenge :-)

Greets,

Peter

Share this post


Link to post
Share on other sites

Hawkeye: I see your point. I just checked with my scientific calculator (TI-85). It has 10x5mm buttons (landscape orientation), and 15mm distance (center-center) horizontally, 10mm vertically.

The horiz. spacing is ideal (but then, I've been using this calculator since school...), I can push 4 buttons side-by-side at the same time with 4 fingers, I tried the vertical spacing (by rotating the calculator), it's too narrow.

Personally, I would maybe add midi sockets, and MIDI(clock) routing functionality (either with the core if possible, or maybe gm5?). Maybe even MIDI-over-OSC-over-ethernet would be interesting, but I don't know if that's feasibly technically. then this would be my one-stop-shop midi router/bpm display/pattern programmer. :rolleyes:

a slight btw: is it easily possible to properly align all the switches if they are smd?

@physical implementation: for the buttons I mentioned, I found this http://garden.seeedstudio.com/index.php?title=64_LED_Button_Pad (there's a brd and sch file inside), maybe it helps you get an idea.

Edited by bilderbuchi

Share this post


Link to post
Share on other sites

Hi,

thanks for checking it out using your calculator :-).

All help is greatly appreciated (especially finished and tested? BLM layout files).

While everything has been documented nicely (you can basically stick the LPC17, the BLM Shift Register and the Button/LED schematics together), my greatest problem is the placement of everything on this tiny board.

Also, I´d like the left column of the BLM (+X component) to be user-separatable by using a dremel and a cutting wheel, that´s why I´m thinking to rotate the whole design by 90° to have a 4x17 vertical segmentation -> the 32 bit core should easily be able to translate incoming "old" rotated blm packets to the new format and back again.

Roughly sketched, I could imagine it to look like the attachment - as there was a little bit space for more connectors, I´ve drawn in optionally populatable MIDI sockets as requested, they sure may come in handy for any other kind of app or BLM extension running on it... There is only one MIDI pair due to space limitations, but please bear in mind, that you could have a few of these stacked Mini-BLMs forwarding MIDI to OSC and vice versa.

The smd diodes for the tactile switches are still missing in the image, but all component sizes have been measured and are roughly right.

The board size would be 18x24cm for the leftmost BLM, and 16x24cm for any further (cutted) module.

I am just not sure if all traces would fit, and there is enough space for it to be primarily single-sided, or if some SMD components would have to be soldered to the backside - any feedback is welcome, even destructive one :-)

Greets,

Peter

post-7895-0-80963000-1311247120_thumb.jp

Edited by Hawkeye

Share this post


Link to post
Share on other sites

The button spacing on my BLM and Seq PCBs is 19mm horizontal, 14mm vertical. I haven't spent much time using it yet but so far I'm happy with the spacing on the Seq.

You may find it very difficult to route the traces from the Scalar sections to the matrix with a 2 layer board.

Also, you need to factor in possible front panels + button caps, and maybe check whether the vertical separation between each row is sufficient (visually with the LEDs.) And anchoring the whole thing to a case.

I hope to have initial testing done on my BLM PCBs done in the next few days and will be happy to share - hopefully no mystery problems like with my Seq PCB.

:)

Share this post


Link to post
Share on other sites

Thanks, findbuddha, I will wait for your tests - great work on your BLM, hope everything works!

Me just had an idea, how the above design can be improved - consider the shown PCB as the frontpanel of the unit, all switches and LEDs are quite flat and SMD-soldered to it, no real need for plexiglass (but you could have something cut by ponoko, probably).

But then, the LPCXpresso and all ports would be exposed, which would not be very nice visually...

So, consider just flipping the upper section of the image to the backside. You would therefore only see the solder points for the LPCXpresso, the solder points for the MIDI, USB, ethernet and power sockets and the vias.

The BLM_Scalar modules would then be realized with smd components on the backside, just like TKs original design - and would connect to the switches and LEDs with vias. With this method, another two centimeters of vertical PCB space (18x22cm final size) could be saved - and the original 17x4 (x5) horizontal segmentation could be used.

Gotta get back to work, thanks for your comments :)

Greets,

Peter

Edited by Hawkeye

Share this post


Link to post
Share on other sites

Hmm, this is very disco! An interesting side-effect is that it's probably cheaper to use the LPCXPRESSO than the older BLM which was using a special connector...

What's not to like? 2-color LEDs vs full RGB? I think Wackazong used some RGB trick for his MB-Station?

Grrtzz,

/J

Share this post


Link to post
Share on other sites

oh, the LEDs don't got under the buttons, monome style? that's a pity. :-(

You don't want a MB core module at all, but want to design one yourself? Wouldn't it be smarter to make the blm pcb attach to the core via ribbon cable? then you have a production-ready and proven core with all the connectors you need, and could design different version of your blm (4x4 to 16x16) which could easily swapped.

I don't imagine you will lose much space with this (even gain some because now you can sink/lower the expresso pcb without problems), but have huge gains in modularity and reduced complexity.

Share this post


Link to post
Share on other sites

@jojjelito: yes, 2-color "only" is fully intentional, because of the design goal of minimum price per BLM - but it will be fully sufficient for pattern programming.

@bilderbuchi: yes, the cheapest tactile switches with integrated LED illumination, that I found were around 1 US$, so I thought, that 5+9 cents per switch/led are very sensible cost-wise.

Also, as the button cap push area is only 5x5mm, it makes sense to have the LED above the area you pushed, for visual confirmation, that you really enabled the step (otherwise only your finger is illuminated :-)).

Regarding the integration of the Core... The LPC itself is carried as a "removable" shield on the backside - as there needs to be lots of PCB routing done anyways, it makes sense to integrate it for this module. It is already very specific, anyways.

I just measured the space above my Moog LP - and four of these units (18 + 16 + 16 +16 cm) would fit perfectly for a compact 64x16 BLM ;-). So I guess, I have to bribe someone to help with the PCB routing :-)

Greets,

Peter

Edited by Hawkeye

Share this post


Link to post
Share on other sites

yes I agree about the sensible cost. that's really quite the (good) difference. you are right!

about the pcb question: please understand, I neither want to rain on your parade or destroy your vision of the project (it's yours after all), but consider these points:

1) you would have to replicate (and route and design) a lot of the already existing and tested lpc-core module - the circuits and components for usb and/or ethernet, power, maybe midi. this is not very easy i think. also, TK has hinted that the proper ethernet socket is difficult to obtain.

2) the routing and components for the blm itself is really regular and homogeneous - a couple shift registers and/or darlington arrays(?); buttons, leds, diodes on a NxM grid. maybe a cap or two. easy to route and design, easy to connect to an lpc_core via ribbon cable.

3) what you have in mind would essentially create a crippled core with blm attached. not extensible (e.g. lcd's or some pots or encoders for people wanting to reuse your design for something different). i think this goes agains the always modular midibox concept.

4) If you create separate pcbs (and plan properly), the design would be easily extensible - already have a 8x8 system set up, but you find out you want 8x16? no problemo, just build another 8x8, connect with ribbon cable, and adjust some software, and you're done. you'd only have to design a 8x8, and maybe a 4x4 pcb.

Doing it your way would mean ditching the already built pcb (a total loss), and building another one from anew, but now redesigned for 8x16, with all the testing, new routing, new ordering of prototypes, etc. Also, you'd need a separately designed system for every imaginable configuration - from 4x4 PPG (pocketpatterngenerator :D) up to Jean Lucs megacontroller (and test and order each variant separately - no economy of scale!)

5) when everything is on one pcb, you have to resort to tricks like putting the lpc (and maybe all the components, too - don't know if that's even feasible) on the backside to be able to have a nice frontplate. when it's modular, you just have the minimal blm pcb under the frontplate, and you can put the core wherever you want, maybe even half under the blm to save some space.

6) what do you gain by making one big pcb? maybe (maybe not) some mm space which is otherwise lost to two pcb-edge areas? some space occupied by small ICs and pin sockets you don't use/need? at the cost of nights and nights of re-routing and trimming TKs already tested core design?

so, in summary, sorry, i don't see how your approach makes sense (which is why i am so insistent), but now i have said all i could, i will let others speak. maybe some experienced boxers can chip in here with their view? maybe i'm totally wrong actually, and overlook something critical here.

in any case, all the best with your project. :) :flowers:

Edited by bilderbuchi

Share this post


Link to post
Share on other sites

Bilderbuchi, no problem at all - thanks for your comments - they are appreciated - I have to start learning pcb creation first anyways, so it will take some time before reconsidering modularity vs integration :-).

Edited by Hawkeye

Share this post


Link to post
Share on other sites

Which software? Eagle would be kinda standard, excellent package, but the free version is size-limited.

This pcb was _just_ small enough for the free version:

Fritzing was also something I evaluated, but was not mature enough a year ago. They had a handful of releases since then, though, so it may be worth checking out again.

edit: whoa, fancy image link!

Edited by bilderbuchi

Share this post


Link to post
Share on other sites

It will ´prolly be Eagle Pro - i´ve seen all those magazine ads over the last 15+ years, so why not -

it is another welcome area to learn something, and I still have a little bit of software budget in the company for this year :-)

Edit: wow, really fancy image link :-)

Edited by Hawkeye

Share this post


Link to post
Share on other sites

It will ´prolly be Eagle Pro - i´ve seen all those magazine ads over the last 15+ years, so why not -

it is another welcome area to learn something, and I still have a little bit of software budget in the company for this year :-)

Edit: wow, really fancy image link :-)

If you have the budget, look at Orcad :) You can get Orcad PCB Designer Pro for around 10000 USD. It's really nice, but you have the nagging feeling that you're shooting at mosquitos with a howitzer while using it tongue.png

Why is there no EDA/PCB CAD software that doesn't solely rely on half-assed keypresses galore only (á la AutoCAD from medieval times), supports multi-touch gestures when applicable, is cross-platform and comes with integrated simulation (SPICE). There, my shopping list only contains easy demands poke.gif Oh, it needs a free viewer other than PDF I can run on my mobile (iOS or Android). Easy.

Share this post


Link to post
Share on other sites

Well yeah, I totally second your wishes for easy tools, 10k is way over the top - the eagle autorouter module had to go, too - and budget-wise i´d liked the Eagle standard version better, but it will allow only for euroboard-size PCBs... Will give it a try, when there is some time :)

Share this post


Link to post
Share on other sites

Well, the Eagle autorouter is next to useless so you didn't miss out there. But, Eagle is very guilty of this 80's button mashing horror. I heard that once you learn it, Eagle can be useful but it ended up being a tedium of TLDR and a buttonfest so I discarded it as fast as I could. Eagle has great functions at a decent price but the interface comes from hell. Modernize bitches!

Instead I went with ExpressPCB, but that's Windows only so that might be a problem for some. I should look at running it virtualized so I don't have to reboot out of Lion.

Still, best of luck!

Share this post


Link to post
Share on other sites

I've been happy enough with KiCAD. Free! Woooo. It also has a nifty ability to append .brd files together for cheaper manufacturing at eg. gold phoenix. And easy access to the Freerouting.net router, which I find very user friendly to route traces manually.

Initial test with my BLM PCBs revealed a silly error, but fortunately it is correctable with a simple but time consuming cable modification. 1st two buttons/LEDs seem to work as expected. I hope to have the rest completed today/tonight.

Share this post


Link to post
Share on other sites

That sounds great - I will try to learn Eagle and read a book on PCB layouting with it in the holidays, so it will take some more time for me :-).

Greets!

Peter

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now