User Tools

Site Tools


MIDIbox FM V2.1

See and

This is a synth by Sauraen constructed in 2014-2015. It's as finished as it ever will be, but it was never documented for others to try to replicate… until now!

Please note that this is still not a complete, well-documented project, and certainly not for beginners. I do not guarantee that all the information you will need is available here. Please comment on the MIDIbox FM V2.1 thread to ask for more information when necessary.

Connection of OPL3 module to STM32F4 core

(Information from

The OPL3's Reset line must be buffered to 5 volts (that's why it's connected to J19, which has the buffer already); all the other inputs may be driven by 3.3 volts. All the digital pins of both OPL3 modules are connected together (in pairs, respectively), except for the #CS (#WR) pins which are connected separately so the core can send each chip different data.


  • OPL3 D7:0 → PE15:8 (J10A.D7:0)
  • OPL3 A1:0 → PE7:6 (J10B.D15:14)
  • OPL3 RS (#IC) → PB8 (J19.RC2)
  • First OPL3 WR (#CS, #WR) → PE5 (J10B.D13)
  • Second OPL3 WR (#CS, #WR) → PE4 (J10B.D12)

The pins used for RS and the two CS pins may be changed by defining the appropriate things in your mios32_config.h file. See the README from the OPL3 module above. (Or just use the MIDIbox FM V2.1 code and hook the wires up as shown here.)

The analog side of the OPL3 module may be built standard or customized to your liking (5V version, additional mixing that I added, etc.). This has no relation to how the digital side is connected to the core.

midibox_fm_21.txt · Last modified: 2016/06/02 02:30 by sauraen