Our community blogs

    • 2
    • 0
    • 14432

    Recent Entries

    Latest Entry
    The way Augmenter as a system is conceived cannot be easily explained in one sentence.
    The first thing to realize is that it is a whole guitar amplification system.
    It consists of several components, and this compartmentalization is what makes this doable, regardless of the size of the circuit.

    So let's run down the signal chain.
    Starting from the guitar and cable, we arrive in the first major building block, which is the pedalboard unit.
    This consists of several analog fx pedals, a BOSS GT-8 multi-effects unit, a DI and ReAmping interface, and the digital circuitry involved in making the connections between those parts.

    From there on, by means of a balanced feed of several meter length, we move into the actual amplifier. this one consists of two booster stages, level adaption circuitry, another DI-Interface, four preamp channels with flexible tone stacks, two effects loops, two output EQs, and several types of power amplifiers, so output power can be selected due to the prevalent environment.
    And, of course, there is some digital control means implemented here as well, interconnected by MIDI with the pedalboard, or controlled by any other MIDI controller for that matter. So, in essence, there will be two cables running between the pedalboard and the amp head, and that's it.

    That's the system I have in mind, and right now I'm feverishly drawing up circuit diagrams to design the components of this system.
    My personal goal is to make all this fit onto a single 155 square inch circuit board to order from goldphoenix, which I would seperate into individual modules manually,
    and build any missing stuff on perfboard.
    The midibox NG seems like the right start to base the pedalboard switching system on, and the money is still out on the (somewhat simpler) amplifier switching system.
    If I manage to obtain a crossbar switch IC, I will use that as a rather elegant switching solution.

    The power amps I have in mind and that I'd like to implement are LM386, TDA1517, TDA2003 (or TDA 2050) and LM3886. I opt for integrated power amplifiers because, in all fairness, they offer way better quality than anything that can be discretely built (as long as you provide proper cooling and won't let them clip).
    Tubes are out of the question for me; however much I like the sound of tubes, they're just a pain in the ass to get right, and the heat and inevitable wear makes them very problematic.
    One thing I want to avoid like the plague is ground loops, and thus every connection between independently powered devices (pedalboard, amp head, GT-8, ReAmp input, D.I. outputs) is isolated by using signal transformers, eliminating any chance of forming a hum loop.
  1. Latest Entry

    Alright, another update is due.

    While waiting on some other things to arrive (PICs and CS pcb) i thought it was a good idea to finish some other projects. So i removed some detents from encoders and I received 25 lego pegs, dremeled them in two, glued them on tactswitches, some more dremeling and put on my custom rubber caps.


    And today i visited a good friend with a lasercutter.


    And cut out the frontpanel out of triplex wood.


    Sanded it down and put on somespray laquer, this is the result.


  2. Hi everyone I’m back and my project too.

    It was not easy. Not because of the technical issues, just bad karma.

    In 2011/2012 I made a working firmware and a manager under Max/MSP.

    Because of personal reasons, I put the project on hold.

    End of 2012, I received a message from Eptheca who asked me the status of the project.

    With his help we decided to print 3 PCB’s. Unfortunately during this period, the hard drive of my computer suddenly decided to leave me, and I lost all my work: ((

    I sent the drive to Shanghai to try to recover my data, but of course my disc was one of the non-recoverable 10% (always this bad karma).

    So now we had the box and the electronics but nothing to put in it.

    In February I decided to rewrite everything but it took me some time.



    We've now got a new firmware and the application to manage the box.

    I am inspired by the version 1 MB-SID.

    I kept all the features of this engine.

    I improved the management of banks, I dedicated two envelopes to the voice of the TIA which is free, and a few small details that might please you.

    Here is the features of it:

    • 1 dedicated envelope for each voices(so 2) with optional non-linear curve and Sync which can be assigned to Amplitude and pitch. 3 specifics Mode to mix Modulation matrix and this env
      Env+Mods, Env*Mods, Env+(Env*Mods).
    • 2 additional envelopes with optional non-linear curve and Sync which can be assigned to Amplitude and pitch.
    • 4 additional LFOs with different waveforms and Sync which can be assigned to Amplitude and pitch.
    • Pitch Bender
    • Portamento/Glide function with Optional "Constant Time Slide".
    • Delays
    • 1 Arpeggiator for each voice(so 2) with optional Sync.
    • Poly, Mono and Legato Mode
    • Separate keyboard zones for each voice (key splitting) allows to play voices separately
    • Extended Mode for keys(all note reponse) or non extended with offset and length.
    • 1 velocity response for each voices (so 2) with optional CC assignment
    • Free controller assignments to Modulation Wheel and Aftertouch
    • LFOs, Envelopes, Arpeggios optionally syncable via external MIDI clock (one for each;)
    • BankStick support (4 banks of 128 sound patches per stick, up to 8 can be connected) so 32 banks.
    • And much more.

      Coming soon:

      • wave and CC sequences which allow more percussive sounds (Wavetables) with dedicated banks.
      • Drum or Fx Kit Presets with dedicated banks.
      • 8 Analog I/O
      • 4bit sampling ;)
      • Atari 2600 Joystick and Video touch pad support.

      There's no CS on the cartridge version, but there's enough room in FW to add it. If someone wants to create it, you are welcome. This firmware is only for 18f4685.

      You can add MB-Link too if you need it, PORTA.0-7 and PORTB.0-3 share 8 I/O on the AUX connector.

      No CS; but I designed a Max/MSP Application (windows and Mac compatible):

      And it has iDevice support(sorry for those who boycott Apple products):

      I'm trying to finish a Max4Live version, with a common file between both applications that will retrieve the names of banks, patches and all parameters without having to open the input of the midi track and make a CC request (there's no SysEx in Ableton Live).

      Now i suppose you want to hear it:

      Listen on

      Voilà!!! :smile:

  3. The missing socket arrived this morning. Full of will power I waited until after the days work was done before getting out the now rapidly declining box of bits. Socket in, C64 PSU tested, 9V tested good, so was ready to go. Small glitch until I realised that I had to change the core ID in MIOS Studio too, then all loaded smoothly. Fitted the 6852's one pair at a time, and ran through the sound banks, with a silly grin just getting wider on my face.

    Still got a minor bit of front panel work to do, (3 spacers came unglued), and a little bit of fault tracing - the mix out doesn't seem to be working, but all is good, and the only last bits I need are 4 knobs for the feedback pots.

    Now a lot of reading and learning to do. This thing is a small cased sound mainframe and I want to be able to drive it as it deserves.. Love the way my Korg Kontrol 49 keyboard loops up to a lot of the front panel controls too.

    So very grateful to TK and Wilba for this.

    • 2
    • 1
    • 3422

    Recent Entries


    Je me présente, je suis Nicolás, guitariste acoustique et passionné par les possibilités du MIDI depuis mon plus jeune age, même si j'ai découvert plus tard que je ne pouvais pas brancher mon joystick sur le synthétiseur de papa :smile:

    Je me pose actuellement quelques questions concernant la gestion d'appareils midi depuis un écran tactile, et j'aurai besoin de quelques renseignements pour aller plus de l'avant:

    • Etant donné que je me dépatouille plutot en Macromedia Flash: où trouver de la doc pour communiquer via midi?

    • Comme je suis nase en éléctronique: comment adapter les modules proposés par le fantastique site de uCApps pour pouvoir leur intégrer une interface tactile? Genre un convertisseur de potentiomètre virtuel en valeurs physiques...

    • points suivants à venir, n'ésitez pas à participer...

    Voila, merci de vos réponses et de vos suggestions. A très bientôt!


  4. When interfacing a Joystick, Modwheel or Pitchbender it is sometimes found that the voltage range on the potentiometer output is well inside the range of the Core ADC input.

    This can often be overcome with digital calibration in the firmware (e.g MIDIbox KB) in some cases there is extreme loss of resolution.

    Presented here is a circuit to overcome this to give the ADC the full range (in this case 0..3.3V) even though the range of the potentiometer is well inside this.

    The design process is very easily done following this app note:/index.php?app=core&module=attach&section=attach&attach_id=10542">pdf.gif /index.php?app=core&module=attach&section=attach&attach_id=10542">sloa097.pdf 230.01K 12 downloads

    I've done a spreadsheet to make it even easier!/index.php?app=core&module=attach&section=attach&attach_id=10543">zip.gif /index.php?app=core&module=attach&section=attach&attach_id=10543">Scale 2.45K 9 downloads If you don't have MS Excel, you can use it with free tools Google Docs, or Open Office.

    To use the speadsheet you enter numbers into the blue fields. The input range at the top as measured on your pot. In preparing the examples, I played with the value of Rg2 so that Rg2+R1 came close to 10k. This allowed to replace them with a 10k trimpot as in the example circuits. It was just as well, as the trimpot did require some tweaking away from the calculated values, I found.

    I chose LM324 op amp as it's output goes down very close to 0V. It's maximum possible output with a Vcc=5V is about 3.5V which should be quite safe with a 3.3V Core ADC such as LPC17 MBHP Core.

    There are 4 op amps in this device, so 4 scaling/offset circuits can be implemented with 1 chip.

    Here's the circuit with 2 worked examples:


    Here's the test (input on left, output on right) showing 3 points (Modwheel example):


    Here's another test (input on left, output on right) showing 3 points (Pitchbender example):


  5. It's been a while since I've been able to work on any electronics projects, and while I've been I've been so slammed that I I've not been able to finish my last touches. (Filter pots, mix out, power LED... stuff like that)

    Starting next Tuesday, I'll have at least one recording session every week in my studio until sometime around mid 2014. Being that I'm already so slammed, my life, as far as my "hobby" projects go, will be over, for all practical purposes, until then. Therefore, I thought I'd try to get these last few touches installed before the onslaught of work starts.

    I'll admit I've been dragging my feet a little on this. My box never really worked that well. Notes would stick, cores would randomly go offline (especially if I had more than 2 cores installed) I could use it in the studio, (if it did something freaky, I'd just re-record) but it wasn't reliable to use in a live performance...which was my original inspiration to build this. It was suggested that a nice new linear power supply would be the fix. I don't have the chops at the moment to design and build one of those, and with my new job, I feel I won't have the time to learn... so I figured I'd just have to live with a MB-6582 with some intense personality quirks (much like it's owner) and not use it in a live performance situation. I've certainly learned a lot and had a blast building it, so it wouldn't be a total loss.

    Last night as I was preparing to cut some ribbon cable for the remaining filter pots, I noticed that the J1_SID1 and J2_SID2 jumpers were set for 12V. I'm rockin' 8580's! I had a really good feeling that I had found the problem!

    Initial testing proves correct. It seems to be working better than ever. I still need to test with a full load of 8 SID chips in it, but it's working great with four chips now. Hopefully the fact that I've been using it for the last 6 months or so with the incorrect voltage on SID1 hasn't damaged the first two SIDs. I don't typically leave it on for very long at a time (the longer it was left on, the more quirky it used to act) so, maybe I'm cool.

    This was yet another somewhat embarrassing oversight on my part. (This blog and my posts are chunk full of those.) Well, maybe my willingness to publish my mistakes will help someone troubleshooting in the future.

    I will eventually replace the old C64 power supply by building a linear power supply. I want my SIDs to last. But there is no way I'll have the time to get the expertise and do the build any time soon. However, as the old axiom goes: When you've got the time, you don't have the money...and when you've got the money, you don't have the time. Anyone feel like building me a power supply? :tongue:

    • 1
    • 8
    • 1860

    Recent Entries

    Latest Entry

    I`m back after long time out of MB community and doing electronics in general. I have quite a few unfinished projects that needs some attention. In most cases it is just building housings and final touches, but still a lot of work. I feel bit rusty now, but I`ll catch what I`ve missed. See you around! ;)

    • 1
    • 0
    • 2245

    Recent Entries

    MIDIbox has been a big deal to me, for a long time. While I’ve built a few MIDIbox projects over the years, I always wanted to be a bigger contributor, and there has always been something in my life to stop me.

    Over the past few years my marriage has taken a big shit all over my life. I find myself with great ideas, only unable to fully realize them because of the amount of trouble in my life, particularly because I just couldn’t seem to get along with my wife.

    I am not suggesting for a moment that MIDIboxing should be more important to anybody than the sacred institution of marriage, but … sometimes people will find that their creative life is being stifled by forces like an ill-chosen partner. Such is the case with me.

    I don’t want to go too far into the gorey details here., other than to say that I have been very hot and cold with the MIDIbox community for the past 4 years or so. What I have done has been with the very best of intentions: I have organized multiple bulk orders and I have contributed interesting designs and ideas. But it is difficult to properly see these things to full fruition when your emotions are forever being tugged by external forces.

    I’m telling you now, with mixed emotions, that about two months ago my wife and I finally separated. While this is a sad time in my life for obvious reasons, it is also very liberating. Finally I can tell the truth: the reason why I was often hard to reach, and I was sometimes (very) late in delivering on stuff that I promised, is that I have been completely consumed by marital breakdown.

    Sometimes it took me a very long time to ship things like knobs, after having made deals in good faith. While I have long since straightened everything around with everybody who may have ever had issues, I never really offered any good explanation other than “personal issuesâ€.

    Well today I am glad to announce freely that I have no more personal issues. I finally left her about 2 months ago, and I am no longer looking back. It will still take a bit longer before I achieve the participation level I always wanted with the MIDIbox community, and my own DIY projects, I am finally able to breathe a sigh of relief. I will finally have the time to devote to these things without judgement or undue punishment.

    I really don’t want to sound like I have chosen MIDIbox over marriage. Rather, I have chosen not to be unreasonably judged with no basis or standards, by an individual with no right to do so. This encompasses not only my “Synth DIY†activities, but also the artistic rationale that allows me to freely create.

    Without trying to explain everything that has gone wrong in my life, I am offering a sincere apology to all those who unnecessarily waited months for a few knobs, and to those who have received my (attemptedly constructive) critiques on their concepts and designs without detailed followups.

    I have lots to offer this amazing community, and I am saddened that the value of my verbage has been continuously compromised by my scarcity. Little by little I will be returning in the months to come. Once I get my new home and new workshop in order, I hope to be able to participate with more regularity and loyalty than I ever have.

    In other news, my stage name is no longer “nebulaâ€. I have recently been working with a Canadian label who will be releasing some of my music under my actual given name: Steve Cowan. I’ll keep nebula for forums and maybe later as a musical alter-ego, but I’m excited to finally have an opportunity to get my music out to a larger audience, under any name. (FYI: when I join forums and find that “nebula†is already taken, I’ve been registering as “infindebulaâ€.)

    I have also started a blog site to publicize the efforts of myself and other nearby artists. Have a look at to see what we’ve been up to. The site is active now, but will officially “launch†sometime over the next few months.

    Thanks for listening, my fellow MIDIboxers. I’ve always enjoyed being a part of this community, and I can’t wait to play a bigger part in the years to come.

  6. Latest Entry

    Beat 707 in and out also gorf2 (needs a new cs making),meeblip and shruti.







    • 1
    • 0
    • 2622

    Recent Entries

    Latest Entry

    Hi everyone!

    It's my first entry on my first blog!

    I'm "working" in midibox for about 10years now. I found website when I was looking for a way to build a midicontroller (I have tried before, using some 80C51, or thinking about other crappy design). I was a student at time and I was dreaming about building a custom midicontroller, at low cost (student = no money!!).

    Through the first years, I managed to find cheap parts for building such controller, but I waste so much energy in finding those, that I almost gave up on building the unit. I also work on other DIY projects at the same time (if you look in the forum, you will find a thread about EMU10K1 hacking, or how to add inputs to a SBlive. This turned into a DIY ADAT interface. But that's another story ;)).

    Anyway, since a few month now, I'm trying to get back on midibox stuff, and finish it! Things have changed a lot since I started. It was a PIC16f877 core back in 2002, then PIC18F452, and now we've got 32bit ARM!! Also, we can now find a lot of sexy components, encoder, switch with caps, nice LCD for very little money.

    I will be using this blog to show how I build my midibox LC, and mostly how I resolved issues. As I first tried to bring the motorfader back to life, I noticed 2 main issues (one about the dust protection preventing them from working correctly, and another about differences in position for the same value). If someone, someday, had the same trouble, I hope this blog can help him!

    P.S. : Please forgive me for my bad english. I'm french, and so, sometimes, I can make mistakes :)


  7. First of all, gotta say - sorry - no pictures, my crappy htc phone is at repair, and I have no card reader for that tiny mem card in the computer, so pictures gotta come later on, I have em, but phone crashed before I could load them onto the computer :)..

    This saturday i have been working a lot on the model. A heavy dose of "bondo" to fix some mistakes I made while sanding the release-edge on it.

    To make sure all the surfaces was even (it's hard to feel every tiny uneven bump in the wood / bondo with the fingers - even hard to look for them), I sprayed it with a extremely light coat of red paint and started sanding it with 240 grit and a very even sanding block. this way I can sand the tops off there, and the "valleys" are left red colored :). Then I can sand more if it's not much or I can fill in some more with bondo. I did both methods on the box depending on how serious it was. Smart trick I learnt from an auto painter I know.

    After sanding the entire box, making sure every little error was corrected, i resprayed it with the same red color, now two heavy coats. That is how far I got this saturday.

    Now i am going to sand it first with 240 grit to remove the "orange-skin" which is hard to avoid using cheap spraycans and a non-controlled enviorment :P. Surface will then become all flat and smooth. Then I am gonna wet sand it with 800 grit to make it even smoother.

    Then I hit it with the car-wax. If that's not enough to make it shine, I'll give it a round with my angled polisher. When that is done, the surface should be very pianofinish-like.

    The paint is really just to seal off the wood, so that release wax will do it's job properly. but since I'm using gelcoat as part of the finish on the box when I cast it, it doesn't hurt if the surface is as perfect as it can be on the model - polishing it like this aint really nessecary if u don't care that much for that job :P. But it will probably mean more work later on anyway...

    So if my guess is right, I'm done with the model this week, then I head to the plastic workshop to get some epoxy around it. If I get hold of the right kinda gelcoat within this week, I actually might be able to start to make the real case this weekend. well... that would be sunday - saturday I'm playing in a wedding :P.

    Now time for a nap after work / dinner :) have fun!

    • 2
    • 5
    • 6438

    Recent Entries

    Latest Entry

    Got a whole big box of parts from SmashTV! Finished all the modules except for the core, which I'm working on now. It's going together fast; I must say these PCB's are very nicely done...

  8. Latest Entry

    got a broken Farfissa + a working Yamaha :frantics:


    the Farfissa will be for Parts and the Yamaha maybee too but its working so i think its better to clean and sell it.



    Freaky Speaker



























    Its a good base for the next VST Controller

    The Power Supply , Amp (2x30 Watt STK465 ) and the Speakers (2x30cm Full Range) are working fine (reusing the Cinch Terminal :) )

    Maybe a good combination as the next Active Speaker, the front part of wood for the speakers will be left ofter the Top Part gets cuttet from the rest,

    so just a part of the case will be missing.

    Is anybody interested in the Analog Audio PCB's than please PM to me.

    Its the Farfisa 304 Silver Soundboards

    -Delay Lines

    -Rhythm Analog Generator

    -Rhythm Digital Generator

    -Bass & Arpeggio Filter

    -Monophonic Filters

    -Orchestra Filters

    -LM UM Flutes Filters


    - Controls

    -Rhythm Module

    Each PCP inkl. Datasheet & Partlist

  9. Latest Entry


    Today I got my membrane-Potentiometers (100mm-Hotpot) from Watterott. I had to wire a 10k resitor to between the "wiper" and ground. If this is not done, when the membrane is not touched it, and therefore the AD-converter-input, doesn't have any scecified contact with ground or 3.3V so it will send random signals, which cannot be filtered. With the 10k resitor, the value will be zero when the membrane is not touched, but this can easily be filtered by software.

    Like this the pot works quite well, no jittering. I have a round one and 8 linear potentiometers.


    I also got pressure sensitive resitors (sadly I did not manage an own post for it, I was rahter busy).

    Very simple wireing, just the pressure sensitive resitor between 3.3V and the AD-input and a 10k resitor between the input and ground. This works quite good and is fun to press =).


    I also got my 100 mini-arcade-buttons, yeah!


    Greetings geth




    • 1
    • 3
    • 12432

    Recent Entries

    Latest Entry

    OK, so it isn't a MIDIbox yet, but I intend to add a Jef's sequencer so that it becomes an MB-9090. I pretty much forgot to take any photos during the build as I was too busy soldering. Here are a few pictures of the finished PCBs and their wonderful hideous cardboard base and panel. I intend to design a desktop case for it once I have the sequencer.


    Board 1 part finished - the only build photo I took.


    The completed board 1


    The completed board 2


    The cardboard "case"

    And finally, a bad video of the 9090. I'll have to do a better one (and work out how to embed youtube videos!)


  10. Latest Entry

    Finally mounted all the PCBs on one of the 2 more or less identical modulars we're building over at the labs. I made some 2cm (0.787 inches if you prefer mongoloid units of measurement) thick strips of brass. Those were perforated with a 10mm hole so that they can sit between the pots and the front panel, then I added a small hole for the M3 screw that fixes it all in place. 2 strips per card ends up in too much metal shop for my liking but the end result is surprisingly sturdy.

    We opted for using lots of internal (in-panel) wiring as there are enough wires flying to and from the panel as is. The method of mounting the PCBs for all the modules near their panel space made for short cable runs.

    Now we ended up with one modular with an almost finished pre-wired front panel, one where all the synth PCBs sit where they should. Add the cabinet holding the PSU, add the MB-SEQ PCBs in the top panel of the cabinet, debug beyond the basic short/continuity tests done and we should get some tunage. Grr, it's a long trip but I see the train headlights emerging at the end of the tunnel!

    Basically, the mechanical (BORING!) aspects of it all takes up nearly the same time as the electronics. Le sigh... But, it will make weird sounds soon whistle.png

  11. hey all,

    I am continuing my blog on that way everybody can see how it is going with my project.

    Cheers Jef

  12. In general I don't recommend starting any project with an enclosure that is smaller than what you can fit a proto version of your project in. But my enclosure supply just about gone, so I'll use what I have. The tekbox from TEKO enclosures. (NOTE: If for some insane reason you decide to emulate this work in progress, buy a tekmar case. It's the same but bigger)


    Stage 1: Planning (barely) ahead.

    Since this isn't a masterpiece by the MB gods, I 'm just going to build the control surface on veroboard (protoboard) and hand wire each component. This gives me that added option of making components sit really close to each other without worrying about PCB traces. My veroboards are from RadioShack. They are pretty standard 0.05" spaced holes and have pads on one side. To make sure the control surface would actually fit in the tekox, I created a new part of the pads in Eagle and then placed each component on the grid. My LCD in this picture is from the SparkFun eagle library. I also placed an optional 4 digit 7 segment display and knobs on the layout. (If you can, always place the knobs on encoder layouts. Even if its just a circle. I have at least 3 old projects that I never use because there isn't enough space for knobs and it looks like crap)

    blogentry-4340-016624400 1297998888_thum

    For all intensive purposes the 4 digit 7 segment display will probably not get populated (but its nice to have the option to put one there).

    Stage 2: Sizing up the competition

    As you can see in the picture below, the 1:1 print layout of the control surface fits perfectly in the recess of the top half of the enclosure. The knobs might protrude on either side of the case recess, but I'll just have to live with that.

    blogentry-4340-002913900 1298167212_thum

    Still not done checking though. I've burned myself enough to know that I'll have to test fit some parts on hand to make sure this is all going to work. After testing the LCD, I realized the SparkFun 16x2 LCD pin out is off by 0.05" but the outside dimension is perfect The SparkFun display was perfect. The Displaytech LCD footprint I used wasn't. I'll adjust the part and retest the fit. In the next version, I've also rotated the swing pot 180 degrees so that I can add the record indicator led next to the shift indicator led.

    Stage 3: 3D Rendering

    This step wasn't even remotely necessary. I'm just playing in sketchup with 3D rendering of eagle layouts. I've modified the EagleUp script and created some new models to generate a 3D rendering of this control surface. I originally had every intention of checking this against the enclosure DXF but OKW (TEKO) didn't have one available, so this is what you get. Still makes me happy to look at it.

    blogentry-4340-020420500 1297998963_thum

    This project is still very much a work in progress. At the time of this writing, I'm still planning the base PCB. If for any reason the MidiBox gods see a train wreck coming, let me know.

    • 1
    • 0
    • 21586

    Recent Entries

    MIDIBox SlideControl is a remote control solution for Kodak Carousel slide projectors aimed at event usage.

    It was a sometimes painful process of about 1.5 years to arrive at the solution at last. Success would not have been possible without the great midibox community! Thank you!


    One box "on stage" receives MIDI and button presses to switch slides forward/backwards. Due to the long distances to be bridged (10-50 meters), it was necessary to use the CAN protocol/MBNet to transmit the necessary information to a distribution box (typically up in the rafters/trussing), from where up to 8 slide projectors are controlled in a star topology. Control is achieved by closing an electric circuit of the projector via a reed relay for total electric insulation.

    Preliminary test confirmed that it is possible to transmit control information over 100 meters (!) of ordinary cable. The CAN protocol maximum specified distances lie in the range of 7 kilometers, only dependent on bit rate.

    Due to the nature of the CAN protocol, it is easily possible to add further distribution boxes and daisy-chain them from the first one. One could control more projectors than I care for that way (>=64), only limited by MBNet address space.

    One nice consequence of the design is, that XLR-cables, which are ubiquitous in event production, can be used for the cabling of the whole project (stagebox->distrobox, distrobox->projectors).

    Stage box

    The stage box consists of one PIC8 core stuffed with a 18F4685 (necessary for the included CAN interface), one DIN for the buttons, one standard character LCD, and a small self-designed PCB for the CAN driver/transceiver, all put in some plastic case I had lying around.

    Distributor box

    The distributor box consists of one PIC8 core (with 18F4685 as before), and a self-designed PCB containing half a DOUT, the CAN driver circuitry, and the reed relais. XLR plugs etc. made the whole affair a little cramped (the core is actually stacked on top of the self-made PCB!), but I am very satisfied with how it turned out.

    Some adapter cables and a connection tester made the whole thing complete and ready for action!


    The software is basically a MIDIO128, augmented with the MBNet parts I ripped out of Midibox SIDV2. Due to MBNet only being available in assembly, I had to stay with a programming language I don't actually speak. TK was an invaluable help in merging the relevant source codes together!

    The software forwards button presses to a distrobox. Since the distroboxes have Device ID's starting from one, it was possible to route received MIDI events to distroboxes depending on the MIDI channel, so events on Channel 11 only go to distrobox 1, Channel 12 to number 2, etc. I chose to start with Channel 11 to avoid interference with common MIDI control messages, which are typically on CH1.

    I would rather not just put the code online here, because it is actually quite a hacky solution, and most probably affected with bugs I haven't found, and definitely not programmed elegantly. I only grafted MBSid code onto MIDIO128 in the crudest way possible, and I don't really know how to program assembler, it was much more "educated copy-paste". I will definitely send the code on request, and I did everything in a git repository, so it should actually be possible to follow my changes, and adapt them to you own needs.

  13. Yes, i admit, i'm slow as a turtle. But as a turtle i've put out my head, and today out in direction to the blog! :)

    Ok, jokes apart, in the previous step i've explaned how to get installed the needed tools to compile apps for our beloved Core controller, in this third step we will see how to get the SVN repository and then how to get and app compiled and ready as an .hex file to upload to our Pic Core, or Core32.

    First thing is opening the Terminal.

    Since the last step i assume that we get familiar with the Terminal window so i'll not explain where and how find it in our Macs!

    Once you have the terminal opened, go to your home folder.

    Usually when you open Terminal you're already on the Home folder, and you'll see your mac login name on the left of the cursor.

    Just type

    and hit return. You'll see a list of files and folder, open via finder your home folder, if you see that the files are the same you are surely in the home folder with the terminal. Otherwise you're in another folder and what you have to write in the terminal is the following command
    cd Users/yourhomename
    It will bring you to the home folder. Home folder that will be the folder where we will put the mios, or mios32 repository. With Terminal opened write this command
    svn co svn://
    You'll see that the Terminal will start to download all the repository files in a folder called mios in your home directory. We are downloading this repository in the home folder because we will have to set a .profile file needed to the compiling process. I'll explain his purpose later. Ok, when the Terminal have finished the download, we will see a folder called mios in our home with inside it two folders, trunk and playground. We will concentrate on trunk, the place were all what we need for our apps is placed. But, hey, we forgot the SVN32! Simple task, repeat the same command "svn co" but this time with the svn32 address:
    svn co svn://
    At the end of the download you'll have the core32 repository, always in the home directory. Now we have both core and core32 repository in our home folder. You should see mios and mios32 folders. Well, start to compile! No. Do you remember the .profile file mentioned just before? We have to edit it so the tools installed in the Step 2 will work flawlessy. Don't ask me more about this, as i'm learning like you and sometimes i know that things must go in this way but i don't know why because i haven't yet understood all. I know that's not brilliant, but at the end i've the compiling process working! :) (i hope to explain better why to modify .profile page as soon as possible!) Let's go on modify our .profile page, you braves! On terminal write this command (be sure that you're in the home folder "/Users/yourhomename", not in another folder like mios or music ):
    open .profile
    You'll see a textedit file opened. Put at the top of the file this code if you are using the mios repository:
    # mios
    export MIOS_PATH=/mios/trunk
    export MIOS_BIN_PATH=$MIOS_PATH/bin
    # mios end
    Put this code if you are using the mios32 repository:
    # mios32
    export PATH=$PATH:/usr/local/stm32/bin
    export MIOS32_PATH=/mios32/trunk
    export MIOS32_BIN_PATH=$MIOS32_PATH/bin
    export MIOS32_GCC_PREFIX=arm-none-eabi
    export MIOS32_FAMILY=STM32F10x
    export MIOS32_PROCESSOR=STM32F103RE
    export MIOS32_LCD=clcd
    # mios32 end
    If you're using both the repository put this:
    # mios
    export MIOS_PATH=/mios/trunk
    export MIOS_BIN_PATH=$MIOS_PATH/bin
    # mios end
    # mios32
    export PATH=$PATH:/usr/local/stm32/bin
    export MIOS32_PATH=/mios32/trunk
    export MIOS32_BIN_PATH=$MIOS32_PATH/bin
    export MIOS32_GCC_PREFIX=arm-none-eabi
    export MIOS32_FAMILY=STM32F10x
    export MIOS32_PROCESSOR=STM32F103RE
    export MIOS32_LCD=clcd
    # mios32 end
    Save the file (cmd+S) and then close. Now, to refresh the system with the new .profile file we have to write this in the Terminal window:
    . ~/.profile
    Be careful to include also the first dot! Best way copy and paste. ;) Once the .profile file is refreshed we can now go with our terminal to an app folder and try to compile it. But before i advice you to do always a backup of the folder that contains files needed to compile. My workflow is the following: I need to modify and compile the blm_scalar app. I copy the blm_scalar app folder in another backup folder, folder that can be placed anywhere outside the mios, or mios32 folders. I will have in this way an original copy of the svn downloaded one. Now that we have placed the original copy in a secure place we will start to go into our app target folder with the Terminal: When you are in the home folder with the Terminal write this command
    cd mios/trunk/apps/controllers/blm_scalar
    You'll be in the blm_scalar folder where all the .c, .h and makefile, needed for compiling, are located. Remember that you must go in an app single folder with Terminal to have the compiling process working. I mean, if you need to compile the midibox64 app, you will ahve to go to the midibox64 folder through the command
    cd mios/trunk/apps/controllers/midibox64
    and so on for the other apps. I advice you to check out the apps and the relative folders path via finder, and then write the needed path in the terminal. Ok, returning to the our folder, blm_scalar, we are ready to compile our target app. You should have in terminal this position:
    macname:blm_scalar yourhomename$ 
    What you have to do now is simply write in Terminal
    The terminal will print out some text and then the prompt will be back. And now? Check out what changed in the folder via the Terminal command

    You can check out what changed also with finder going into the blm_scalar folder.

    You should see that some files and a folder were created! should see project.hex, our compiled app ready to be uploaded to our core!

    Ok, now that we had this file how we can upload to our core?

    Simple, we will upload it using MIOS_Studio!

    Download it from here, scroll the page to the bottom, you'll find the download links for mac and windows.

    In the meantime that connect your Core board to your computer via midi, connecting both midi in and midi out.

    Once the MIOS_Studio is downloaded, place it in your applications folder and then launch it.

    Click over the browse button, go on the blm_scalar folder located in /"home"/mios/trunk/apps/controllers/blm_scalar, select the project.hex file and click ok.

    Then click the start button and the progress bar will raise up with the upload of the project.hex file!

    When finished your core will reboot and in the MIOS_Studio you will see a "ready" text!

    You have now your app compiled and uploaded!

    Consider that the same process is valid when you modify apps and the you'll upload them, is the same also if you are working with the mios32 svn.

    But remember always to backup the apps folders and to check if the svn is updated!

    I'll write about the modify of the app later as is something that i've not yet learned.

    In the next step i'll write about the components needed for my specific controller project and write about some other thing that i'll think over in the next days/weeks! Remember the turtle! :)

    • 2
    • 0
    • 13567

    Recent Entries

    I have decided to put my MBFM on hold. And build a MB6582 first. This way i can see how a frontpanel design works out before i order a new design for the MBFM.