Teensy 3.6 Synthstation

Status
Not open for further replies.
Hello all!

I'm looking to do a project that's seems pretty similar to this one found on Hackster: C.H.I.P. MIDI Arpeggiating Synth but instead of using CHIP, I'm of coarse looking to use a Teensy 3.6...

Basically, I want to hack into my Akai Synthstation 25 in order to use the Teensy audio libraries to initiate sounds to feed through the Synthstation. Also still being able to use the MIDI capabilities of the SS would be ideal as well.

So far I've bought & soldered on the pins to use the optional USB host cable and have tried hooking the SS to the Teensy via that solution but when I fire up the example found: File > Examples > USBHost_t36 > Test the Teensy seems to be getting mixed messages during the upload process and borks out. It's only when I detach the SS from the Teensy's USB host cable that it will properly program. Yet upon reattaching the now programmed Teensy to the SS there doesn't seem to be any activity happening. FYI, I have he Teensy setup to use serial/midi/audio atm.

My first question I guess is what I'm hoping to achieve even possible? Then secondarily if so am I going about it the right way with this USB host cable or should I be looking to connect to the Akai Synthstation's PCB boards directly? I've taken the SS completely apart and examined all the pieces so I have access to some pins if I can figure out which ones do what exactly. I've taken pictures of each PCB board in the SS so if anyone thinks seeing those would help assess the situation I'd be more than happy to post them here.

Thanks in advance for any advice or help!
 
My first question I guess is what I'm hoping to achieve even possible?

Yes, this should be possible.

So far I've bought & soldered on the pins to use the optional USB host cable and have tried hooking the SS to the Teensy via that solution but when I fire up the example found: File > Examples > USBHost_t36 > Test the Teensy seems to be getting mixed messages during the upload process and borks out. It's only when I detach the SS from the Teensy's USB host cable that it will properly program.

Something's probably connected incorrectly.

I can confirm uploading works here when my Teensy 3.6 is connected to a MIDI keyboard by the USB host cable.

Then secondarily if so am I going about it the right way with this USB host cable

Well, I don't have an Akai Synthstation 25, so without seeing details photos and info, the best advice I can give is based on the MIDI keyboards and other devices I do have. This is the one I usually use for testing:

https://www.amazon.com/midiplus-AKM320-MIDI-Keyboard-Controller/dp/B00VHKMK64
 
Yes, this should be possible.



Something's probably connected incorrectly.

I can confirm uploading works here when my Teensy 3.6 is connected to a MIDI keyboard by the USB host cable.



Well, I don't have an Akai Synthstation 25, so without seeing details photos and info, the best advice I can give is based on the MIDI keyboards and other devices I do have. This is the one I usually use for testing:

https://www.amazon.com/midiplus-AKM320-MIDI-Keyboard-Controller/dp/B00VHKMK64

Thanks for the quick reply Paul!

I'm not sure what's going wrong as I've re-soldered the pins for the USB host cable 3 times now with no better results each time. Pretty sure I did the best I could each time cleaning it all up and then applying flux, etc. Here are some pics:

TeensyUSBsolder.jpg
teensyUSB.jpg

To be sure my Akai Synthstation wasn't the issue I went ahead and connected my Korg Monologue synth/midi keyboard which I know works just fine and I got the same results. Could the USB host cable be the issue? Or is this all due to a poor initial soldering job? I do have access to a hot air rework station so I suppose I could de-solder the pins AGAIN and then use the hot air to absolutely melt any remaining solder away??

Again, the Teensy works just fine otherwise. I can use it's MIDI usb capabilities to use a couple potentiometers to change MIDI in my DAW. So I'm definitely at a loss of ideas. Any input would be greatly appreciated..

Oh and here's what Windows Device Manager shows:

2017-12-25 13_49_28-Teensy MIDI_Audio Properties.png

Thanks again!
 
Well, I'm pretty sure I've fried my Teensy lol...

Thanks for the help, now that I know I'm going about it the correct way I just need to do a better job on the initial soldering of the pins I think.

I've gone ahead and ordered another 3.6 through Amazon so hopefully I'll have that by midweek. I'll update this thread once I have the new Teensy and hopefully better results!
 
Just an update, maybe someone can give some feedback as to what might be happening...

