Connection Questions

Problems uploading, serial connections, BUBs, P4, FTDI cables, etc
Post Reply
paul
Site Admin
Posts: 733
Joined: Mon May 12, 2008 4:19 pm

Connection Questions

Post by paul » Fri Aug 01, 2008 10:41 am

Connecting to BBB's and RBBB's FAQ.

Q: My P4 board won't upload to my BBB.
A: Here's the problem. Unlike USB cables and the BUB, the P4 has no source for 5 volts, as there is no power available from the COM port. Therefore there needs to be 5V present at the pin header of the BBB for the P4 to work. The RBBB has a simpler power system, so there is always 5V's at the header when the board is powered up, and the P4 should work fine.

The easiest solution for this is to solder a wire onto the P4 in the 5V row of the header. Then insert the wire in the middle column of the BBB analog header (5 volt column). Voila - you have power to the P4 and it will work fine. It's a bit provisional looking but is a fine workaround, and is also the solution with no caveats.

Another simple workaround is to make a custom shunt for the USB - Ext power selector shunt. This is easily fabricated from a bit of female header with 3 pins, just short them all together, pop them onto power select (USB/EXT) headers and you're good to go - with ONE CAVEAT.

With Rev E BBB boards the power header shunt is After the regulator so 5 volts always appears at the header, when the board is powered from an external power jack. For these boards, the triple shunt idea will work fine. In Rev D BBB's and earlier, the shunt header (USB/EXT) is before the voltage regulator. This means that the voltage at into the external power jack appears at the (USB/EXT) headers. If you use a voltage higher than six volts you'll damage the P4, so if you want to use the three pin header/shunt idea - just keep the voltage down to 5-6 volts and everything will work fine.

We like the "triggerfish" style wire on the P4 though - that seems like the least fuss to us.

Q: I'm using the BUB to connect. Do I need to set "RTS On Close".
A: No. The BUB (and the P4) use the DTR line, so the schematic is the same as the Arduiono boards and should work fine with no software mods, except chosing the correct board in the Tools menu (Duemilanove/Deicimila with Atmega328p) [or 168 if you have an older board with that chip]

Q: I'm using Windows and I can seem to download once, but only once, using the FTDI cable?
A: Change this serial port setting: Device Manager -> Com Ports -> USB Serial Port -> Port Settings -> Advanced button -> Set RTS On Close

Q: Which bootloader is on my chip?
A: Connect an LED and series resistor to pin 13. Press the reset button. If the LED only flashes once, or not at all before going to the program on the chip, you have the Diecimila bootloader.
If the LED flashes 4 times and then once again, you have Adaboot bootloader.
If the LED flashes quickly three times, you have the NG bootloader.
Modern Device has been shipping only Diecimila bootloaders (as the default) since about April 2008.

Q: Why can't I use manual reset to upload with the Diecimila bootloader?
A: The Diecimila bootloader is optimized to eliminate wait states, so wants to see download data coming in around 100 mS or so after the reset. You would have to be lucky to get this timing right by hand, as you can't really tell when the upload data will start, if you reset manually. If you do this enough though, you will eventually succeed.

Q: I have a sketch sending lots of serial data back to the [PC] monitor, now I can't upload.
A: Lots of activity on the PC's RX line can interfere with upload for some reason. In theory the reset signal on the DTR line should halt the sketch and this should halt the serial onslaught to the host computer, but for some reason this does not always seem to work. The workaround is to just hit the reset button before uploading. Since it takes a second or two after resetting for the sketch to begin, this should allow uploading successfully.

Q: Doesn't the answer to the last question tend to contradict the second last question?
A: Yes, but we've decided that the mystery isn't compelling enough for us to investigate.

Q: Arduino program gives this error message:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

A: This is the classic no-connect signature. Check to see if the FTDI drivers are installed correctly, also check the solder connections on the reset pin. Check to see if pullup resistor is 10K and check to see if the reset pin is indeed pulled up under normal circumstances.

jatkins
Posts: 1
Joined: Sun Aug 03, 2008 1:26 pm

Re: New Forum & Connection FAQ

Post by jatkins » Sun Aug 03, 2008 1:31 pm

Thank you so, so much - before I got this working, I'd been taking the Atmega chip out of the RBBB, putting it in my Diecimila to upload, then moving it back. Added to the fact that RBBBs're so small and cheap (and probably light), I won't be using a Diecimila again! Thanks again.

larryk
Posts: 2
Joined: Sat Sep 20, 2008 11:45 pm

Re: New Forum & Connection FAQ

Post by larryk » Sun Sep 21, 2008 2:22 am

hi I am using rev.D BBB and have been able to upload one sketch only and now I get the following message.

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk_disable(): protocol error, expect=0x14, resp=0xe6
I know this is a no-connect signature.

I am using a FT232RL usb to serial breakout board from sparkfun and I know the board is working because the one sketch that I did upload is still sending data to the serial monitor.

I have tried your suggestions with no joy. Restarting the computer or pulling the usb cable out and in doesn't work. I have set RTS on close, updated my drivers and checked my soldering (seems to be fine)the pull up resistor is 10k.
Could it be the breakout board I have only connected the tx,rx and power & grd to the bbb? do i need to connect to the reset pin? or do your boards only work with your cable?

I am running windows XP sp3 and using arduino_0012 & 0011IDE and the board has the Diecimila bootloader.

I'm all out of ideas. Any help would be appreciated
thank you larry

floresta
Posts: 93
Joined: Mon Jul 28, 2008 6:52 pm
Location: Western New York, USA
Contact:

