USB Over Current :( Diavolino Trouble Shooting

edited July 2012 in Microcontrollers
I just got my TTL -> USB in the mail today and when I plug in my Diavolino to my MacBPro immediately pops up a notice stating the the USB device is drawing too much power.  I dont think I built the Diavolino incorrectly, I am a bit suspect towards the company that sold me the TLL->USB though (wwwDOTmicrosatacablesDOMcom)   

Any ideas?

<3 68

Comments

  • edited July 2012
    I don't know what the pinout for that particular adapter is, but it's likely not directly compatible.  From the page on that site, "6 pins for 3.3V, RST, TXD, RXD, GND & 5V."

    If this is the order of the pins, you'll need to do some creative rewiring to get it to work with the Diavolino, since it expects a pinout compatible with the FTDI USB-TTL cable or the Adafruit FTDI Friend:

    1. (Green): RTS#
    2. RX
    3. TX
    4. Vcc (5 V)
    5. CTS
    6. (Black) GND

    Note 1: Pin 5 (CTS) is hooked to GND on the Diavolino, so you may need to clip the "elbow" out of the right-angle header if your adapter has (one or the other) power rail there.

    Note 2: The ATmega328 chip requires 4.5 V when operating at 16 MHz, so you can power the Diavolino on 5 V, but not 3.3 V.
  • ok, so I got everything plugged in. I didn't really understand what you meant in Note1, so I attempted to plug the CTS pin into the 3.3v pin on the TTL device. after 5 seconds of being plugged in I smelled burning (HAHAHA) so I quickly unplugged it and the USB->TTL device was hot (of course).  BUT the Diavolino did appear to be functioning. I got a little LED hello from it.

    could you offer a better description of Note 1? From what I can tell you're asking me to take pin 5 off of the diavolino, but that dont make naw sense.

    ~68
  • would it be easier to just bite the bullet and buy the adafruit USB->TTL ?
  • > after 5 seconds of being plugged in I smelled burning  

    My advice: Do not plug that thing back in until you've figured out what the pinout of it is, and how it *should* be connected to the Diavolino.

    >could you offer a better description of Note 1? 

    The "black" pin on the Diavolino is electrically connected to the pin next to it.

    >would it be easier to just bite the bullet and buy the adafruit USB->TTL ?

    Of course, but not necessarily quicker. ;)

  • So, just having had the experience of dealing with two third-party USB to TTL boards and a Diavolino in combination, maybe I can contribute something here.  First, I may be reading you wrong, but you may be thinking about this in the wrong way.  That a pin is ground certainly doesn't mean you should apply voltage to it directly.  In fact, in this case, you probably -- perhaps depending on how you built your Diavolino -- want to think of it as a case of the adapter providing power to the Diavolino.  Did you build it to pull power from the TTL adapter?

    So, what I mean by that is that they should be connected ground to ground and +5v to +5v.  RTS is used to trigger the auto-reset of the Diavolino, so I suspect that it should connect to the RST pin on your adapter.  RX and TX are trickier, since I'm really not sure if there's a standard for labeling them that prevents people from getting it backwards; that is, I don't know if RX always means "I receive signals here" or it may sometimes mean "connect the remote receiver here" (making it actually TX...)  Anyway, I'd try connecting RX on the adapter to TX on the Diavolino and vice versa.  If this doesn't work, swap wires on one end, connecting TX to TX and so on, just to make sure.

    Because ground and CTS are basically the same line, there's not really a need to hook both of them up.  I've been using a five pin arrangement that just skips attaching anything to the ground wire of the Diavolino and grounds CTS instead.  This works for me, though perhaps there's some reason it would be better to just use the ground pin.  Certainly, don't directly supply voltage to them. :)

    So, briefly, what I'm suggesting (and what works so far for me) is this:

    RST->RTS (I think, though my adapter isn't as vague about it.  I actually connect DSR there)
    RX->TX (or maybe RX if this doesn't work)
    TX->RX (or maybe TX...)
    5v->VCC
    CTS->GND (or you can leave it open if the next pin is grounded)
    GND->GND (...or you can just use CTS above.)

    Now, a few warnings.  Don't apply voltage backwards.  I did this once, and it heats up the ATmega in the Diavolino pretty well.  Luckily no damage, but be very careful.  Also, if you've managed to get your TTL adapter to produce a burning smell, I'd test it before trying to get it properly hooked up.  At least do a loopback test.  This involves disconnecting everything from the adapter, connecting its RX and TX pins together, and plugging it in.  If you have a standard old terminal program, you can open it up, telling it to use the adapter's port for communication.  Now try to type something in.  If you can see what you're typing, there's a reasonable chance that the data is flowing through the adapter, out of the TX pin, into the RX pin, and making it back intact.  This is good news.

    Of course, it doesn't guarantee that the thing will work.  Of my TTL adapters, one of them refuses to properly toggle the auto-reset, nor have I been able to get it to program the board properly even when I hit reset manually, and the other works fine.  Both do loopback connections just fine, and so are functional in some sense of the word.  Anyway, hope some of this will help.

    Chris
Sign In or Register to comment.