Axoloti w/Teensy


#6

I guess to add to the llist,
I use an Arduino Due,
I have set it up to control any one of 64 cc values through to the Axo, currently working on it applying presets that read from a text file into an array which at the press of a button will send all 64 presets to the Axo. As many may know, my arduino due is also a graphics driver to a VGA monitor where all the above is controlled through a menu.

Actually, 5 minutes before I read this thread, I wondered if it would be OK to do a user guide on how to create a Midi controller using Teensy / Arduino. Its so easy, all the libraries are already created, just a bit of extra coding for your personal needs is required. Just not sure if doing a user guide on another microcontroller is appropriate on this forum.
:grin:


#7

I think i may have came accross this before but was too embarrased to ask...if i post a diagram of a teensy wired to the axoloti, would you be able to tell me weather or not its wired properly? itll be super simple.....

also, if its wired properly do we have to add an object into the patch that tells the axolotli to receive midi signals from somewhere special? ive just been addiving the ol' midi/in/keyb object to my patches so far (I legit have no idea what im doing but it feels like im getting close lol)


#8

@Androoclops just seen after writing this that your comment was meant for @mongrol
...anyhow, with the Teensy you can directly connect via USB and send midi to the Axoloti... and use the midi/in objects like you mentioned... no special object required... midi is midi. If on the other hand, you want to use the DIN input of the Axoloti, you'll need to wire the Teensy TX pin accordingly.
For a 5V teensy, use 220R resistors to a 5 pin DIN jack, as per midi spec, with 3.3v, there should be a 10ohm 0.25w resistor from UART to pin 5 and 33 ohm 0.5w from v+ to pin 4, or as per prcj, 47 ohm resistors (both) are suggested.


#9

I'd really love to know how this is going to work out for you. I also have a Due which I'm going to connect via USB midi to axoloti but I haven't wraped my head around preset management and saving on Due yet. I understand why it might not be appropriate to share your work with Due or Teensy here on this forum though.


#10

Is this what you mean?

Should I connect one of the GND pins on the teensy to the axoloti too?

here's a pinout of the teensy lc
https://imgur.com/CWyDqFO


#11

@Androoclops perhaps I misunderstood what you are trying to do... I didn't realize you wanted to hardwire the teensy LC to the Axo... if so, please clarify. In my reference, pin 4 and pin 5 refer to a 5-pin DIN midi output jack. More info here (but geared to 5V teensy)... https://www.pjrc.com/teensy/td_libs_MIDI.html
As it is, the teensy can simply be plugged into the Axo using the same USB cable you use to program it and it will be seen as a midi device provided that before you compile your code, in the Arduino IDE you select Tools>USB Type> "MIDI" or "Serial + MIDI" (my preference). I would suggest doing some debugging in the Arduino IDE serial monitor or downloading a program called MidiOx that will help you debug and know everything is sending midi before plugging into the Axo.
If hardwiring, you might want to read this Axoloti forum thread and pay attention to the reference object "hug\midi_io\extra_midi_io.axp": https://sebiik.github.io/community.axoloti.com.backup/t/extra-midi-io-via-uart-not-working-in-standalone-mode/3692


#12

I'm trying to hardwire it directly to the Axo.


#13

Apologies then... lots of useful info in the link I shared.


#14

The easiest way to connect your Teensy to the Axo is as follows..
Teensy UART TX pin ------------------- Axoloti Midi in din pin 5
Teensy 3.3v --------------220ohm-R--- Axoloti Midi in din pin 4
Teensy GND ------------------------------ Axoloti Midi in din pin 2

Not sure which midi library you are using, but the one by "Forty Seven Effects" seems to be the most popular, in fact they have 2, one for UART and one for USB Midi, I haven't tried the USB one yet, but I would expect the same results. Sending Midi out is straight forward, it will recieve too, but you need to decide how you will code the data you are recieving, so if you are only building a controller recomend you just start with send.

@Sharco, More than happy to share everything I have done, but I am by no means an expert, self taught so I hold no responsibility for any mistakes along the way :stuck_out_tongue_winking_eye:

