Warning to all: when making shields etc that plug into the header-strips on the Arduino R4 WiFi, someone somewhere has decided to change the pitch of the longer one of the two header strips and not tell anyone.
The web-site is very clear (as of today, July 26th 2023): all across the Arduino family, these connectors have a 0.1" pitch.
The shorter side (with analog in and power) spans 15 pins and is correct at 1.4" end-pin to end-pin.
The longer side/connector spans 19 pins (and one is blind/capped) i.e. 18 pitches, and that means that the end-pin to end-pin distance should be 1.8" or 45.75mm. Instead it is closer to 1.765" or 45.0mm.
I've checked several R3's, some Mega's, they all have "perfect pitch" on this connector, so this is likely a Design Feature on the R4's. Before anyone goes there, I ordered the R4 boards from Arduino themselves, so there should be no risk of a knock-off etc.
While 45.0mm <> 45.8mm may sound close enough, it's enough that the PCB I just made is now off. The PCB plugs in 2 of the R4 Arduino's, and I have to bend the cr@p out of my header pins to make it work but the Arduino's are already trying to slide off. So much for reliability etc.
This is hyper-annoying, and especially because this is not an oops. What's mounted is an almost-custom connector that needed to get sourced & printed, the circuit-board had to be modified to fit the new pitch, and that means the designers were absolutely aware of this change. They knew, and then no-one saw a need to tell the users/customers? Did Arduino really think they could just slide this in and no-one would notice, or did they simply not care?
There is no customer-service link on the Arduino web-site, so I can't ask anyone to just send me 3 "good" boards and I'll return mine. So, I'm stuck warning everyone through the forums that this is happening....
Interesting. Is that only the connector, or is the PCB dimensioned like that?
FYI, there has always been "half spacing" between the two connectors on one side, "standard" Uno pin layout.
I've often wished I could attach a proto board with 2.54mm spacing directly, and been frustrated by the fact that the connectors don't permit it, even though the individual connectors do follow the same spacing.
As @anon57585045 says, there has always been that nonstandard spacing. It’s the notorious original screwup that Arduino chose not to fix on the original release.
Added:
The “gap” is 0.060” instead of the desired 0.100”
That’s just one of life’s little disappointments with Arduino.
On these boards, it's only the longer "digital IO" connector that has this issue. The shorter one for "power and analog" fits just fine. And on other/older/2nd-source boards, none of them have this. It's just the R4. SO frustrating.
If there had been a warning I could have used the right connector, I would have had a PCB that "just worked", and while it'd be annoying it'd be a what-ever. Now I did the work and spent the money, and I can't use the boards. To me this is just wrong.
Its not a "notorious screwup". It was done for ISO9000 compliance, the shields cannot be reversed or offset by one pin due to that oddball spacing. Makes it "idiot proof", a good trait for STEM students.
On you to check before finalizing design. The odd spacing prevents shield reversal and one pin offsetting. Engineering is all about minor details. Any dimensional drawing shows the offset, and, to me, it was very noticeable.
One thing I always do when designing boards, is to print out a true size copy of the 'finished' outline and holes and then check that everything fits, connectors, spacings are OK. It does not take long.
In case anyone is interested in the history of the off-grid header:
Note that has been the case all the way back to 2005 so I am as perplexed as everyone else here about the claim that the headers are somehow unique on the R4 design.
How? its impossible to install backwards or with an offset. If the grid is even, you can transpose or reverse. It installs one way, and one way only. Pray tell, how else would you make that happen on a .1 grid?
Um. The "gap" between D7 and D8 is 0.16 inches, when it was probably supposed to be 0.2inches.
Always has been, dating back to the Arduino Serial. I don't know what @rob_kr has been measuring.
@rob_kr
Arduino's original board's design had this mistake which then became a standard in shield design.
I've been frustrated at first (we're talking 2007 here) but then accepted it.
If you (or anyone else in this thread) believe you've just found this out and that it's a flaw, you reached the wrong shore
The community has known this since 2005, and we've come to accept it