Subversion Repositories svn.mios

Rev

Rev 163 | Blame | Compare with Previous | Last modification | View Log | RSS feed

HEADER 3 Low-Cost MIDI Knobbox

<H1>MIDIbox Plus</H1>
<H3>Created 1998-2001</H3>

<P><CENTER><IMG SRC="midibox/midibox_plus_foto.jpg" width=575></CENTER></P>

<P CLASS=DESC>Features:</P>

<A NAME="features"></A>
<DL>
  <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Features </H2></DT>
  <UL CLASS=CLBIG TYPE=DISC>
    <LI> 8 or 16 Pots, 8 Buttons </LI>
    <LI> 16 free customable Banks </LI>
    <LI> sends CC/Note/Aftertouch/PitchBender/ProgramChange </LI>
    <LI> Min and Max values, scaling over the whole pot range </LI>
    <LI> MIDI Learn Function </LI>
    <LI> Setups exchangable via SysEx </LI>
    <LI> Menu Buttons </LI>
    <LI> Snapshot Button with Save/Recall function </LI>
    <LI> LC-Display, different Display Modes </LI>
    <LI> Normal, Snap, Relative and Parallax Mode </LI>
    <LI> MIDI-Merger </LI>
    <LI> Optional RS232 Interface </LI>
  </UL>
</DL>

<A NAME="Hardware"></A>
<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> The Hardware </H2></DT>
   <DD>
<P CLASS=DESC>The main part of the MIDIbox is the Microcontroller PIC16F874 (or PIC16F877) by 
<A HREF="http://www.microchip.com" TARGET="_blank">Microchip</A>. It is clocked
at 20 MHz and offers enough performance to handle the potentiometers and to
send MIDI data. The internal 8 channel AD converter of the PIC is used to measure the voltage from the pots and convert it into digital data. By using external multiplexers, 16 pot channels are available. Also, a HD44780 compatible LCD (industrial standard) is plugged on the PIC.
   </DD>
</DL>

<A NAME="Software"></A>
<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> The Firmware </H2></DT>
   <DD>
<P CLASS=DESC>The software was extended by a lot of features in the last few years. Many ideas were suggested by MIDIbox users from all of the world, who use the box for the differentest tasks. The firmware is available as .hex file which can be burned into a PIC with a special programmer. Firmware updates are no problem, because the PIC includes a flash memory.
   </DD>
</DL>

<A NAME="How to build it"></A>
<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Do it yourself </H2></DT>
   <DD>
<P CLASS=DESC>Its easy to build the Box, you can do it by yourself without
much effort, if you know the right end of the soldering iron. To burn
the software into the PIC, you need the PICplus programmer kit or one
of the minimal programmer, which are available at the internet. Find more
informations about this issue <A HREF="howtoprog.html">here</A>. However, if you see 
no chance to program the PIC, I can do it for you. You only have to send me a PIC 
in a small parcel. This service is free, but don't forget to send me some 
stamps or about US $4 for shipping.
   </DD>
</DL>

<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Premade PCB </H2></DT>
   <DD>
<P CLASS=DESC>The cheapest (but maybe most delicate solution for a beginner) is to build the MIDIbox Plus circuit on a vectorboard. There are also some PCB layouts available which can be found in the download section of this site.<BR>
Due to a lot of request, I recently created a new single-layer PCB with Eagle-Light (a free available layout tool), which is accepted by most of the PCB manufacturers. Like the <A HREF="mbhp.html">MBHP</A> modules, this PCB can also be purchased at <A HREF="http://www.mikes-elektronikseite.de" TARGET="_blank">"Mikes Elektronikseite"</A> for just 6 Euros! :-)
   </DD>
</DL>

<A NAME="Hardware2"></A>
<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> PIC16F874-20 or PIC16F877-20? </H2></DT>
   <DD>
<P CLASS=DESC>In the meantime the PIC16F877-20 is recommended, since its availability has been significantly increased in the last months. It costs just one EURO more, but offers the double amount of memory. The MIDIbox Plus firmware is compatible with both chips. Only with a PIC16F877-20 it is possible to save 16 Snapshots, in the internal EEPROM of the PIC16F874-20 only 8 Snapshots can be stored (Snapshot=saved pot positions). And another argument for the PIC16F877-20: it is also used in the MIDIbox64, and a port of the MIDIbox64 firmware for the MIDIbox16 firmware can be downloaded below.</P>
   </DD>
