Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

tc Electronic NDR-1 Nova Drive

MIDI SysEx Protocol

refuge.coop
GPC.solutions SAS
EMA Tech.

Reverse-engineering notes on the MIDI protocol of the tc electronic NDR-1 Nova Drive pedal captured with a tc electronic G-System.

NDR-1 front

My NDR-1, front.

NDR-1 back

My NDR-1, back.
Notice the single MIDI plug. It uses a special split Y cable to provide both input and output on this single connector. Without it, it only provides a MIDI in. I may talk about it in more details in an upcoming article.

Sent (pedal → controller)

No published documentation exists for the status SysEx emitted by the pedal; the decoding below is the result of my own capture and analysis.

A 27-byte SysEx message is emitted automatically every 3.5 seconds.

Typical captured message:

F0 00 20 1F 00 55 56 01 01 06 00 00 01 4C 4B 71 46 50 50 7F 4B 00 33 36 32 00 F7

Decoding

Analysis using MIDI Explorer, my own MIDI analysis tool.

Byte #Raw value(s)RoleComments
00xF0Start of SysExStandard
10x00Manufacturer IDStandard
3-byte Manufacturer ID
(first byte)
20x20Manufacturer ID
(second byte)
Standard
European Manufacturer
30x1FManufacturer ID
(third byte)
Standard
TC Electronic
40x00Device IDStandard
50x55Model ID? (Constant)Start of proprietary payload
Role inferred from the TC Electronic M-ONE, D-TWO & C-THREE MIDI specification
60x56Message type? (Constant)Role inferred from the TC Electronic M-ONE, D-TWO & C-THREE MIDI specification
7–80x01 0x01? (Constant)—
90x06PresetDisplays:
0x00: --
0x01–0x12 (1-18):
1–18 in normal and toggle mode
or
A-I 1-2 in bank mode
100x00Overdrive (on/off)0x00 (0): off
0x01 (1): on
110x00Distortion (on/off)0x00 (0): off
0x01 (1): on
120x01Routing0x00 (0): OD→DS (serial)
0x01 (1): DS→OD (serial)
0x02 (2): OD∥DS (parallel)
130x4CDS gain0x00–0x7F (0-127)
140x4BBass0x00–0x7F (0-127)
150x71Treble0x00–0x7F (0-127)
160x46Mix0x00–0x7F (0-127)
170x50DS level0x00–0x7F (0-127)
180x50OD level0x00–0x7F (0-127)
190x7FTone0x00–0x7F (0-127)
200x4BOD gain0x00–0x7F (0-127)
210x00Switch mode0x00 (0): normal
0x01 (1): toggle
0x02 (2): bank
22–250x33 0x36 0x32 0x00? (Constant)End of proprietary payload
260xF7End of SysExStandard

Received (controller → pedal)

All messages on Channel 2.

ParameterMessageValue Range
PresetPC (0xC2)0x00–0x11 (1–18)
OD on/offCC 21 (0xB2 0x15)0x00–0x63 (0): off
0x64–0x7F (127): on
DS on/offCC 22 (0xB2 0x16)0x00–0x63 (0): off
0x64–0x7F (127): on
OD gainCC 23 (0xB2 0x17)0x00–0x7F
OD levelCC 24 (0xB2 0x18)0x00–0x7F
OD toneCC 25 (0xB2 0x19)0x00–0x7F
OD mixCC 26 (0xB2 0x1A)0x00–0x7F
DS gainCC 27 (0xB2 0x1B)0x00–0x7F
DS levelCC 28 (0xB2 0x1C)0x00–0x7F
DS bassCC 29 (0xB2 0x1D)0x00–0x7F
DS trebleCC 30 (0xB2 0x1E)0x00–0x7F
RoutingCC 31 (0xB2 0x1F)0x00–0x2A (0): OD→DS
0x2B–0x54 (32): DS→OD
0x55–0x7F (64): OD∥DS

Cross-referenced with the manual, page 23.