MIDIbox is a non-commercial open source project with a series of guides on how to build musical instrument device interfaces (MIDI). Through a series of do it yourself tutorials, users are guided in the process of building a basic microcontroller that can also be used to build hardware MIDI control units for various synthesizers, multi-track recording software, and other MIDI devices; as well as stand-alone synthesizers, sequencers and other projects. History The MIDIbox Hardware Platform is the continuation of Thorsten Klose's earlier work on MIDI controllers. Designs are based around a standardized environment of reusable and exchangeable modules. Soon after the release of the first modules, a small group of enthusiasts formed and grew into a thriving open source development community. The MIDIbox Hardware Platform (MBHP) The platform focuses on well-defined and documented modules based on small, uncomplicated circuits, to allow for amateur assembly. These modules are then assembled into a complete project. All boards can be made as single-layer PCBs and prototype boards designed with a freeware CAD program. Almost all components are through-hole for easier assembly. The first MIDIbox hardware platform, (MBHP), was based its own open-source operating system– MIOS (MIDIbox Operating System) –written in PIC assembly language, for speed and accuracy. A C wrapper layer provides simplified coding. MIOS is designed and documented to allow simple reconfiguration, adaptation, and extension by hobbyists and enthusiasts. The new MIDIBox Hardware Platform, MIOS32, runs on ARM-based processors LPC1769, from NXP, and STM32F407, from STMicroelectronics, and is based on a Real Time Operating System (RTOS) derived from FreeRTOS. The toolchain for MIOS32 is based on GCC, and uses only C language. The modules Currently, about 15 separate modules are available: Microcontroller modules Core Module PIC Programmer Modules like an actual PIC-Burner or the JDM Module Input modules AIN Module Analog Input (0-5V) DIN Module Digital Input (ON/OFF) Output modules DOUT Module Digital Output (e.g. LED ON/OFF) LCD Module Liquid Crystal Display AOUT Module Analog Out to output Voltages (for Controls) Sequencer modules SEQV4 Sequencer V4 SEQV4L Sequencer V4 Lite SEQV3 Sequencer V3 Sound modules SID Module for the MOS Technology SID (as found in the Commodore 64) OPL3 Module for the FM-Chips YMF262 and YAC512 IIC SpeakJet Module for the SpeakJet SoundChip Memory expansion modules BankStick 32k / 64k Memory module MIDI I/O modules LTC Module MIDI LED Indicators + 1 MIDI-Out + 1 Thru (+ 1 optional to-COM-Port) USB Modules