</DL>

<A NAME="Results"></A>
<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Results </H2></DT>
   <DD>
<I>FUN FUN FUN !!!</I>
<P CLASS=DESC>With the MIDIbox I realized, that keyboard and mouse is
only a handicap when making music. Now I create my own sounds and don't
have to steal it from soundfont archives. Yeah, its really cool. :)
<P CLASS=DESC>Demo-Songs, that were made with AWE64, SBLive Value, Yamaha AN1x and the MIDIbox can be found at
<A HREF="http://www.mp3.de/home/frequencies" TARGET="_blank">http://www.mp3.de/home/frequencies</A>.
   </DD>
</DL>

<DL>
  <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Download </H2></DT>
  <DD><TABLE BORDER=0 CELLSPACING=5 CELLPADDING=0>

    <TR>
      <TD COLSPAN=3 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Schematics</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>File</STRONG></FONT></td>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Size</STRONG></FONT></td>
      <TD NOWRAP CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Description</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_8.pdf">midibox_plus_8.pdf</A></TD>
      <TD CLASS=TABCOLOR2>15k</TD>
      <TD CLASS=TABCOLOR2>Schematic of 8 pot version</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_test_8.pdf">midibox_plus_test_8.pdf</A></TD>
      <TD CLASS=TABCOLOR2>8k</TD>
      <TD CLASS=TABCOLOR2>Testcircuit for 8 pot version</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_16.pdf">midibox_plus_16.pdf</A></TD>
      <TD CLASS=TABCOLOR217k></TD>
      <TD CLASS=TABCOLOR2>Schematic of 16 pot version</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_test_16.pdf">midibox_plus_test_16.pdf</A></TD>
      <TD CLASS=TABCOLOR2>8k</TD>
      <TD CLASS=TABCOLOR2>Testcircuit for 16 pot version</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_orderlist.txt">midibox_plus_orderlist.txt</A></TD>
      <TD CLASS=TABCOLOR2>2k</TD>
      <TD CLASS=TABCOLOR2>List of Components</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox_to_com.html">MIDIbox-to-COM</A></TD>
      <TD CLASS=TABCOLOR2>LINK</TD>
      <TD CLASS=TABCOLOR2>Optional MIDIbox-to-COM Interface</TD>
    </TR>

    <TR>
      <TD COLSPAN=3 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>PCBs</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_pcb_dave_v2.zip">midibox_plus_pcb_dave_v2.zip</A></TD>
      <TD CLASS=TABCOLOR2>45k</TD>
      <TD CLASS=TABCOLOR2>PCB Layout made by <A HREF="mailto:g0gmk@btinternet.com">Dave Wheeler</A>.<BR>It is based on the old design; users who already made this board have to add an additional wire between Pin #23 of the PIC and the R/W input of the LCD like shown <A HREF="midibox/midibox_plus_16_old.pdf">here</A>. Note also that not all components are the same like in the redesigned schematic and in the orderlist!</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_pcb_shum.zip">midibox_plus_pcb_shum.zip</A></TD>
      <TD CLASS=TABCOLOR2>75k</TD>
      <TD CLASS=TABCOLOR2>PCB Layout made by <A HREF="mailto:shshum65@hotmail.com">Shum Siew Hung</A>.<BR>It is also based on the old design, see notes above!</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_pcb_martin3.zip">midibox_plus_pcb_martin3.zip</A></TD>
      <TD CLASS=TABCOLOR2>203k</TD>
      <TD CLASS=TABCOLOR2>PCB Layout made by <A HREF="mailto:ptiger@gmx.de">Martin Voelkel</A> - update 2002-03-28, now with gerber files<BR>It is also based on the old design, see notes above!</TD>
    </TR>

    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/mplus_pcb_v1.brd">mplus_pcb_v1.brd</A></TD>
      <TD CLASS=TABCOLOR2>51k</TD>
      <TD CLASS=TABCOLOR2>This is the new, redesigned board which is consistent with the final schematic. The PCB can be viewed, modified and converted with <A HREF="http://www.cadsoft.de/cgi-bin/download.pl?page=/home/cadsoft/html_public/download.htm.de&dir=pub/program/4.0" TARGET="_blank">Eagle Light</A></TD>
    </TR>

    <TR>
      <TD COLSPAN=3 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Firmwares</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_v1910.zip">midibox_plus_v1910.zip</A></TD>
      <TD CLASS=TABCOLOR2>50k</TD>
      <TD CLASS=TABCOLOR2>Contains 4 firmware variants for 8/16 pots. Some words to the "bb" (BankButton) variant: it uses two bank buttons instead of the four bank switches on RB2, RB3. Two additional buttons on RB0 and RB1 enables you to send double note events (great for controlling programs like Cubase, Logic, Cakewalk via MIDI Remote).</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox_plus_changelog.html">ChangeLog</A></TD>
      <TD CLASS=TABCOLOR2>LINK</TD>
      <TD CLASS=TABCOLOR2>ChangeLog of MIDIbox Plus Firmware</TD>
    </TR>

    <TR>
      <TD COLSPAN=3 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>.syx File Generator</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/mk_syx.zip">mk_syx.zip</A></TD>
      <TD CLASS=TABCOLOR2>11k</TD>
      <TD CLASS=TABCOLOR2>Creates SysEx Dumps for MIDIbox Plus: midibox16.ini -> midibox16.syx</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_plus_sysex_implementation.txt">sysex_implementation.txt</A></TD>
      <TD CLASS=TABCOLOR2>2k</TD>
      <TD CLASS=TABCOLOR2>Regarding the SysEx format</TD>
    </TR>

    <TR>
      <TD COLSPAN=3 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Editor & Download Manager</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="http://serge.uCApps.de" TARGET="_blank">serge.uCApps.de</A></TD>
      <TD CLASS=TABCOLOR2>LINK</TD>
      <TD CLASS=TABCOLOR2>MIDIbox Editor and Download Manager by <A HREF="mailto:serge@programmeert.com">Serge</A></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/vmbpluspresets.ini">vmbpluspresets.ini</A></TD>
      <TD CLASS=TABCOLOR2>2k</TD>
      <TD CLASS=TABCOLOR2>Preset file with for MPlus editor. Has to be copied into the same directory like the program.</TD>
    </TR>

    <TR>
      <TD COLSPAN=3 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Misc.</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="http://forum.ucapps.de">MIDIbox Forum</A></TD>
      <TD CLASS=TABCOLOR2>LINK</TD>
      <TD CLASS=TABCOLOR2>Support at the MIDIbox Forum</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox_tutorial.html">MIDIbox Tutorial</A></TD>
      <TD CLASS=TABCOLOR2>LINK</TD>
      <TD CLASS=TABCOLOR2>Getting started...</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="http://www.midibox.org/users/heico/midibox_plus_hardware_tutorial.zip">midibox_plus_hardware_tutorial.zip</A></TD>
      <TD CLASS=TABCOLOR2>6.8MB!</TD>
      <TD CLASS=TABCOLOR2>This very professional Hardware Beginners Tutorial was created by <A HREF="mailto:contact@heicoart.de">Heico</A>. It's written in german, but includes some pictures and videos which could also be interesting for people who don't understand this language.<BR><B>Note:</B> it is based on the old design; users who already made this board have to add an additional wire between Pin #23 of the PIC and the R/W input of the LCD like shown <A HREF="midibox/midibox_plus_16_old.pdf">here</A>. Note also that not all components are the same like in the redesigned schematic and in the orderlist! Today for beginners it's maybe easier to order a premade PCB (see below) - it will save your time.</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox_ext.html">MIDIbox Ext</A></TD>
      <TD CLASS=TABCOLOR2>LINK</TD>
      <TD CLASS=TABCOLOR2>The MIDIbox Extensions Page</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="http://wiki.midibox.org" TARGET="_blank">MIDIbox Wiki</A></TD>
      <TD CLASS=TABCOLOR2>LINK</TD>
      <TD CLASS=TABCOLOR2>A lot of additional informations on MIDIbox</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midi_thru.gif">midi_thru.gif</A></TD>
      <TD CLASS=TABCOLOR2>50k</TD>
      <TD CLASS=TABCOLOR2>Optional MIDI Thru Port</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="http://www.midibox.org/users/tor_arne/midibox_cubase_setup.xml.zip" TARGET="_blank">midibox_cubase_setup.xml.zip</TD>
      <TD CLASS=TABCOLOR2>3k</TD>
      <TD CLASS=TABCOLOR2>Cubase Remote Control Setup for MIDIbox64 by <A HREF="mailto:torarne@utepils.com">Tor Arne</A></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="midibox/midibox_logic_environment.zip" TARGET="_blank">midibox_logic_environment.zip</A></TD>
      <TD CLASS=TABCOLOR2>18k</TD>
      <TD CLASS=TABCOLOR2>Sample Logic Audio environment for V4 and higher.</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="mailto:tk@midibox.org">Source Request</A></TD>
      <TD CLASS=TABCOLOR2>EMAIL</TD>
      <TD CLASS=TABCOLOR2>Source Code available on request</TD>
    </TR>

  </TABLE></DD>