So I tried using the 3.6 I thought I'd fried, on another computer which is an Ubuntu laptop. And after getting things working with an Arduino Micro I was able to get the Teensy 3.6 to fire up the LED blink example on that laptop. I switched back to Windows and now I can get the LED blink example to work on there as well. Whereas previous it wasn't even being seen in device manager properly.

It appears that the Teensy still might be good. I suppose I'll give the USB host cable another go. Really do hope this 3.6 is okay and I needed another 3.6 anyways for another project so this might work out for the best.

I guess what I'm getting at is that am I going to expect intermittent functionality from here on out at best on this 3.6? Any input would be welcomed, thanks!
 
Last edited:
... am I going to expect intermittent functionality from here on out at best on this 3.6? ...

Unless you harm the Teensy - No.

What version of Windows?

I had some Teensy's go offline a bit on Windows 7 - if I programmed a second on the same machine the first would then work. Not seen that using Windows 10 IIRC. The other day I was tormenting USB on waking from Snooze sleep and Win 10 got mad at that USB port - device moved to another worked and then after a bit going back - when that one got mad too - the prior one was reset to working and had not rebooted.

But other than one T_3.6 I got swapped - I've not had issues with other T_3.6's including the KS Beta T_3.6 and the PROTO that came before it that still work like the others I've soldered up and still using. Worst case was the 15 second button press processor reset - but none of that recently.
 
Just an update, maybe someone can give some feedback as to what might be happening...

First, try adding a 10 second delay before usb.begin() to turn on the USB host hardware. Or add a "while (!Serial) ; " line. The idea is to wait for your PC to full detect Teensy. Maybe even print some stuff to the serial monitor, and delay for several milliseconds so it gets an opportunity to actually transmit over the USB cable to your PC, and then turn on the USB host.

Perhaps this is simply a power problem? Most PCs can provide 500 mA. But that power needs to run both Teensy 3.6 and whatever device you're plugging into 3.6's host port. However, if you're plugged into an unpowered USB hub, you might not have enough power available. Maybe you've got just barely enough power for Teensy 3.6, and then when you turn on the USB host port and the Synthstation also starts using power, perhaps it's just too much and everything stops working. If Windows hasn't completed reading the USB info from Teensy, you'd see that sort of "Code 10" or "Code 43" error in Windows (Microsoft doesn't seem to like actually giving any real info, do they...)

The other alternative, which I would not recommend you try until you've at least checked with other ports and maybe measured with a voltmeter, is an external 5V supply with the VUSB-VIN pads cut apart on the bottom side of the Teensy. Then your 5V supply will power everything, and you can use one that's rated for 1A or more to make sure you have enough power.
 
First, try adding a 10 second delay before usb.begin() to turn on the USB host hardware. Or add a "while (!Serial) ; " line. The idea is to wait for your PC to full detect Teensy. Maybe even print some stuff to the serial monitor, and delay for several milliseconds so it gets an opportunity to actually transmit over the USB cable to your PC, and then turn on the USB host.

Perhaps this is simply a power problem? Most PCs can provide 500 mA. But that power needs to run both Teensy 3.6 and whatever device you're plugging into 3.6's host port. However, if you're plugged into an unpowered USB hub, you might not have enough power available. Maybe you've got just barely enough power for Teensy 3.6, and then when you turn on the USB host port and the Synthstation also starts using power, perhaps it's just too much and everything stops working. If Windows hasn't completed reading the USB info from Teensy, you'd see that sort of "Code 10" or "Code 43" error in Windows (Microsoft doesn't seem to like actually giving any real info, do they...)

The other alternative, which I would not recommend you try until you've at least checked with other ports and maybe measured with a voltmeter, is an external 5V supply with the VUSB-VIN pads cut apart on the bottom side of the Teensy. Then your 5V supply will power everything, and you can use one that's rated for 1A or more to make sure you have enough power.

Thanks again for the replies, I really do appreciate!

I will most definitely try those changes to the code when I get home tonight. I don't really think power is the issue because I'm actually also powering the Synthstation via a power adapter. So the Teensy should be fine as far as that goes...

As far as intermittent use. That is still the case unfortunately. As soon as I tried the AnalogueChange example after I got the LED blink to work the Teensy seemed to stop working properly again as it wouldn't be seen at all in Device Manager. I then tried going back to the Ubuntu laptop and trying there but with no better success. Whereas it had found the Teensy on a port pretty much automatically before when I tried to change ports to the Teensy it was greyed out and I didn't see it anywhere after a dmesg.

