From 4c575018d0b759215f549be3b33f5662784474c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20St=C3=A4ck?= Date: Tue, 28 Aug 2018 14:04:05 +0200 Subject: [PATCH] Add "build" section to NuEVI --- NuEVI.ino | 2 ++ README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/NuEVI.ino b/NuEVI.ino index f75e404..c52d13d 100644 --- a/NuEVI.ino +++ b/NuEVI.ino @@ -23,6 +23,8 @@ PROGRAMME FUNCTION: EVI Wind Controller using the Freescale MP3V5004GP breath // Compile options, comment/uncomment to change #define REVB + +//Uncomment the following line if you have Teensyduino 1.4.1 or later, to make pitch bend over USB-MIDI work. //#define NEWTEENSYDUINO diff --git a/README.md b/README.md index 75d0622..d342606 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,50 @@ A project by wind controller enthusiasts wanting to save the endangered Electron 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](https://www.pjrc.com/teensy/td_download.html) 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](https://github.com/edgar-bonet/Filters), +specifically the `fix-integer-overflow` branch. One of the easiest way to do that is to download the +git repo [as a zip file](https://github.com/edgar-bonet/Filters/archive/fix-integer-overflow.zip), +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.1 or later, you also need to change an option in the code. In the +Arduino Editor (where you have NuEVI.ino open), uncomment 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.