No description
Find a file
2019-05-25 11:05:17 +02:00
hardware Final NuEVI PCBs, schematics and gerbers added. Improved vibrato (now goes below calibrated zero/dead zone too). Fix for AT breath on/off setting not saved. Added midi controller resets when changing breath CC settings. 2018-07-09 16:44:32 +02:00
NuEVI Support for CV box/CV board (compile option). Match idle CV from PWM breath CV on A6 to direct output idle voltage from breath sensor (so any of them can be used for CV box without need for recalibration of box). Added reading and ignoring incoming USB MIDI messages to prevent buffers from getting filled up blocking outgoing messages. 2019-05-25 11:05:17 +02:00
NuEVI-audio Add NuEVI version with audio output (from Johan) 2019-03-04 10:21:21 +01:00
LICENSE.md First commit. Arduino sketch plus devboard plans. 2017-08-08 14:46:29 +02:00
NuEVI user guide 135.doc Support for CV box/CV board (compile option). Match idle CV from PWM breath CV on A6 to direct output idle voltage from breath sensor (so any of them can be used for CV box without need for recalibration of box). Added reading and ignoring incoming USB MIDI messages to prevent buffers from getting filled up blocking outgoing messages. 2019-05-25 11:05:17 +02:00
NuEVI user guide 135.pdf Support for CV box/CV board (compile option). Match idle CV from PWM breath CV on A6 to direct output idle voltage from breath sensor (so any of them can be used for CV box without need for recalibration of box). Added reading and ignoring incoming USB MIDI messages to prevent buffers from getting filled up blocking outgoing messages. 2019-05-25 11:05:17 +02:00
NuEVI-v135-CVBD.ino.hex Support for CV box/CV board (compile option). Match idle CV from PWM breath CV on A6 to direct output idle voltage from breath sensor (so any of them can be used for CV box without need for recalibration of box). Added reading and ignoring incoming USB MIDI messages to prevent buffers from getting filled up blocking outgoing messages. 2019-05-25 11:05:17 +02:00
NuEVI-v135.ino.hex Support for CV box/CV board (compile option). Match idle CV from PWM breath CV on A6 to direct output idle voltage from breath sensor (so any of them can be used for CV box without need for recalibration of box). Added reading and ignoring incoming USB MIDI messages to prevent buffers from getting filled up blocking outgoing messages. 2019-05-25 11:05:17 +02:00
README.md Update readme to match source code 2018-10-23 18:53:46 +02:00

NuEVI

A project by wind controller enthusiasts wanting to save the endangered Electronic Valve Instrument.

Follow the project at https://hackaday.io/project/25756-diy-evi-style-windcontroller

Building NuEVI

NuEVI is easiest to build using the Arduino IDE. You will also need to download and install Teensyduino to build for and upload to the Teensy.

Libraries

A few libraries need to be added that are not part of the default Arduino install. These can be added directly via the Library Manager in the Arduino IDE:

  • Adafruit MPR121
  • Adafruit GFX
  • Adafruit SSD1306

You also need to install Edgar Bonet's Filters library, specifically the fix-integer-overflow branch. One of the easiest way to do that is to download the git repo as a zip file, and then add that in the Arduino IDE (under Sketch -> Include Library -> Add .ZIP library)

The SSD1306 display driver library then needs to be patched to support the right kind of display. To do this, you need to find the Adafruit_SSD1306.h file used by the Arduino IDE. Exactly where it is depends on your OS and how you installed the library, but the default location when installed via library manager should be something close to either of these.

  • MacOS: /Applications/Arduino.app/Contents/Java/hardware/teensy/avr/libraries/Adafruit_SSD1306/Adafruit_SSD1306.h
  • Windows: My Documents\Arduino\libraries\Adafruit_SSD1306/Adafruit_SSD1306.h
  • Linux (at least some distributions): /usr/share/arduino/libraries/usr/share/arduino/libraries/Adafruit_SSD1306/Adafruit_SSD1306.h

In that file, there is a section around line 69 (at the time of writing) that determines the type of display. There, make sure the #define SSD1306_128_64 is not commented out, but that the others next to it are.

Compile options

Open NuEVI.ino in the Arduino IDE. Under "Tools -> Board", select "Teensy 3.2 / 3.1". Then set "Tools -> USB Type" to "MIDI".

If you have Teensyduino 1.4.0 or earlier, you also need to change an option in the code. In the Arduino Editor (where you have NuEVI.ino open), comment out the line with #define NEWTEENSYDUINO. If this does not match the Teensyduino version, pitch bend over USB-MIDI will not work properly.

Building and uploading

Connect the NuEVI via USB to your computer, open the Teensy application and make sure the "Auto" option is selected (the green round icon). In Arduino IDE, select "Sketch -> Verify/Compile" and once that is complete press the reset button on the Teensy chip (you have to remove the top cover on the NuEVI to access this). Upon resetting, it should upload the new firmware onto the NuEVI.

After uploading new firmware, you may need to reset the config memory of the NuEVI. It's a good idea to do between version upgrades, since the config parameter format often changes. To do this, press and hold the MENU and ENTER buttons while turning on the NuEVI.