An interesting list of people’s complaints about Arduino Uno, compiled in my google travels (I do agree with most, but it’s still a great product as-is!)
Hardware
- The hardware design is all wrong. Ever try to use the “mounting” holes on the board? Impossible. They are too close to connectors, and there are no “keep-outs” to protect traces from screw heads or standoffs.
- There are not enough VCC and GND points available for prototyping.
- There is no good place to clip on a ground wire (like for a scope probe).
- The USB interface uses a 16.000 crystal, but the CPU uses a lousy resonator that drifts with temperature..
- The connectors on the board should have been male pins, not a female header. It’s much easier to make a custom female-to-female cable with Sparkfun or Pololu jumper wires and single row or dual row connectors.
- Voltage regulator: Why not use something more beefy like a 7805 and some decent heat sinking (or at least provide a spot to solder in an optional one)?
- Pin numbers: How stupid is that? What’s wrong with “PORTB, BIT 7”?
Software
- Why is map() done with long ints? It’s almost useless that way. I modified my library (overloaded the function) to also support floats.
- Speaking of floats, why doesn’t the IDE have the option to enable or disable floating point support for printf, sprintf, sscanf, etc? I had to write my own mod to add that feature!
- The 160 mil spacing of the digital headers – makes it almost impossible to use normal perfboard / stripboard for prototyping.
- And why cripple it with an Atmel chip anyway? That was a bad idea from the outset.
- And why did they use a full size USB socket? Those things are useless – On one of my UNO boards I have to hold the cable in the right position to be able to program it, and the sockets get in the way of any through-hole components on the shield above. I have little foam pads stuck to my sockets. Mini B sockets (like everyone else in the industry uses) would have been just a bit better. (Although, I see plenty of complaints about Mini connectors as well…)