</DL>


<DL>
  <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Soldering Guide </H2></DT>
  <DD>
<P CLASS=DESC>Here some instructions for the redesigned <A HREF="midibox/mplus_pcb_v1.brd">mplus_pcb_v1.brd</A> (<A HREF="midibox/mplus_pcb_v1.gif">mplus_pcb_v1.gif</A>) board which you can etch by yourself or purchase at <A HREF="http://www.mikes-elektronikseite.de/midiseite.htm" TARGET="_blank">"Mikes Elektronikseite"</A>. The components from <A HREF="midibox/midibox_plus_orderlist.txt">this list</A> can be ordered at <A HREF="http://www.reichelt.de" TARGET="_blank">Reichelt</A> - for component sellers in other countries see <A HREF="wheretoorder.html">this page</A>.</P>

  <DD><TABLE CELLSPACING=0 CELLPADDING=0>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_1.jpg" WIDTH=280 HEIGHT=225 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2>Start with soldering the 7 bridges and 2 isolated cables which save you from creating a 2-layer board. You can use the cutted legs of caps and resistors, before you throw them away! :-)<BR>The exact location of the bridges can be seen <A HREF="midibox/mplus_pcb_v1.gif">here</A> in form of red tracks.</TD>
    </TR>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_2.jpg" WIDTH=280 HEIGHT=150 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2>The 20 MHz crystal has to be soldered at the bottom side. Take care that the metal case doesn't get in touch with tracks; isolation can be ensured by using an adhesive tape (sticky tape, "tesa film") underneath the crystal.</TD>
    </TR>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_3.jpg" WIDTH=280 HEIGHT=167 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2></TD>
    </TR>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_4.jpg" WIDTH=280 HEIGHT=249 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2>Solder the parts except for the ICs. Take care for the polarity of the diodes and caps (see <A HREF="midibox/mplus_pcb_v1.gif">PCB layout</A> again)!<BR></TD>
    </TR>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_5.jpg" WIDTH=280 HEIGHT=193 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2>Apply power to the module after all parts except the ICs are mounted. Check the voltage levels between the most important pins with a multimeter (analog or digital doesn't matter) before plugging the ICs into the sockets:<BR>
