The Dato DUO is a musical instrument that is designed to be played by two people.
This repository is no longer updated. Go to https://github.com/datomusic/duo-imxrt for firmware for newer Dato DUO's.
The firmware is open source, although changing it is not recommended for beginners. Steps below are tested on Mac OS X. We're welcoming contributors who want to help us get this working on other platforms.
The electronic heart of the Dato DUO is the NXP Kinetis K20 microcontroller, the same as used in the Teensy 3.2. Audio is generated using the Audio Library.
For now, it's not possible to upload firmware using the Arduino IDE. You will need to download and install it, though, in order to get all required tools and libraries. Advanced users can use the supplied makefile.
-
Download and install the Arduino IDE from Arduino.cc
-
Download and install Teensyduino from PJRC.com. In the install wizard, enable the Audio, FastLED and Keypad libraries
-
From a command line window, clone this repository including submodules
git clone --recursive https://github.com/datomusic/duo-firmware
Go to the duo-firmware folder and type make
.
Connect the Dato DUO to your computer using a micro USB cable. Put your Dato DUO into firmware update mode by gently pressing a pointy object into the little hole next to the headphone output. The lights will stop flashing and the Play button will become blue (early DUO's with a serial number below 350 will not show a blue button).
On your computer, type make dfu
to upload the firmware to the DUO.
If you cloned this repository without the submodules, go to the duo-firmware folder and type git submodule update --init --recursive
to fetch all required submodules.
If that doesn't help, please file a GitHub issue with as much detail as you can so that we can troubleshoot the issue.
- The
teensy3
sub-folder is taken from The Teensy 3 Cores - The
tools
sub-folder is taken from Teensyduino - The
Makefile
file is moved, modified fromteensy3/Makefile
- The
49-teensy.rules
file is taken from PJRC's udev rules
Modifications to Makefile
include
- Add support for arduino libraries
- Change tools directory
- Calculate target name from current directory
- Prettify rule output
- Do not upload by default, only build