Why type B socket on Arduino Uno R3?

I have just bought a R3 Arduino Uno and was totally surprised to find it fitted with a type B socket. I now have to wait a week to buy a cable online. Why are they not fitted with the far more common type A? Whilst everyone must have at least a few unused type A cables lying around it's going to cost me half the price of the Uno to buy a printer type B. This is my first foray into Arduino and it isn't a good start.

Hello and welcome. USB type B is far more common than type A for slave devices. It is USB printer cable. Maybe not now, but a few time ago. I think, each IT company has a tons of such cables. Pesonally, I prefer type A than micro or mini which are modern now. It is more robust and there is no risk of damage like with micro.

It's pretty clearly a "B" in the photo on the product page on this very site, which I would take as the "official" spec source.

Budvar10: Hello and welcome. USB type B is far more common than type A for slave devices. It is USB printer cable. Maybe not now, but a few time ago. I think, each IT company has a tons of such cables. Pesonally, I prefer type A than micro or mini which are modern now. It is more robust and there is no risk of damage like with micro.

That doesn't help poor fools like me who having paid less than $25 for the Uno now have to spend literally half that on a type B cable. Type B also seem to be much heavier/rigid (shielding?) so they are more difficult to use simply from a practical point of view, they weigh more than the Uno. The type A is used everyday by almost everyone, I've never had one fail, so I think it would be more that robust enough. I think if you asked 1000 people what a USB plug looked like they would choose type A. If Arduino are going to fit the far less common type B they should say so somewhere in the spec. Not just USB.

Do you mean about $12 for the cable? In my location it is available for about euro in each computer shop. Try ebay, there is plenty offers for a dollar and free shipping but delivery is couple weeks.

Maybe I'm confused, but to my knowledge type-A is for hosts (e.g. PC) and type-B (or mini/micro/whatever versions) are for slaves.

Your Arduino is a slave, not a host, so should never have a type-A.

Since the day over 10 years I bought a USB printer and found it needed (what I now know as) a “printer cable” I have never bought a USB device without verifying its cable requirements somehow or other. (In Arduino-land that means looking at the pix :wink: )

A type-A cable will surely only ever be a gender-bender, so allow you say to bring the USB port from the back of a desktop PC to the front, merely replicating the gender of the PC port for convenience?

I read a response about this from Massimo Banzi I believe a while back that said the reason for using it was durability. I've seen a few people report breaking the micro jack off their Pro Micro boards but never a single one about the USB-B.

Here's a cable on Aliexpress for $0.75 USD with free shipping: https://www.aliexpress.com/item/30cm-USB-2-0-Printer-Cable-Type-A-Male-to-Type-B-Male-Dual-Shielding-High/32747064482.html

or eBay for $0.83 USD w/ free shipping: http://www.ebay.com/itm/252474624700

I find them in the thrift stores for pennies and usually grab a few wall-warts about the same time. Good source of many items for hacks etc.