Our community blogs

  1. 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
    • 3940

    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!


  2. 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:sloa097.pdf 230.01K 12 downloads


    I've done a spreadsheet to make it even easier!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):



    Appnote Cct with Examples.jpg

  3. 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! :)

  4. Zossen
    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

  5. 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:

  6. 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
    • 0
    • 13969

    Recent Entries

    Indeed. After i got a message from shuriken. Seems something wrong with date setting.

    Anyway the software is completely new. This was a suprise to me.

    So start blogging!

    • 1
    • 1
    • 11675

    Recent Entries

    Having had most of the parts required to get started for a few months already, I finally managed to spend some time working on this project! The midibox forum upgrade seems to have come with this new blogging feature, so I thought I'd use it to document the build.

    I started last night by unpacking and sorting all the components required to assemble the base PCB (acquired from SmashTV). This didn't take very long as although there is a lot of components there is not that many different kinds; almost everything comes in multiples of 8. I wonder why that is... ;-)

    After a bit of confusion as to which PSU option I was gonna go with, I opted for PSU Option A since I will only be using 6582s (8 of them, acquired from Wilba quite a while back and kept in deep freeze since). I have a C64 (second generation - looks like a C128) PSU which I assume to be working since it's able to power the C64 it came with...

    I then started soldering the components in the order suggested in the construction guide.

    Mmmmhh the smell of rosin always brings back sweet memories... That is of course until the fumes start to build up and my eyes start to sting. Time to open the window I think!

    After 4 hours of soldering, most of the core and psu sections are complete. All the chip sockets are in. I haven't soldered any headers yet as I haven't decided exactly what I will require - I need to do a bit more reading on this... Also still to be soldered are all the electrolytic capacitors.


    One thing I have noticed about the PCB is that a lot of the chip labels get covered by the sockets once they are in. Not a big deal, I will be using this file for reference if needed. I understand that this is kind of unavoidable as the layout is quite compact.

  7. Hello everybody

    much time hast past since my last entry here, but this project is not dead.

    what happened in the meantime?

    my studies ate up much more time than I planned, so I had to change priorities.

    but its not all about math and machine construction ;-)


    first step was creating all the pcbs i need for building the controller and - my very own

    PIC-Burner. I used his lovely little pre-project to gain some advanced skills for the

    etching machine at work. thanks to my boss, i got a nice box, LEDs and faceplate for it.


    next step was the first big order from bürklin (having access to non privat selling

    companies via the company i work for in my freetime is a big advantage here).

    the order contained all parts for building core module, several dins, ains and douts, and

    a blue display from pollin.


    due to my own impatience, all modules were finished very fast, but I made a mistake on the

    interconnection between core and Display. result was a broken PIC and core... damnit.

    I borrowed 2 other displays from a friend of mine and ordered a new pic. this time, everything

    went well and I got the core up and running, with 128_din_dout software.


    Another sunday evening solder marathon later, my very first prototype with one din and ain module

    4 switches, three pots and one rotary switch (for multilayering knobs in the software) was build and running.

    First tests with traktor pro 1.2 were sucessfull.


    At this point, the progress of my project begun to slown down. main reason for that was to find a reseller for

    my special alps potentiometers with buildin switches. actual status is that I am waiting for two mails from different

    resellers which I ve asked. also, finding round aluminium profiles for the boxing (I have to have round corners on it!)

    was a tough job. I spend around 3 weeks on the internet until I found I ordered 12 8cm pieces

    for three boxes (yes I am going to build more xD) and awaited them in january. it was a big surprise when they

    arrived this week just at my birthday xD

    rest of the time I spent on this project I thought a lot about the frontplate and the layout of its buttons. the picture

    from the last entry is not actual anymore, but I made only minor changes. I think the frontplate will be the last

    thing that i order, since there are many things that still have to be planned in detail, for example the display

    (I want to integrate a graphic one for informations like songtitle, bpm and selected effect, but i still did not figure out

    if mios support anything like that). two other big problems i have to solve are the mounting of the pots and the control-

    system for my RGB LEDs.

    so long


    • 1
    • 5
    • 13136

    Recent Entries

    i'm finally continuing my work on using liveapi to integrate mios32 and ableton live. this works by giving programmers a large set of functions they can call to manipulate damn near anything in live. another set of functions are automatically called by live, allowing you to track whatever is going on. this will let users play a live set without ever looking at a computer screen. the possibilities can be a lot more than that.

    to do this, i've made a protocol that works over midi and allows a midibox to seamlessly communicate with a liveapi script. on the programmer's side of it, you just have a simple set of functions to play with. look at it as a midibox API for LiveAPI, extending mios into live, and vice versa.

    currently this is being developed for live 7.0.14. i'm fairly confident that most of the code will work for live 8, and i'll try to get a new version going once this is complete.

    for a teaser, here are some of the functions at your disposal. keep in mind i haven't gotten to the clips, tracks, or track devices yet, but eventually you'll be able to go as far as bring clip or plugin parameter names into the midibox, and of course monitor what is going on with all of it. this list is growing by the day.

    functions you can call from mios:

    void MBLIVE_SONG_SetTransport(u8 state);

    void MBLIVE_SONG_GetTransport();

    void MBLIVE_SONG_SetRecord(u8 state);

    void MBLIVE_SONG_GetRecord();

    void MBLIVE_SONG_SetOverdub(u8 state);

    void MBLIVE_SONG_GetOverdub();

    void MBLIVE_SONG_SetFollow(u8 state);

    void MBLIVE_SONG_GetFollow();

    void MBLIVE_SONG_SetBackToArrangement(u8 state);

    void MBLIVE_SONG_GetBackToArrangement();

    void MBLIVE_SONG_SetDrawMode(u8 state);

    void MBLIVE_SONG_GetDrawMode();

    void MBLIVE_SONG_SetArrangementPosition(u8 mode, u16 val);

    void MBLIVE_SONG_GetArrangementPosition();

    void MBLIVE_SONG_SetTriggerQuantization(u8 state);

    void MBLIVE_SONG_GetTriggerQuantization();

    void MBLIVE_SONG_SetTempo(u8 mode, u16 value);

    void MBLIVE_SONG_GetTempo();

    void MBLIVE_SONG_SetTempoNudgeDown();

    void MBLIVE_SONG_SetTempoNudgeUp();

    void MBLIVE_SONG_SetTimeSignatureNumerator(u8 mode);

    void MBLIVE_SONG_SetTimeSignatureDenominator(u8 mode);

    void MBLIVE_SONG_GetTimeSignature();

    void MBLIVE_SONG_SetGrooveAmount(u8 mode);

    void MBLIVE_SONG_GetGrooveAmount();

    void MBLIVE_SONG_SetMetronome(u8 state);

    void MBLIVE_SONG_GetMetronome();

    void MBLIVE_SONG_SetLoopStart(u8 mode, u16 val);

    void MBLIVE_SONG_GetLoopStart();

    void MBLIVE_SONG_SetLoopLength(u8 mode, u16 val);

    void MBLIVE_SONG_GetLoopLength();

    void MBLIVE_SONG_SetPunchIn(u8 state);

    void MBLIVE_SONG_GetPunchIn();

    void MBLIVE_SONG_SetPunchOut(u8 state);

    void MBLIVE_SONG_GetPunchOut();

    void MBLIVE_SONG_SetSessionArrangementView(u8 state);

    void MBLIVE_SONG_GetSessionArrangementView();

    void MBLIVE_SONG_SetClipDeviceView(u8 state);

    void MBLIVE_SONG_GetClipDeviceView();

    void MBLIVE_SONG_SetBrowserView(u8 state);

    void MBLIVE_SONG_GetBrowserView();

    void MBLIVE_SONG_SetDetailView(u8 state);

    void MBLIVE_SONG_GetDetailView();

    void MBLIVE_SONG_GetTrackCount();

    void MBLIVE_SONG_SetSelectedTrack(u8 track);

    void MBLIVE_SONG_GetSelectedTrack();

    void MBLIVE_SONG_GetSceneCount();

    void MBLIVE_SONG_SetSelectedScene(u8 scene);

    void MBLIVE_SONG_GetSelectedScene();

    functions called by live:

    void MBLIVE_SONG_NotifyTransportChanged(u8 state);

    void MBLIVE_SONG_NotifyRecordChanged(u8 state);

    void MBLIVE_SONG_NotifyOverdubChanged(u8 state);

    void MBLIVE_SONG_NotifyFollowChanged(u8 state);

    void MBLIVE_SONG_NotifyBackToArrangementChanged(u8 state);

    void MBLIVE_SONG_NotifyDrawModeChanged(u8 state);

    void MBLIVE_SONG_NotifyArrangementPositionChanged(u32 val0, u8 val1, u8 val2);

    void MBLIVE_SONG_NotifyTriggerQuantizationChanged(u8 state);

    void MBLIVE_SONG_NotifyTempoChanged(u16 value);

    void MBLIVE_SONG_NotifyTimeSignatureChanged(u8 val0, u8 val1);

    void MBLIVE_SONG_NotifyGrooveAmountChanged(u8 value);

    void MBLIVE_SONG_NotifyMetronomeChanged(u8 state);

    void MBLIVE_SONG_NotifyLoopStartChanged(u32 val0, u8 val1, u8 val2);

    void MBLIVE_SONG_NotifyLoopLengthChanged(u32 val0, u8 val1, u8 val2);

    void MBLIVE_SONG_NotifyPunchInChanged(u8 state);

    void MBLIVE_SONG_NotifyPunchOutChanged(u8 state);

    void MBLIVE_SONG_NotifySessionArrangementViewChanged(u8 state);

    void MBLIVE_SONG_NotifyClipDeviceViewChanged(u8 state);

    void MBLIVE_SONG_NotifyBrowserViewChanged(u8 state);

    void MBLIVE_SONG_NotifyDetailViewChanged(u8 state);

    void MBLIVE_SONG_NotifyTrackCountChanged(u8 trackCount, u8 returnTrackCount);

    void MBLIVE_SONG_NotifySelectedTrackChanged(u8 track);

    void MBLIVE_SONG_NotifySceneCountChanged(u8 count);

    void MBLIVE_SONG_NotifySelectedSceneChanged(u8 scene);

  8. I began the documentation about the interface between my protodeck controller and ableton live software.

    It uses a max for live patch.

    All is there:

    • 2
    • 0
    • 13840

    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.



    • 1
    • 1
    • 15508

    Recent Entries

    I ordered a front panel for my Sequencer (using Wilba's design) from Julian at


    The panel looks great but as anybody following the discussions will know, it isn't easy for Julian to make threaded blinds so we decided to go for blinds that are large enough to fit a hex spacer in. They are 5.72mm diameter x 2mm deep.

    As JB Weld isn't that common in the UK, I thought I would try Loctite "Bond Loc". This is available from Maplin and claims to bond metal very well (it contains stainless steel!).



    I thought I would try the spacers for the LCD, there are 8mm deep (including the 2mm blind) so the LCD stands off 6mm from the back of the panel. Once I have some 2mm perspex/acrylic for the window, this should be fine (hopefully).


    While waiting for the Bond Loc to cure I built the Core32 module that I had earmarked for this. That went without a hitch and seems to work fine!


    The LCD's fit fine, bit of a cock-up though, I bought them cheap off t'ebay and they are Electroluminescent backlight ones. Oh well. One 5v inverter order later (only £12 so not too bad), That works quite well the picture shows it is a blue/green backlight so not unpleasant. I am still undecided whether I like the displays but they will do for now.


    I am now stopped until my PCB and other kit arrives, hopefully in January.


  9. taximan
    Latest Entry

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







  10. Kyo's Blog

    • 0
    • 0
    • 136

    No blog entries yet

  11. Snoozr
    Latest Entry

    Hate it when I triplecheck all the connections on something and it's still bad. In this case, it was the LCD and I mistranscribed the pinouts. So for anyone else remember it's

    1 16

    2 15

    3 14

    4 13

    5 12

    6 11

    7 10

    8 9


    1 9

    2 10

    3 11

    4 12

    5 13

    6 14

    7 15

    8 16

    So the numbering proceeds in a U-shape, which wasn't what I am used to.

    Fortunately, my LCD (shown here) survived the abuse and after rewiring it was fine.

    • 2
    • 0
    • 15021

    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.
    • 0
    • 0
    • 20075

    No blog entries yet

  12. SLP's Blog

    • 1
    • 0
    • 20271

    No blog entries yet

    • 2
    • 0
    • 10766

    Recent Entries

    Latest Entry

    Added some more harware over the weekend. Built a very crude keyboard with 10 swithes and 2 x DIN registers on the board. Works beautifuly. Now have to start on the programing bit I suppose. Still trying to figure out how to handle the input bit and know when multiple inputs are toggled??? Just have to do some more reading I suppose.

    Well here's another pic in the meantime.

    Till next time.

    Happy Midifying


    • 2
    • 0
    • 18955

    No blog entries yet

    • 0
    • 0
    • 19647

    No blog entries yet

    • 1
    • 0
    • 22248

    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.