IC1:MCLR(1) - IC1:Vss(12) = 5V<BR>
IC1:Vdd(11) - IC1:Vss(12) = 5V<BR>
IC1:Vdd(32) - IC1:Vss(31) = 5V
    </TR>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_6.jpg" WIDTH=280 HEIGHT=173 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2>If it hasn't been done before: now you should program the firmware into the PIC. Here a picture of the <A HREF="mbhp_burner.html">PIC</A> programmer in action.</TD>
    </TR>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_7.jpg" WIDTH=280 HEIGHT=234 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2>A picture of a finished board - now it's time to connect the LEDs, buttons, pots, display, ... (<B>disconnect the power supply when you change anything on the circuit!<B>)</TD>
    </TR>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_8.jpg" WIDTH=280 HEIGHT=212 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2>This picture shows how the (optional) LCD display has to be connected with a ribbon cable. With a "Displaytech 16*2 LCD" it's just a 1:1 connection, for other displays the order of pins may differ (refer to the appr. datasheet!).</TD>
    </TR>
    <TR>
      <TD><IMG SRC="midibox/mplus_pcb_9.jpg" WIDTH=280 HEIGHT=172 BORDER=0 ALT=""></TD>
      <TD CLASS=TABCOLOR2>All components mounted - <A HREF="midibox_tutorial.html">follow this link</A> for the Tutorial</TD>
    </TR>
  </TABLE></DD>
  </DD>
</DL>

<P><CENTER><IMG SRC="midibox/midibox_keyboard.jpg" width=575 alt="Reduced MIDIbox Hardware built into a MIDI Keyboard from the Fleamarket (total cost for Keyboard & MIDIbox: about 40 EUR)"></CENTER></P>

FOOTER