English Version Spanish Version French Version

MIDIbox Hardware Platform, AOUT LC Module

The idea behind the MBHP_AOUT_LC module was to realize control outputs with parts that are easy to get in most countries. I started with this project after a discussion with Karl Dalen about the difficulity to find DIY friendly DACs with a serial interface. He proposed these circuits, and I selected the discrete solution because of the simplicity. Some people requested to bring a ready made PCB into the MIDIbox Hardware Platform, so here it is!

In difference to the MBHP_AOUT or MBHP_AOUT_NG module, this project doesn't require a special (expensive and hard to get) DAC IC, instead resistors are formed to a discrete R-2R ladder network. Building such a circuit means a lot of soldering effort, but as the MBHP is indented as a Do-It-Yourself platform, and not as a commercial product, this argument is very weak. However, the resistor ladder could be replaced by a DAC with parallel interface (see Karl's schematics), this would still have the advantage, that the DACs are accessible via a serial chain (-> low number of uC pins are allocated), and that the software driver doesn't need to be adapted for a proprietary interface.

Regarding the quality of the "discrete DAC" outputs it should be mentioned, that it directly depends on the chosen resistors. The tolerance should be 1% or lower (Metalfilm) and stable over the typical temperature range. The results can be dramatically improved by selecting the best matching resistors: just buy a set of 100 pieces (e.g. at Conrad: a set of 100 * 10k metalfilm resistors for 1.33 EUR, part number #408280), measure the resistance and take the ones with the best matching values for the ladder circuit.

Another typical problem of cheap DACs (not only of this circuit, but also for cheap integrated DACs) is, that there is some "zipper noise" each time a new voltage is selected. The intensity of this noise depends on the bits which are toggled when a new voltage is selected - the leftmost bits (most signifigant bits) will produce the highest zipper noise. Even I can see this noise on my scope, I haven't noticed an audible effect with a discrete Moog- and CEM3378 filter, yet. Also CV controlled Korg MS-20 oscillators are working well with it. However, this is an explicit warning for those who expect perfect results! The zipper noise can be completely eliminated by adding a S&H circuit behind the DAC. By using the NJU7304 this would also increase the number of available channels - on the other hand this solution requires once again a special IC or a lot of additional discrete ciruitry - it's a disaster! :-/

For those who don't feel disappointed yet, here two audio examples which demonstrate which results can be expected when the AOUT_LC module is connected between a MIDIbox SID and a CEM3378 filter: Forum Posting #1, Forum Posting #2.


PCB data, can be viewed, modified and converted with Eagle Light. The .pdf based schematic has been created with xcircuit. There are no special eagle schematics available, since components have been netlisted in the .brd file directly!
Module Schematic Layout Data Quick-view
MBHP_AOUT_LC_V1 mbhp_aout_lc.pdf mbhp_aout_lc_v1.brd mbhp_aout_lc_v1.gif
Additional informations
File Size Description
mbhp_aout_lc_orderlist.txt 1k Reichelt orderlist
bipolar_12v_psu Wiki Wiki article about bipolar PSUs (required to get a +/- 12V voltage)


In order to increase the flexibility, the MBHP_AOUT_LC PCB provides two different resolution options. The first channel can either be controlled with 12bit or 8bit resolution, the second channel with 4bit or 8bit resolution:

The 12/4 bit option is used by MIDIbox SID (the filter is controlled with 12bit, the resonance with 4bit only).
In the MIDIbox CV V1 firmware the resolution option is selectable. 8/8bit is enough if the module should control V/Oct CV inputs via Note or CC events. 12/4bit should be selected if channel #1 is connected to a Hz/V input, or if high-resolution events (NRPNs, PitchWheel) are desired.


Following projects support the MBHP_AOUT_LC module - note that the pinning to the Core module is different:


(*) MIDIbox SID V1.7303 and higher!

Soldering Guide

Start with soldering the 7 bridges which save you from creating a 2-layer board. You can use the cutted legs of caps and resistors, before you throw them away after you finished all the modules! :-)
Mount all parts except for the ICs and check the power supply voltages (see schematic)
Add the wire between pin #9 of IC2 and J2 at the bottom. Note that this wire is only required if the module should be chained with other MBHP_AOUT_LC modules.)
Mount the jumpers and the additional wire at J3 in order to select the resolution.
Stuff the ICs and check the power again. Now you can connect the module to your MIDIbox - the pinning depends on the application, see above.

Setup and Calibration

Each channel provides a separate gain and offset trimmer which allow you to adjust the output voltage range.

MIDIbox CV V1 users: just follow the instructions at the MIDIbox CV V1 page.

MIDIbox CV V2 users: just follow the instructions at the MIDIbox CV V2 page.

MIDIbox SID V1 users: open the "setup_*.asm" file of the application and set the "ENABLE_AOUT" switch to 2. Thereafter rebuild the project and upload the new .hex file to the core. Now you can control channel #1 with the filter knob, and channel #2 with the resonance knob. If you haven't built the control surface, then just send CC#46 (CutOff) and CC#47 (Resonance) to the MIDIbox.
The fun begins once the filter output voltage is modulated by the envelopes and LFOs! :-)

MIDIbox FM users: open the "setup_*.asm" file of the application and set the "ENABLE_AOUT" switch to 2. Thereafter rebuild the project and upload the new .hex file to the core. AOUT channel #1/#2 is assigned to Instrument #1, Channel #3/#4 to Instrument #2, Channel #5/#6 to Instrument #3, Channel #7/#8 to Instrument #4. LFO/Envelope Assignments and the Offset can be configured in the AOUT menu of the Control Surface.

MIDIbox SID V2 users: open the "setup_*.asm" file of the application and set the "ENABLE_AOUT" switch to 2. Thereafter rebuild the project and upload the new .hex file to the core. You can control channel #1 with the filter knob, and channel #2 with the resonance knob with F2A option enabled (-> Ensemble Menu). With two chained MBHP_AOUT_LC modules, you can control CutOff and Resonance of the right channel SID the same way. With V2A, volume can be handled a similar way (4 chained AOUT_LC modules required for this case). With F2A and V2A option disabled, up to 8 channels can be controlled from the modulation matrix and within the EXT page. All these possibilities are documented in the MIDIbox SID Users Manual.

Alternative solutions for CV outputs

Last update: 2024-05-08

Copyright 1998-2023, Thorsten Klose. All rights reserved.