Euroshield 1 with Teensy 3.6 and cli builds on Arch Linux
These are basically notes for future me, but maybe they will help someone else doing the same thing.
I just got my lovely new euroshield 1 today and pulled out a teensy 3.6 that has been sitting in a drawer for far too long to pop into it.
The first thing to note: the USB port faces down, just line the pins up with the bottom and it’s going to hang weirdly off the top – the extra pins on the 3.6 aren’t used by the euroshield but it supports the teensy 3.6 just fine.
I’m skipping all the misdirections and false starts here of course!
The first thing to do is basically follow the arch linux arduino setup notes as written.
That meant for me installing the packages arduino
,
arduino-docs
, arduino-avr-core
, and
arduino-builder
.
Probably arduino-avr-core
and
arduino-builder
is enough.
Then add yourself to the uucp
and lock
groups (lock I think is only needed if you want to run the GUI – I
wanted to do this to test so I did it!)
Make sure the cdc_acm
kernel module is loaded. (It
already was for me.)
As I write, the latest version of the IDE is 1.8.10 but teensyduino only supports 1.8.9 so that’s the version I installed.
Follow the instructions in this guide to install the stock arduino and then teensyduino.
That meant for me downloading 1.8.9 from the arduino site, extracting it (tar xvf
),
downloading the udev rules file and copying it to
/etc/udev/rules.d/
and then downloading the linux x64
installer for teensyduino, making it executable with
chmod +x
and then running it.
The installer will ask you to find the arduino directory – point it to the stock arduino you just unpacked.
The reason you can’t just point it to the
/usr/share/arduino/
dir and install things directly is that
the teensyduino is really strict about the installation you’re
modifying. The file size of one of the java jars is slightly different
than the stock build so it refused to continue with the arch package. More
from the man himself
After installation is complete copy the teensy directories manually:
hardware/teensy -> /usr/share/ardiuno/hardware/teensy
hardware/tools -> /usr/share/ardiuno/hardware/tools
examples/Teensy -> /usr/share/ardiuno/examples/Teensy
You’ll also need to manually alter the
/usr/share/arduino/hardware/teensy/avr/boards.txt
file and
set defaults for certain options usually selected in the menu of the
IDE. Check out this
wonderful blog post for more troubleshooting info.
I had to set these values for the teensy 3.6:
teensy36.build.fcpu=240000000
teensy36.build.keylayout=US_ENGLISH
teensy36.build.usbtype=USB_SERIAL
teensy36.build.flags.ldspecs=
But check out the hardware/teensy/avr/boards.txt
file
and look for values corresponding to the board you want in the
teensyWHATEVER.menu
sections.
After that, I copied the VCO example from the
euroshield downloads on the forum and renamed it
vco.ino
– to finally build and upload it:
arduino-builder -fqbn teensy:avr:teensy36 -hardware /usr/share/arduino/hardware -tools /usr/share/arduino/tools -tools /usr/share/arduino/tools-builder vco.ino
Your fqbn
is going to be teensy:avr:
plus
the name of your teensy as found in the boards.txt
file.
And, there were sinewaves and triangle waves and everything was good!
Next up
I want to port my pulsar synthesis implementation from pippi to this module – with a complex profile of params controlled by the logistic equation, whose seed values are CV controlled from the euroshield inputs.
But that’s for another post!