This is the official page for the FIRMWARE of Hexinverter.net MIDI2CV module. Only here you always can find latest release of the firmware, report bug, or request some new features or custom firmware for this module (and compatibles).
Short project history
When I purchased hexinverter.net MIDI2CV eurorack DIY kit in the summer 2013, I was not completely pleased with behaviour of that module. Original firmware has number of flaws: Notes may hang in Monophonic mode, pedal is not supported and polyphonic mode works in manner when voices assigned to taken notes are always stacked in the same order: first note goes to 1st voice, second to 2nd etc. If you play with some patch utilizing release stage of the ADSR, you may experience problems with tails being cut out. Having some background in microcontroller programming, I decided to upgrade firmware from some outdated source in C-language, which was published at ACXSynth website. It became almost completely different product with every bug fixed and having large amount of new features. 10.07.2014 my firmware reached the official status and new run of this great module already have it onboard.
5.x firmware is more stable than original firmware and offers lot of adjustable parameters and new features. Also, voices in Polyphonic mode are assigned in different way.
- Original “hanging notes” problem is solved.
- Voices in Polyphonic mode are assigned serially (exactly as implemented on DSI Prophet 2008).
- CV2 Out can be used as output for assignable MIDI Control Change or Aftertouch.
- Hold Pedal is now supported in Monophonic and Polyphonic modes.
- Pitch Bend is supported in all modes.
- All Sound Off and All Notes Off messages are processed.
- Clock output is working at 1–24ppqn (programmable).
- Legato play and retrigger are supported. (up to 8 notes are stored).
- 2 Velocity curves (linear/Exponential).
- up to 8-voice system with polyphonic velocity can be built with more units connected via MIDI-splitter.
- Number of available voices can be limited to any number of voices (2–4/2–8). Available voices are mapped to corresponding number of CV/Gate outputs starting from CV1 / GATE1.
- All parameters can be stored into EEPROM.
Detailed technical reference of the firmware can be found inside the rchive with respective firmware. That file is called MIDI Implementation.txt.
If you have a questions about the source code, please ask me in the comments, not the hexinverter. Also, please be maximally constructive in your questions.
Support further development
If you liked my firmware, the best way to thank me is to donate some funds to support its further development. Probably, together we will create most flexible converter ever.
5.7.3 (Official release)
* Poly1 and Poly4 modes are swapped, so Poly1 is 1-channel polyphonic mode, and Poly4 is 4-channel multichannel mode.
* Velocity outputs are added in Split and Duophonic modes. See MIDI Implementation or manual for details.
* The project became open source!
* 8-voice polyphony and polyphonic velocity are now supported. You must have two or more units connected via MIDI-splitter in order to receive identical data. See MIDI Implementation for details.
* Polyphonic and Monophonic modes now have individual sets of function keys. Store function key is now accessible in any of these modes. See MIDI Implementation for details.
Bug fixed: inoperable pedal when triggerring via gate is enabled.
Triggering via gate interrupt support.
Triggers and Clock now use different timers.
All non-automatic parameters can be stored to EEPROM
Trigger and clock durations are now 2ms
Function keys lock key added (A#1)
Pitch bend now works in all modes.
Aftertouch assignable to CV2 Out.
2-voice Split mode at Channel +4 in Multitimbral mode.
2-voice Intellectual duophonic mode at channel +5 in Multitimbral mode.
Fixed bug with Voice two acting as Trigger in polyphonic mode
MIDI Clock rate is now adjustable
Version display at start-up
* Polyphony limit support added.
* Implemented legato play
* Legato Retrigger can be enabled/disabled in Mono mode by D1 key.
* Velocity curve can be toggled with E1 key.
* Trigger duration is increased from 80us to 1.280 ms to make LED flash brighter.
5.3 (first release)
* Serial polyphonic voice assign
* Assignable MIDI CC on CV2 out
* Support for Hold Pedal in Mono and Poly4 modes, support for All Notes Off and All Sound Off messages.
* Correct bypass for unrecognized messages such as SysEx, Channel Aftertouch e t.c.
* True 24ppqn sync
* 80us duration for Trigger and Sync pulses
* Legato play is not implemented
How to update
Update via MIDI is technically not possible with current hardware. Please do not ask for it.
- new PIC16F88 MCU chip in DIP18 package. (you can use original chip, but you can’t backup its contents because it is protected)
- IC Extractor or little screwdriver
- Programmer such as SI Prog, PicKit3 etc and necessary adapter hardware (board with ZIF/DIP-sockets, breadboard and Dupont wires etc)
- Software that supports your programmer and able to read Intel hex files (WIth PicKit3 you can use Stand-alone Programmer.