So again, I'm fairly certain that I've damaged this particular 3.6 in some way from all the soldering/desoldering perhaps. When I get my 2nd 3.6 in later this week I'll be sure to be much more careful and maybe I can do some testing to compare the 2.
 
Back In the Saddle Again!

Okay so my new 3.6 arrived today and I eagerly soldered the pins as carefully as I could so I could start testing the USB host cable again...

Really no better luck. I'm attaching 3 separate pics to show my soldering job. I'm not going to be going crazy like I did last time but I'm pretty clueless as to what could be happening here.

IMG_5540.jpg
IMG_5541.jpg
IMG_5542.jpg

And as you can see the white dot/red wire signifies the power pin, likewise the black wire = ground etc... Also I know the mini-USB is disconnected I just took this pic to show that I don't have the USB host cable hooked up incorrectly either. Just as in the original picture above.
teensyusbhost.jpg

And to confirm it's not the sythstation or anything else I once again used my Korg Monologue in Ableton and then also in Qsynth on the Ubuntu laptop. Confirming it's MIDI functions properly, then hooked it up to the Teensy 3.6 USB host cable and although on the Ubuntu laptop the 3.6 appeared as a working MIDI device after issuing a dmesg there was no MIDI functionality or any signaling happening of any kind with Qsynth. Similarly, in Windows either it would appear to be a MIDI device with an error or a MIDI device that didn't do anything except spit out an error message regarding memory in MIDI OX. Ableton wouldn't complain it just wouldn't do anything.

For even further confirmation I went ahead and fired up the USB host example for a mouse. Connected a simple mouse to the Teensy 3.6 USB host cable and got zero functionality from the connected mouse. This is true for both Windows AND Ubuntu so this isn't a Windows specific problem either.

I should also mention that I've successfully ran the blink LED & the AnalogControlChange examples so the 3.6 functions perfectly when not trying to use the USB host cable. Again I can only think the solder joints on the header pins are cold but I really really doubt it.

What should I be doing? I don't think I'm doing anything wrong here and still no dice. Getting pretty frustrating. Any input is appreciated as always...
 
Last edited:
Is there anyway I can test the USB host cable to be sure that's not the issue?? I don't mind throwing down on another cable it's only $3 or whatever. Just want this to work lol...
 
