-
Notifications
You must be signed in to change notification settings - Fork 58
Firmware: installation instructions
The recommended method for installing 16n firmware is to use Teensy Loader directly.
If you are using a standard 16n board, this should be fine. If you are using a faderbank with any circuit changes or custom firmware, there is no guarantee that official 16n firmwares will work out of the box; in that case, you should still compile your own firmware via Arduino. If you're not sure, speak to whoever built your 16n for you.
Version 2.0.1 is compatible with both Teensy 3.2 and Teensy LC-based boards
Note that if you are upgrading to v2.x.x from any version 1.3.x firmware, any configuration you have on the device will be erased. (It will be quick to reconfigure it once this is done). You acknowledge that by installing 2.0.1, that's going to happen.
At any point, you can of course download a 1.34 hex file from the releases page to return to prior functionality, though you may still need to configure the device to your taste via your own Arduino config.
The most reliable way to install 16n Firmware from 2.0.0 onwards is to load a compiled binary with Teensy Loader.
Although this app is inside your Arduino install (if you have one) it's probably easiest just to download a new version:
https://www.pjrc.com/teensy/loader.html
Pick the version for your OS. You just need the "Teensy Loader application".
Run Teensy Loader.
Download a firmware hex file from the Github releases page. You want the appropriate .hex file.
Open the firmware hex file in Teensy Loader, either by dragging it on to the loader, or with File -> Open Hex File.
Click the "Auto" button on the toolbar, so that the button is lit up green.
Connect your 16n over USB. Now, push the reset button on the Teensy on the 16n. This is the button at the far right of the Teensy board. This is quite easy to do with a ruler, or other flat object - eg a screwdriver blade - providing you have open sides on your case. When you push the button, the firmware will flash and your 16n will reboot.
(If you did not put Teensy Loader into Auto mode, you will have to manually click the "Program" button to flash the firmware, once the Teensy is in Program Mode).
Configure your 16n through the web editor: https://16n-faderbank.github.io/editor/
You'll need to visit this editor in Google Chrome, or any browser that supports WebMIDI. Given the state of WebMIDI support, we strongly recommend Chrome.
When you connect the controller, you'll see the current configuration, and the state of all the faders.
To alter the configuration, click "Edit Config" top right. You'll now be in Edit Mode. There are three tabs, for the USB output, the TRS output, and Device Options. Adjust each tab to the options you would like.
On Device Options, you can set I2C leader ("master") mode, adjust the function of the LED, and rotate the controller outputs.
You can also adjust the calibration of your faders by selecting the scaling calibration values. If you're having difficulty getting all faders to get to 127 with the default config, bring the maximum number down until you get something more appropriate. You may need to come down to as low as 7900. What's important is that you pick a number that works with your faderbank. Too low a maximum, and a fader will hit 127 before it reaches the end of its travel. (Remember, there is a small deadzone at either end of the faders - this is a mechanical limitation.)
When you've set up the config as you want, click "Update controller" to transmit the new config to the device. It will load immediately, and you'll be back at the main ('debug') view.
From the main view, you can save the current config by clicking "Export current config". You'll download a JSON file with the current config in.
To load a previous config, click "Edit config", and then choose "Import config". Select the JSON config file you have previously made. If the file is different to the config, you'll be notified, and you can transmit it to the 16n with the "Update Controller" button.
That's it!
If you're using a 16n without a multiplexer - ie, v1.25 or earlier - this firmware should still work. However, you'll need to compile your own version of the firwmare with the V125
toggle in config.h
set to 1
. The editor should then work correctly. (If you don't know what version board you have, you almost certainly do not have a v1.25 board. There are a literal handful in the wild.)