Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1078 Posts in 245 Topics- by 866 Members - Latest Member: Wjamnunsub

March 25, 2017, 06:31:53 PM
The Stribe Project - ForumGeneral CategoryinfohardwareTopic: MIDIbox based solution
Pages: [1] |   Go Down
Print
Author Topic: MIDIbox based solution  (Read 13723 times)
0 Members and 1 Guest are viewing this topic.
tk
Intrigued
*
Posts: 8


View Profile
« on: March 29, 2008, 09:25:51 PM »

Yesterday I found some time to build my stribe board. I must highlight, that it took less time than expected; after ca. 4 hours the LED bars lighted up in their whole beauty. Not at least because of the well constructed hardware and excellent documentation - congratulations Josh! Smiley

Most of you guys are using Arduino based hardware, therefore I'm not sure if you are interested in an alternative approach, which is based on the MIDIbox hardware platform and MIOS. As the name implies, the focus is on MIDI communication instead of OSC via USB, accordingly this solution covers different usecases.

The main difference to your current approach is the autarkic firmware, which doesn't require a computer to process the sensors, handle the LEDs, and to communicate with other MIDI devices. This might make it less flexible for experimental stuff, on the other hand I can easily add a LCD, buttons, more LEDs, rotary encoders, etc... - everything which is provided by MIOS - and control my MIDI synths directly.

The firmware is already running stable, and available here

Today I had some fun with the board and Reaktor. I found a way to transfer volume levels via MIDI, which improves the user interaction a lot. I was so happy about this solution, that I recorded the session on video Smiley

-> http://www.youtube.com/watch?v=oJpwpAHuDvQ

Best Regards, Thorsten.
Logged
janijanietc
Full Striber
***
Posts: 140



View Profile WWW
« Reply #1 on: March 30, 2008, 10:58:16 AM »

I saw this vid up on matrixsynth, and I am blown away.

Nice work!  I can't wait to try this out myself.

I'm not sure the possibility of this, BUT,

The Arduino MINI still had several unused digital inputs.  Installing a simple N.O. momentary switch could allow for two separate firmwares to be toggle back and forth.  Never tried this out with Arduino stuff, and maybe it won't work.  But, I have the feeling that having an Arduino and MIDIbox based firmware choice will evolve over time, and this might be simpler than physically having to alter the setup between the Arduino MINI and the MBHP-CORE each time.  I'm not sure how you had all this set up, so maybe I'm off base with this assessment.

Or maybe a toggle switch would be more appropriate?  Not really sure the details at this point, so I'm just throwing things around in my mind imagining possibilities Smiley

But, all those digital inputs are sitting there waiting for something... maybe the ability to decide which firmware to use?
Logged
ultrajosh
Administrator
Master Striber
*****
Posts: 396



View Profile WWW
« Reply #2 on: March 30, 2008, 11:52:22 AM »

WOW!  Grin


Here's the matrixynth link
Logged

"Well you touch it and it makes sounds."
tk
Intrigued
*
Posts: 8


View Profile
« Reply #3 on: March 30, 2008, 04:32:12 PM »

Thanks! Smiley

The firmware uses MIOS as operating system, which is running on a PIC microcontroller. A port to ATMega would result into a lot of effort, because all low level routines are assembler optimized, and therefore not simply compatible with a different uC architecture.

I had a quick look into the Arduino specs, and noticed that the MINI board is stuffed with a ATMega 168, which offers 16k flash and 512 RAM. This isn't enough for my firmware - it needs already 512 bytes for the individual LED delay counters which produce this nice looking "tracing" effect (LEDs are not turned off immediately, but after a given time). The MAX7221 registers are doublebuffered (+128 bytes), and MIOS itself consumes also some memory (e.g. for MIDI input/output buffers)...

So, it could only be a simple solution with less features

Even if another Atmel chip would be used... for me, it would be much easier to add the OSC protocol to the MIDIbox based firmware than trying to implement all the stuff again for the Arduino platform Wink


On the other hand: a PIC can be easily added to the prototyping section of the Stribe board, it's really cool that Josh prepared this!
Here the schematic: mbhp_core_for_stribe.pdf

The PIC18F4620 is very robust, easy to solder (DIP, should not be soldered directly on board, but plugged into a 40-pin socket!), offers 64k flash, 3968 bytes RAM. A PIC programmer is not required If you buy a chip with preburned bootloader in SmashTV's shop (-> US $10), firmware updates can be done via MIDI.
You could also use a MBHP_CORE module (like I did in the demo), which includes some additional components to add a LCD, DIN/DOUT modules, etc...