Re: New Forum & Connection FAQ

Post by floresta » Sun Sep 21, 2008 9:27 am

Larryk - I believe you have outlined the problem right here.
Could it be the breakout board I have only connected the tx,rx and power & grd to the bbb? do i need to connect to the reset pin? or do your boards only work with your cable?
The FTDI cable that Paul and others supply uses the RTS# (the # signifies active low) line to activate the reset, so you should connect that line and try it again. Also - from what I can see, the "power" connection from the Sparkfun breakout board is 3.3v so you probably don't want to try and power the BBB via that route.

larryk
Posts: 2
Joined: Sat Sep 20, 2008 11:45 pm

Re: New Forum & Connection FAQ

Post by larryk » Mon Sep 22, 2008 6:16 pm

Thanks floresta that did the trick.
by the way the breakout board has both 3.3v and 5v pins
cheers

paul
Site Admin
Posts: 733
Joined: Mon May 12, 2008 4:19 pm

Re: New Forum & Connection FAQ

Post by paul » Thu Oct 09, 2008 3:11 pm

Actually if you're using the FT232 breakout board you can use the DTR line (that's the line Arduino uses - but it's not on the FTDI cables) and you'll avoid all the "Set RTS on close" hassles.

Paul

min0n
Posts: 4
Joined: Wed Nov 11, 2009 8:14 am

Re: New Forum & Connection FAQ

Post by min0n » Wed Nov 11, 2009 8:23 am

Hi,

I bought some RBBB(w/atmega 328) and usb-ttl conversor board (USB-BUB). I'm using arduino-17 IDE, ubuntu-linux (board: Duemilanove or nano w/atmega 328, port: /dev/ttyUSB0). I play with other arduino boards (mega, seeeduino) and all works ok.

First time i upload a sketch to the RBBB all works ok, i tested the sketch and runs ok inside the RBBB. After that i can't upload more sketches to the same RBBB and show the messaje:

avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv: . [00]
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: Send: Q [51] [20]
avrdude: Recv: . [00]
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

I reheat the soldering joints on the BUB headers and RBBB header. I saw the chip is firmly seated in socket.
I tested reset button and works ok.
I think it's about auto-reset... but i dont know..
I checked connection FAQ and i think all is ok.. i dont know where is the problem..
I tried it two differents RBBB boards, with the same results. upload proccess fails after the second time.

suggestions are welcome

Thanks!
pd: sorry about my poor english skills.

bperrybap
Posts: 42
Joined: Wed Jun 03, 2009 3:17 am
Location: Dallas, TX

Re: New Forum & Connection FAQ

Post by bperrybap » Thu Nov 12, 2009 12:11 am

I assume the download works the first time you download after
booting the system, but then additional downloads fail to work.

This sounds like an auto-reset problem.
I don't use any of the arduino code but I do use avrdude.
I went through this same problem with the BUB and BBB board.
It wasn't a hardware problem but rather a tty port setting.

For auto-reset to work properly,
you have to make sure you have hangup signaling enabled
to get the DTR pin to drop when the port is opened.
This drop combined with the inline capacitor is what momentarily resets the RBBB.
It is not done by avrdude. Well, some special patched versions of avrdude do
toggle the DTR line but not the normal distribution version.

In linux you can turn it on with this command:

stty -F /dev/devname hup

You can look to see if it is enabled by using this command

stty -F /dev/devname -a

If you see -hupcl it is disabled, if you see hupcl it is enabled.

--- bill

min0n
Posts: 4
Joined: Wed Nov 11, 2009 8:14 am

Re: New Forum & Connection FAQ

Post by min0n » Thu Nov 12, 2009 3:10 am

Thanks for reply.

Download works first time i program the arduino... additional downloads fail to work even if i reboot the computer or if i reconnect usb.
I tested it in a linux and windows boxes with the same ressult. I configured windows usb-serial port as 'Set RTS On Close' and the linux port is configured as:

Code: Select all

stty -F /dev/ttyUSB0 -a
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
I watched with an oscilloscope DTR signal when it is downloading and it looks ok. Could be possible to configure manual reset (and its timeout) in avr-dude?

I compiled avrdude-5.8 from source in order to continue testing..

Any ideas?

Thanks!!

graver2
Posts: 2
Joined: Wed Nov 11, 2009 12:12 pm

Re: New Forum & Connection FAQ

Post by graver2 » Mon Nov 16, 2009 1:39 pm

I can not download sketches. I have the BBB rev E with the USB-BUB. I have built 2 BBB rev E
The error message; avrdude: stk500_getsync()=not in sysc resp=0x00
avrdude: stk 500_disable()=protocol error, expect=0x14, resp0x51
It downloaded one time now will not down load. I have the blink sketch loaded can't move on.
I have a Arduino Duemilanove as well this my computer will not down load to it ether.
I was not having any problems.
error message:
Avrdude: stk500_getsysnc()=not in sync resp 0x30
Avrdude: stk500_disable()protocol erer, expect=0x14, resp=051
I downloaded new drivers no change.
Whats with this? where do I look for answers? I don't think this is a hardware problem.

paul
Site Admin
Posts: 733
Joined: Mon May 12, 2008 4:19 pm

Re: New Forum & Connection FAQ

Post by paul » Fri Nov 20, 2009 10:20 am

graver2,

This does sound like a software issue, if none of your boards work. Confirm that they are powered up and showing proper voltages however.

Check to see proper COM port is selected and that the proper board in the Tools -> Board is selected.

Did you update software recently? Write back with more details about your OS, connection method and so forth and I'll see if I can help.

Paul

Post Reply