Did you try the 10 second delay and measuring voltage (message #7)? Very possible these problems are simply power related, which would explain why a 2nd Teensy does exactly the same thing as the first.
 
Did you try the 10 second delay and measuring voltage (message #7)? Very possible these problems are simply power related, which would explain why a 2nd Teensy does exactly the same thing as the first.

I did try adding the delay but didn't seem to get any better results at the time on either of the 2 different PC's(Windows & Ubuntu laptops) I've been trying at home. Both the Synthstation & the Korg Monologue were using their own power via power adapters and they even had full batteries in their respective compartments. Would power still be an issue in that case??

I do have a cheap multimeter how would I go about measuring, just basically check to see if the power pin on the 3.6 for the USB host cable reads 5V? Thanks again for your assistance!
 
Hmm, well shoot you may be correct of coarse lol!

Not sure if my re-solder job(I couldn't help myself) did it or maybe the Mouse example was working last night as well and I wasn't checking the serial monitor like a dumbass... But at any rate I CAN confirm functionality with the USB host cable and the example found at File > Examples > USBHost_t36 > Mouse as shown by this screen shot:

Successful USB host cable mouse.png

Unfortunately I don't have any USB MIDI keyboards with me atm so I'll have to wait until I get home to continue testing but I'm at least confident that all this hardware DOES work. So...

If power IS the issue and it's really seeming like it is despite the keyboards having their own power. Can you give any examples or links to a power supply that would suffice as you described here in message #7?

The other alternative, which I would not recommend you try until you've at least checked with other ports and maybe measured with a voltmeter, is an external 5V supply with the VUSB-VIN pads cut apart on the bottom side of the Teensy. Then your 5V supply will power everything, and you can use one that's rated for 1A or more to make sure you have enough power.

Thanks again for everything so far. I'm very happy to be making some progress!
 
Last edited:
If you're not getting enough power, the first (easiest) thing to try would be a powered USB hub.

Virtually all of them come with a power supply capable of at least 2 amps. Usually the overcurrent limiting in hubs allows a very generous amount over the 500 mA USB2 limit.
 
If you're not getting enough power, the first (easiest) thing to try would be a powered USB hub.

Virtually all of them come with a power supply capable of at least 2 amps. Usually the overcurrent limiting in hubs allows a very generous amount over the 500 mA USB2 limit.

Powered USB hub ordered & on the way.. In the meantime I'll try testing things again since I did resolder and perhaps that was the issue but most likely it's this power deal.

I'm still curious as to why this is since again, both the Synthstation and the Monologue both had power supplied with power adapters and a full set of good batteries installed as well. Any thoughts and thanks again?
 
Project update

If you're not getting enough power, the first (easiest) thing to try would be a powered USB hub.

Virtually all of them come with a power supply capable of at least 2 amps. Usually the overcurrent limiting in hubs allows a very generous amount over the 500 mA USB2 limit.

My confusion endures...

Got the powered USB hub in today and got everything hooked up and had some initial seeming success but no real progress has been made. Here's how I have it all hooked up to my Korg Monologue(I am now just simply trying to confirm all my equipment is functioning properly BEFORE I try the Akai Synthstation 25) which I know works USB-MIDI with that current black USB cable plugged into the powered USB hub directly, the Korg Monologue is recognized in Windows and functions as intended both in MIDI-OX and Ableton Live.

But here's how I have it connected to the Teensy 3.6 with the USB host cable.
teensy usb hub.jpg

And here's the Korg Monologue with the USB cable and the power adapter feeding the Korg it's power even though it also has a full set of batteries as well.
korg usb cable and power.jpg

After trying the Synthstation and getting the same negative results I tried the Korg and I SWEAR I saw it working on the serial monitor. I didn't grab a screen shot and I'm just really pissed at myself for not getting a SS since I even thought to myself that I should get a SS atm..

Oh well, at any rate with the Korg seemingly working I switched back to trying to getting the Synthstation working and after a good hour or so of fiddling I said screw it and just went back to confirm the Korg was still working at least. Wouldn't ya know it when I went back to trying the Korg it now no longer shows any functionality in the serial monitor or anywhere else.

Both on the Windows and Ubuntu laptops, both using the powered USB hub and with an obvious full array of power needs as far as AC power adapter & batteries for the Korg Monologue. I even tried a different USB cable for the Korg Monologue and got no better results.

I've checked and reset the connections for the Teensy 3.6 as well as all the parts in between and everything seem secure and rock solid as far as that goes but still no dice... I've tried shutting down and restarting the laptops as well as trying to reset the Teensy but again, no better results. I've even used 4 different mini-USB cables for the 3.6 as I'm pretty darn sure 3 of them were giving me issues as well.

Oh and here's the exact code I'm using which is just uncommented example code:
Code:
#include "USBHost_t36.h"

USBHost myusb;
USBHub hub1(myusb);
USBHub hub2(myusb);
USBHub hub3(myusb);
KeyboardController keyboard1(myusb);
KeyboardController keyboard2(myusb);
MIDIDevice midi1(myusb);

void setup()
{
	while (!Serial) ; // wait for Arduino Serial Monitor
	Serial.println("USB Host Testing");
	myusb.begin();
	keyboard1.attachPress(OnPress);
	keyboard2.attachPress(OnPress);
	midi1.setHandleNoteOff(OnNoteOff);
	midi1.setHandleNoteOn(OnNoteOn);
	midi1.setHandleControlChange(OnControlChange);
}


void loop()
{
	myusb.Task();
	midi1.read();
}


void OnPress(int key)
{
	Serial.print("key '");
	Serial.print((char)key);
	Serial.print("'  ");
	Serial.println(key);
	Serial.print("key ");
	Serial.print((char)keyboard1.getKey());
  Serial.print("  ");
	Serial.print((char)keyboard2.getKey());
	Serial.println();
}

void OnNoteOn(byte channel, byte note, byte velocity)
{
	Serial.print("Note On, ch=");
	Serial.print(channel);
	Serial.print(", note=");
	Serial.print(note);
	Serial.print(", velocity=");
	Serial.print(velocity);
	Serial.println();
}

void OnNoteOff(byte channel, byte note, byte velocity)
{
	Serial.print("Note Off, ch=");
	Serial.print(channel);
	Serial.print(", note=");
	Serial.print(note);
	Serial.print(", velocity=");
	Serial.print(velocity);
	Serial.println();
}

void OnControlChange(byte channel, byte control, byte value)
{
	Serial.print("Control Change, ch=");
	Serial.print(channel);
	Serial.print(", control=");
	Serial.print(control);
	Serial.print(", value=");
	Serial.print(value);
	Serial.println();
}

Lastly, I should mention that the 3.6 shows as working properly in the Windows Device Manager as there are no errors or cautions. Any advice or feedback on this issue would be great. Thanks!
 
Last edited:
Another Update

Another update here:

When I got home today I went ahead and tried things again with the Korg Monologue. Much to my surprise it appeared to be working in the serial monitor! However after about 5 seconds the connection seemed to die between the Korg and the 3.6 because the 3.6's serial monitor was operational the entire time just no more messages were transmitting.

Here's a screen shot, basically what I saw when I had the initial success before.
2018-01-03 18_22_39-TeensyMonitor_ COM13 Online.png

At 1st I thought it was the USB cables since I had so much trouble with the micro-USB cables. But 2 of the 3 I had worked just only for 5 seconds or so. I doubt both USB cables have the exact same quirk but hey it's possible still.

Rather I'm thinking something is overheating or something in the code is causing the connection to die? What's curious is it will work for those 5 or so seconds but only 2 different times. After those initial seconds, subsequent attempts yield no results whatsoever. So that's why naturally my mind goes to some kind of overheating issue...

Please tell me I'm wrong lol. :confused:

Atm, I'm letting the 3.6 rest and will try it again in about 30 minutes to let things cool absolutely with no doubts. Will report back with results.
 
Okay so I tried it again and didn't have any better luck after a couple seconds.. Just for kicks I went ahead and tried ANOTHER USB cable from the Korg to the 3.6 Host cable connector. The 5th cable in total now. Initially it worked for like 20 seconds or more! I was super pumped but then it stopped...

I went ahead and gave it the ole college try again and reset all the connections and fired it up once more... I am VERY pleased to announce that the serial monitor is now showing activity with the Korg Monologue!

Pics or it didn't happen:
View attachment 12502
Even turned some knobs to make sure it found all kinds of midi changes!

My takeaways, wow USB cables. WTF man lol... Here are 2 screenshots of the USB cable madness:

Here's the pile I tested and didn't work or slightly worked just enough to sink my time.
View attachment 12503

Here's the bag of cables I have left to try.
View attachment 12504

Now that I found a combination that works I'll stick with these specific cables for the Korg Monolgue. I have more than a handful of mini-USB cables to try with the Akai Synthstation 25 now.

.. So I just checked the serial monitor as I'm posting this and it looks like the connection has died again, the serial monitor is still "Online" just no more messages are transmitting. Just tried unplugging and reconnecting the 3.6 a couple of times and now no more messages are transmitting. I'm going to again let it rest 15-20 minutes and see what I get.

Any input or ideas is still very much welcomed of coarse. Thanks!
 
For those following this thread I'd like to report some updates.

I'm fairly certain the real problem I had the entire time, even from the very beginning was most likely due to bad USB cables and probably nothing else. It just so happens a YouTube channel I follow made a video the other day about testing USB cables. Unfortunately he didn't go into detail about testing the data lines of the cable. Just the power lines. Still it did a lot to at least ease my concerns that I'm not a complete idiot and that many many other people do seem to be coming across the same issue. That being bad USB cables...

Here's a link if you want to check that out, I have no affiliation: https://youtu.be/n70N_sBYepQ

My question would be, where does one go for "quality" USB cables? Anyone have any preferred brands or reasons why to choose this or that?

...

Secondarily, I finally got another AC adapter for the Synthstation 25 and will be trying getting some functionality out of that thing but without quality mini-USB cables I'm afraid the best I should hope for is some functionality for a short amount of time. Same as the Korg Monologue.

So yeah if anyone knows a good source for USB cables, please do tell but otherwise I'll update this thread once I have updates to the Sythstation. I suppose if all else fails I can just use the keyboard and other parts, get a multiplexer and just take out the Synthstations main PCB...
 
Status
Not open for further replies.
Back
Top