two midi controlled large 4-digit displays


Godfried-Willem Raes


Since our music theatre composition 'A Book of Moves' we had a simple display device in use to communicate with our performers. This display -many versions were built- invariable had large 7-segment displays. There were two or three characters. However with printer ports becoming obsolete on modern computers, these displays became obsolete as well. The need for an easy and non intrusive way to cue performers however remained, even in the context of our Namuda performances with the robot orchestra.

Therefore we decided to design a new display device, this time fully midi controllable. In our design we did not make use of any readily available 7-segment decoder chips, as these do not offer the possibility to adres the segments in an arbitrary way. Thus we had to write the complete decoder in the firmware of the microcontrollers. We used four PIC microcontrollers and implemented an elementary communication mechanism between them. It will be clear from reading the circuit diagram provided below. The display module mounts on a regular microphone stand but can also be suspended. It can be used in combination with our polymetronome as it shares the same midi-channel and has no note overlaps. Possible and easy to implement applications include:

The new design has 4 character-digits and the midi implementation is as follows:

Midi-channel: 0

The utmost left 7-segment display responds to midi note 1. Thus, for the four characters, we use notes 1,2,3 and 4.

A Note-off command blanks the corresponding display character.

The note velocity byte with note-on commands is used to control what the displays will show. This is only the case in NUM and ASCI modes. In event counter mode, this can be used to set a preset counter value.

Program change:

In NUM mode, the displays will respond to velocity values as follows:

if bit 5 in the velocity byte is set, the dot will be on, otherwize always off.

In ASCII mode, the displays will translate ascii codes as follows:

To allow users to freely program the segments of the display, we also implemented the note-pressure command, both in the NUM and ASCI modes of operation.

The individual bits of the pressure value byte control each individual segment of any display:


The circuit looks like:



The single sided PC board (200% scale) for this circuit is: The display panel makes use of four Microchip 18F2525 microprocessors. The firmware for the microcontroller is available for download.

This is a picture of the first assembled circuit board: After building up this board, we changed the PC board layout somewhat. So a second display, version 2 was build as well. It does not have any long wire bridges. Avoiding these altogether would entail the design of a double sided PC-board, virtually impossible to do with handdrawn and etched boards. Here is the improved design:

This is a picture of the second display board:

The display boards are both up and running, integrated in the Logos Robot Orchestra since july 31th of 2014. They are also integrated into our GMT control software for the orchestra.


Godfried-Willem Raes



Datasheet Kingbright displays (Common anode types)

Datasheet BS170 N-channel mosfet

Power supply unit: XP Power, model ECL15US12-E, 12V 1.25A. Primary: 100-240V 0.6A, 50-60Hz. http://www.xppower.com

Firmware source code: (needs the Proton compiler)

Hexdumps: (these can be uploaded right into the PIC microcontrollers)


Last update: 2015-01-10