Arduino Due comms problems on programming port
January 01, 2014 08:34AM
I noticed some comm errors on Due when connected to RAMPS-FD (at 115200). I thought there may be a RAMPS-FD problem, so I decided to look into it. I put a scope on TX/RX lines, and got a surprise! The RX line looks mangled.
The Due has a 74LVC1G125 providing 5V->3.3V level translation from the 16u2 to the Due, which should provide a clean waveform.

I looked at the signal going in and out of the '125 :



It looks like a typical open collector driver, which should not happen if /OE is tied to ground. It looks like the input signal is also driving /OE...

The latest Due schematic (02b) shows /OE tied to ground, but looking at the board layout, it does NOT match my PCB! The location of the 74LVC1G125 is completely different. Microscopic inspection of my Due shows the track layout has pin 1 (/OE) connected to pin 2 (A) not pin 3 (GND)!!

I bought the Due from RS, so I would certainly hope it is a genuine Arduino.

We know that Arduino have not published the actual spec for the Due for commercial reasons, and there are several known differences between the reference files and production boards. I guess that there were some earlier revisions of board that had this bug and it has been fixed in latest version, it's hard to tell as there is not version on the PCB, nor do we have access to previous versions of design files.

In attempting a mod I bust the 74LVC1G125 , so I will have to wait to get a replacement.

So if you are getting flaky comms, check your board layout!

Edited 1 time(s). Last edit at 01/01/2014 08:36AM by bobc.


What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
Re: Arduino Due comms problems on programming port
January 01, 2014 08:52AM
Arduino have images of both revisions of board on their website... let's play spot the difference !



I have the top one sad smiley


What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
Re: Arduino Due comms problems on programming port
January 01, 2014 03:59PM
Quick fix on the board you have - put a pull up resistor on the output of the '125 chip.
Re: Arduino Due comms problems on programming port
January 01, 2014 08:07PM
Quote
uncle_bob
Quick fix on the board you have - put a pull up resistor on the output of the '125 chip.

If this is the same TX/RX that comes out on Digital pins 0 and 1, then IMO you could put a resistor on a female header and put it on Serial0 on the RAMPS-FD (between pins 1 and 4). This way is fairly non-invasive and easily removed if there is an issue or you get a new board.

That said, pretty poor that they don't actually have version numbers on their board. *sigh*

I too have the original model. In my case it came from LittleBird Electronics.
Re: Arduino Due comms problems on programming port
January 01, 2014 08:24PM
I have two Due boards

One from RS the other a clone from geeetech

Both have the 74LVC1G125 near the power connector like your bad type.

The Clone you can clearly see the copper loop from pin 1 to pin 2



The Real Due from RS Pin 1 is not looped to pin 2. But is connected to a ground plane.



The both say "Board Model DUE R3" on the silkscreen underneath..

Edited 7 time(s). Last edit at 01/02/2014 04:09AM by Dust.
Re: Arduino Due comms problems on programming port
January 14, 2014 02:43PM
I can confirm this on my two boards. One is an original Arduino, the "bad" design with the chip near the power connector - this one has Rx problems at 250000 but not 115200 (or it's very rare). Other one is SainSmart, the "good" design with the chip between the headers, and it doesn't have any problems with the serial. The SainSmart however has some problems with resetting on power on or after programming, and needs pushing of the reset button.

Edited 1 time(s). Last edit at 01/14/2014 02:44PM by ambrop7.
Sorry, only registered users may post in this forum.

Click here to login