I found that they sell UNO Starter kits and Leonardo Starter kits. There are many different products. My eyes are so busy. I am a greenhand. If I want to buy a stater kit, which one should I buy? UNO or Leonardo?
Let me make a proper writeup of comments.
Start by looking at the product page at the Arduino website: Leonardo and Uno. A practical difference is that the Uno has a chip that can easily be replaced when you manage to blow up one or more pin drivers.
I just found that the differences are the Microcontroller, Digital I/O Pins, Analog Input Pins and SRAM. Except these, their function are the same? – Sue2013 34 mins ago 2
Frankly, I heard a lot about UNO and seldom hear about Leonardo. In this case, I am quite interested in it and want to know the difference. Really thank you for your advice. Nice~~~ – Sue2013 13 mins ago
Leonardo is much younger than Uno, that's why you hear more about Leo. The blog also mentions a few nice Leonardo features:
- Simpler and cheaper hardware;
- USB is integrated in main processor;
- Able to implement other protocols than serial UART (eg. act as mouse or keyboard);
- More analog inputs (12) and one more PWM pin than UNO;
- R3 header pinout: I2C is aways in the same place, regardless of the exact microcontroller on the board. This makes R3 shields more universal. The IOREF pin can inform a shield whether the Arduino is using a 3v3 or 5V micro. R3 shields are more future proof.
The Leonardo is 20% cheaper which might be important if you have almost no money. It has a few extra capabilities but lack of these are unlikely to hinder most beginners learning about Arduino and microprocessors. See Uno vs Leonardo
The Uno uses a replaceable microprocessor where the Leonardo uses a fixed surface mount device (SMD). If you damage the microprocessor you can replace it. You can damage the microprocessor by connecting it's IO pins to the wrong voltage or allowing too much current to flow. You can also have spare microprocessor chips with different programs loaded in each or use the Uno to load programs into microprocessor chips that you intend to use in home-built circuit boards.
The Leonardo is a very nice board, but compatibility with shields can be a bit problematic, since the SPI pins are available exclusively from the ICSP header. There are also other subtle differences.
For a beginner, the Uno might be a better choice, except if you either know you’re not planning to buy shields, or if you have plans for fancy USB projects.
The major difference between Uno and Leonardo is that Leonardo has an ATmega32u4 which has support for the USB, whereas the UNO has ATmega328 which doesn't have the USB support onboard.
So how this affects you and the cost:
Since Leonardo has USB support onboard it doesn't require an external microcontroller for USB connection. Whereas the UNO requires an additional microcontroller to provide the USB capability.
Cost wise Leonardo is cheaper than UNO by 20%.
So, go for Leonardo as it is low cost. Then you can harness the USB capability of Leonardo if you want.