0

I have 2 Arduino Teensy 3.2 boards that I'm trying to implement serial communication between the 2 boards. I have successfully done this by connecting RX1 of the 1st Teensy with TX1 of 2nd Teensy and TX1 of 1st to RX1 2nd.

However I was wondering if I could send serial messages between the Teensys i.e. do the same thing, by connect the 2 Teensys via the USB port? Or is this USB port reserved to connecting the Teensy to a computer?

enter image description here

  • There is alpha software at github.com/felis/UHS30 to setup USB host mode, so it could be possible, but you might be better off doing what you are doing. – Dave X Dec 16 '16 at 4:03
  • 1
    But why? Uart is good and easy, RS485 is more robust. USB is complicated and not very beneficial. – Paul Dec 16 '16 at 7:24
  • I thought you could reuse the D+ and D- pins to do e.g. software serial over them. But it seems like you can't use those pins as GPIO. – Gerben Dec 16 '16 at 13:45
0

Note: The Teensy you pictured is an ARM based (NXP MK20DX256) Arduino which is very different from well established legacy Arduinos. There have been (and, maybe, still are) "bugs" in some ARM Arduino code. So Teensy pins used outside their normal (expected) purpose my or may not work like similar pins on legacy Arduino platforms.

In order for 2 USBs to talk to each other, one needs to be a USB Host and the other a USB Device. There can be multiple USB Devices so the USB protocol is made more complex to handle this feature. There can be many types of USB Devices each with their own underlying protocol so the USB protocol is made more complex to handle this additional feature. A serial port USB Device uses the CDC or Communications Device Class protocol.

So, in order to have two Teensy board to talk to one another using the USB CDC protocol, one of the Teensy boards needs to be turned from a USB Device to a USB Host. Which is not trivial. Most developers will turn to the OEM of the processor. As most processor OEMs offer free software for such purposes to promote the sales of their hardware.

  • How about connecting the USB of 1 teensy to the UART of a second? I know there are usb to uart adapters but from what I understand they are for PCs? – bakalolo Dec 17 '16 at 0:21
  • There is soooo much USB overhead (because of all the features USB supports) that you would need some fairly complex software behind the "other teensy's" UART. Not to mention you need some hardware to convert from USB levels to TTL levels. See the V-USB project for more details. – st2000 Dec 17 '16 at 2:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.