NEMUS Harpsichord Interface Firmware
Loading...
Searching...
No Matches
NEMUS Harpsichord Interface Firmware

This documentation contain information for developing and deploying the firmware for the Haptic Harpsichord MIDI Controller

Wiring

Pin layout adheres to the Arduino nano form factor

Connection Pin Left Pin Right Connection
EEPROM SPI CLK D13 D12 Rotary CLK
EEPROM VCC 3.3v D11 Rotary DATA
NC AREF D10 Rotary Switch
PCB 0 A0 D9 LED Data
PCB 1 A1 D8 Mux C
PCB 2 A2 D7 Mux B
PCB 3 A3 D6 Mux A
PCB 4 A4 D5 Mux Interrupt
PCB 5 A5 D4 EEPROM SPI MISO
PCB 6 A6 D3 EEPROM SPI MOSI
NC A7 D2 EEPROM SPI CS
NC 5v GND GND
NC RESET RST Reset Switch
GND GND RX / D1 NC
PSU + VIN TX / D0 NC

MIDI

Standard MIDI protocol is used. Changes in behaviour should be directed at the midi_functions.h

Power

The system currently uses a 5V 1A power supply.

Calibration

Thresholds can be calibrated using the the Rotary encoder port. A 5-pin rotary encoder can be attached / dettached at any time.

First open the Serial Plotter in the Arduino IDE. Send a 'p' character over serial and the sensor and threshold data for the current key will begin streaming.

Press down on the dial to cycle through the 3 modes: Key select, Pluck Threshold and Release Threshold.

Mode LED Colour
Key Select Blue
Pluck Threshold Green
Release Threshold Purple

The dial can then be used to adjust which key is being calibrated. Thresholds can be monitored through the data streamed over the Serial connection.

Double-click the dial to save all current thresholds to memory. All LEDs will briefly flash blue to confirm data has been saved.

Troubleshoooting

If there are any problems with individual components, check the tests/ directory for a set siagnostic tests.

Sensor Data Noise

If the sensors seem to return random noise and do not respond to an IR LED it is possible the interrupt for the multiplexers is not connected or is at a positive voltage. Ground the INT pin of the multiplexer.