Interconnections: the analog lines to the softpots can be shared with Arduino, and soldered directly to the analog pot headers. The Load/Clock/Data lines for the MAX7221 chain need some special care, as only one Microcontroller should drive these inputs.

So, either you have to add a 3 pole switch, or a digital multiplexer, or - a solution I would prefer - just solder the three cables on a 3-pin male header, unplug the Arduino Mini, and plug the header into the Arduino MINI socket. This physically ensures "exclusive" sharing of the 3 data lines Wink

Best Regards, Thorsten.

Logged
ultrajosh
Administrator
Master Striber
*****
Posts: 396



View Profile WWW
« Reply #4 on: March 30, 2008, 07:04:29 PM »

No, thank YOU!  This is very exciting, especially the PIC solution with the MIDI, I can't wait to try it out!
Logged

"Well you touch it and it makes sounds."
janijanietc
Full Striber
***
Posts: 140



View Profile WWW
« Reply #5 on: March 30, 2008, 07:43:01 PM »

I think that down the line, a small run of some PCBs to fit in the protoarea utilizing the ribbon cable idea (to fit into the MINIs slot) would be great. 

No idea how to do this, but it would be nice.  I wonder if the MIDI jacks on the PCB in the proto area would leave enough clearance for the case designs that are floating around (the plexi case).

Thats a bit down the road, isn't it...

Well, with this MIDI based solution, a MIDI-to-CV converter would take care of the CV output ideas...!
Logged
tk
Intrigued
*
Posts: 8


View Profile
« Reply #6 on: March 30, 2008, 08:11:55 PM »

Oh, you don't need a special MIDI-CV converter, the driver for MBHP_AOUT (MAX525 based)/AOUT_LC (74HC595 based) or AOUT_NG (TLV5630 based, recommented solution) can be easily added. PCBs are available. Currently, only 25% of the PIC memory is utilized. Smiley

Best Regards, Thorsten.


Logged
tk
Intrigued
*
Posts: 8


View Profile
« Reply #7 on: March 31, 2008, 08:40:51 AM »

Here some pictures of the MIDIbox variant:


More #1
More #2
More #3
More #4

As you can see, this is really an "uC Hacker" solution. I haven't added the 3-pin header for the MAX7221 signals, as I'm not planning to stuff Arduino boards anyhow. If you never wirewrapped a circuit before, it would be easier to use an external MBHP_CORE module - or to create a special PCB as proposed by janijanietc

Btw.: the current drain is ca. 1.4A when all LEDs are turned on. The voltage regulator of the MBHP_CORE module is only specified for 1A max! So, if somebody creates a PCB, a low-drop VR for up to 2A should be added.

Best Regards, Thorsten.

Logged
ultrajosh
Administrator
Master Striber
*****
Posts: 396



View Profile WWW
« Reply #8 on: March 31, 2008, 12:41:23 PM »

> Btw.: the current drain is ca. 1.4A when all LEDs are turned on.

This is around what i was finding, too.  I'm a little concerned about the high current draw since it's beyond the USB spec, although it seems to run fine on all the machines I've tried as long as it's not sharing the port.  Any suggestions?
Logged

"Well you touch it and it makes sounds."
tk
Intrigued
*
Posts: 8


View Profile
« Reply #9 on: March 31, 2008, 02:08:32 PM »

I think, that the risk of damage is too high. Maybe it is running fine for a short moment, but if a too high current is drawn over long term, internal components could be overheated. In other words: if the USB ports are not protected for overcurrent/heat, something could blow up sooner or later... if they are protected, the USB port will be disabled by an "inbuilt fuse" early enough

VR: "LM 1085 IT5,0" seems to be a good choice, because it's easily available. The dropout voltage is only 1.3V

Best Regards, Thorsten.

Logged
ultrajosh
Administrator
Master Striber
*****
Posts: 396



View Profile WWW
« Reply #10 on: March 31, 2008, 03:37:09 PM »

I was thinking maybe I could build some protection into the firmware to limit the amount of time all LEDs can be lit at once.

But a fuse sounds like a good idea, too.  Smiley
Logged

"Well you touch it and it makes sounds."
Mudo
Intrigued
*
Posts: 42


View Profile
« Reply #11 on: February 26, 2009, 02:14:57 PM »

...
Hi Josh, TK and community,

I'm interested on this approarch and it seems the tread is a bit oldtimed...

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

This new Core will do the things more easier?
It is possible to attach stribe to this unit trought ADDA ports?

I'm just starting to learn TRUE DIY projects (from nothing) like this two and I want to become helper...

Thanks,
Mudo
...
Logged
Pages: [1] |   Go Up
Print
The Stribe Project - ForumGeneral CategoryinfohardwareTopic: MIDIbox based solution
Jump to:  

Theme orange-lt created by panic