I'll try to explain the best way I can about the preset method..
Firstly, I am not a Synth guy, I am a bass guitarist that loves playing with effects, so my build is designed to be totaly foot controlled with a fixed layout flexible enough to incorporate all the effects I apply and Synth techiniques I learn to apply along the way. From what I have learnt from other posts here on presets is, when building Synth related patches, users want the presets there ready to go the moment you hit a button or simmilar. There were a few things about this that bothered me, the main one being, when developing a patch, the user will work the patch to contain all the related presets they require. But for the life of me, I just can't decide that this is right for me, because I think I am more likely to develope a patch where presets will come, go and change for use in a performance, but the same patch with other presets could be a completely different performance. So my method I chose to implament is has 2 steps, 1- Load Preset, 2- Apply Preset. There will be room to be flexible with this, and at the time I decided this I found that adding this feeture to the Arduino Due and sending the preset as midi was the best way to go. I find it is important to explain the above, because this was my journey to discovering what suits my needs, but it may not suit yours.
One thing working againts me, is the graphics driver on my Due uses alot of RAM so I am also limited to how many presets could be held here, but for others this may not be an issue.
Without going into the code, my setup will hold 96 patches, each patch has 32 switches, and 32 adjustable parameters, each patch will also have a corresponding preset text file, the first line of text displays a number from 1 to 6, 1 to 4 for switches, choosing how the switch will work, momentary, inverted momentary, toggle rising edge, toggle falling edge, 5 to 6 for parameters, Ubnipolar and Bipolar (total of 64 values seperated by a coma on one line) each line thereafter is 64 values of presets, first 1 - 32 for switches either 0 off or 127 on, 33 - 64 for parameters ranging in the values from 0 to 127. So the first row is read into an array everytime a patch is loaded and also by default the second row as preset is also loaded. This is where it is where I am now, trying to decide how I will interact with the presets, do I have a description for each preset, if so I need to diplay it in my menu somewhere, and if I do this, do I also do nthe same at start up, a uuser must select a preset..
I can guide you on the code.. Text file is stored on an SD card, read an entire row of text which is numbers seperated by a comma, each time a char is read it is joined to the previous char, if a comma is recieved, the group of chars is converted to a value and stored in an array, then it is looped over and over until it gets to the end of the line.
Simples.. :tired_face:
I think for me the biggest challenge is finding out what works for me and meets my needs at the samer time. I do believe this is important, especialy with large projects that you waste your life away on like mine..
:unamused:


#15

Noob question: what pin on the teensy LC is the UART pin?


#16

TX (transmit) / RX (receive)
Pin 01 to send
00 to rcv


#17

Could I hardwire Teensy 3.6 to get power from axoloti? Im planning on having 4x4 led buttons, 12 led buttons and about 8 rotary encoders connected to teensy 3.6. Using them by sending midi to axo. About 15 potentiometers and 128x64 OLED connected straight to axoloti. Is it doable?


#18

You should be able to test it by connecting the Teensy directly to the USB host port, to provide both power and Midi connectivity. If its not enough to power all the LED's, it shouldn't hurt the Axo.


#19

Thanks that's great. Do you know if it's possible hardwire teensy to get power from axo?


#20

i took 5v directly from the axo to the teensy 3..6 with no problems


#21

I read somewhere that it might prevent using teensy USB port after connecting to power. Can you still use the USB to upload code to teensy?


#22

if i recall correctly i had to snip away a tiny copper trace on the teensy to prevent USB power going into the teensy when USB is connected, so it would just draw from the axoloti 5v


#23

Thanks for the info!


#24

I was thinking how could I make this happen:
Connecting 4x4 led buttons to teensy to use as step sequencer. The leds would on/off when button is pushed. That is something I think I could do pretty easily.

But I would want the leds to be two color leds. Green led would light when pushing the buttons. Red color would show the sequence going forward the steps. How would I get the leds work like this?

Better to just connect the 4x4 to the axo and use the teensy for other inputs and Outputs? Or wire buttons and leds to teensy and just the red pin of the led to axo? Don't know if it's even possible to wire like that :smiley:


#25

you can send midi from the axo to the teensy to control the red leds.