Buying a new Arduino

Hey everybody! I just came on here as you can tell :slight_smile:

I want a good way to start my journey in the Arduino world. I am not a total newb, I know how to programm in C, C#, C++, Basic, Pascal and so on.... but I have never worked with actual hardware(always a app or a program) and I know some electronic theory. I was thinking of buying a Arduino clone, but I decided to go with the original board, to support the creators and help them make more awesome stuff :slight_smile: . But afterall, my question is Arduino Mega or Arduino Yun? What is the better one. And why. Or what are pros and cons of them?

In my opinion Uno is the best board to start with. Order a genuine Arduino Uno from Adafruit if you are in the USA. What country/city are you in?

IMO a MEGA is best to start with. Fully Uno pinout and 5V compatible, but no issues about too few pins for Serial and I2C and SPI and additional ADC and DAC and >30 more digital pins even providing pwm. And 6MB more RAM, not to forget.

And they cost not a fortune, almost no difference to Unos any more.

The original poster expressed interest in buying genuine Arduino, and I'm afraid the prospects of buying genuine to benefit arduino.cc in the USA market is not good. The store at arduino.cc is out of stock. Adafruit is out of stock often. And I have not heard of any tooling up for the Mega for the USA market as was done for the Uno by Adafruit. Sparkfun has the Italian-made Mega still in stock probably from a big wholesale purchase years ago, which does no benefit for arduino.cc. And they are $45USD. Buying from open markets such as ebay and amazon pretty much guarantees getting a counterfeit if you look for the Arduino by name and logo.

then maybe the TO may buy a Mega clone from China for 10 US$ and donate another 10 US$ to arduino.cc? :smiley:

ArthurD:
IMO a MEGA is best to start with. Fully Uno pinout and 5V compatible,

This is actually not true - in particular - on a standard (ie - official) Mega - there is one pin that isn't brought out to a header which has a particular function that some shield(s) require (I only know of one of those shields - so there may only be one - and that is the Nootropic Video Experimenter shield). There are also a couple of other very subtle differences between the official Mega and official Uno (I say "official" because there are some Mega clones - particularly those by SeeedStudio that bring out all of the pins to headers).

As a newbie, one is likely not going to encounter any of these issues - at the same time, though - if one does encounter one of them, it will be a real head-scratcher to figure out (including if you are translating a circuit meant for the Uno over to the Mega).

For these reasons alone - for a newbie I recommend buying an official Uno (not a clone, not a Mega - save those for the future). Most tutorials for the Arduino are written and designed for an Uno anyhow; save the headache of translation, and learn with the standard. Then purchase the Mega, if needed (indeed, most projects don't need a Mega - especially at the newbie level - if you need a Mega because you "ran out of memory" - you likely need to refactor your code and improve its size and structure; better to do that and learn those valuable skills rather than "throwing hardware" at the problem).

ArthurD:
but no issues about too few pins for Serial and I2C and SPI and additional ADC and DAC and >30 more digital pins even providing pwm.

Again - for newbie projects this just complicates things; best to keep things simple, and more to the point - similar to what most tutorials out there describe and use.

ArthurD:
And 6MB more RAM, not to forget.

LOLWHUT? The Mega has 256K of Flash (for code) and 8K of SRAM (for variables - IIRC); the Uno has 32K of Flash and 2K of SRAM comparatively (my first computer had 16K of RAM and ran at 1 MHz, btw).

Also - the Mega can have the SRAM upgraded - there are special "memory expansion" boards out there which can be purchased - or you can build your own:

That particular tutorial show how to add up to 448K of SRAM (at the expense of more than few pins - which are meant for this purpose, actually) as 8 "banks" of 64K each (only 448K instead of 512K total - you "lose" 8K on each bank due to the standard 8K being mapped in automatically - there's a way around this, though).

All that said, though - this is far outside the scope for a newbie.

ArthurD:
And they cost not a fortune, almost no difference to Unos any more.

...and as such, for a newbie going with the Uno to begin with, for the reasons already outlined - then later upgrading to the Mega (as needed by the project) - would likely be the better path from a new user perspective.

:slight_smile:

yes, a typo - 6kB more, not 6MB, anyway - I once had a Uno for starting but never used it instead for the LED blink example - then for my own projects I immediately run into pin - and RAM issues. Nevertheless, the basic tutorials can be done by either board.

And remember, the TO is a experienced C/C++ programmer.

so buy an Uno? never again, wasted money.
Now I'm using just Megas and Dues.

ArthurD:
then maybe the TO may buy a Mega clone from China for 10 US$ and donate another 10 US$ to arduino.cc? :smiley:

That's a good idea or get Uno clone now and back order a genuine Uno from Adafruit. They do produce them but it seems they run out often. I also recommend people to have more than 1 board. For people in several US cities good and very inexpensive Inland brand clones are at Micro Center. They are less expensive than even the cheapest China-based ebay sellers.

to me the Uno story is a story of deprivation, of scarcity and halfhearted workarounds.
Just 6 ADC ports, but A4+A5 vanish if you need to have I2C.
Just 1 Serial port on 0+1, but as it's needed for USB-Serial-terminal one needs 2 dPins of 2-13 for SoftwareSerial: 7+8 may work.
Need SPI for SD and a TFT? Dispense 4 more dPins (SS – 10. MOSI – 11; MISO – 12; SCK – 13 plus 1 more cs pin (2 ?) )
need 2(-4) pins for encoders ? you may choose 3+4 for encoder 1 (not quite sure about 3+4) plus which for encoder 2 ...? 5+6 ? be careful:
if you'll need pwm pins for L298 motor H-Bridge (feat. by 3, 5, 6, 9, 10, 11), now just 5,6 are available.
you'll then need 4 dir pins for L298 ? well - nothing will be left for'em - or waste 4 ADC pins
Digital sensors? Analog sensors ? Better forget.
Or buy an UNO expansion shield (more expensive than 2 or 3 Mega clones).

So what are you supposed to develop for just an Uno platform?
ok, blinking LEDs. Or a henhouse flap. Amazing, no?

(Buy a Mega, be smart.)

That's pretty funny. Actually I do recommend getting started with stuff like henhouse flaps. A lot of people start with an Uno and work there way down to ATtiny85 or Beetle and stuff like that.

...and some start with an Uno, immediatly purchase a Mega, and then work their way up to Due, Yun,.... and maybe yet once in this century: even a TRE! :slight_smile:

(about SD cards)
There is one important reason why the Arduino Mega is chosen instead of the Arduino Uno (or any Arduino with the ATmega 328 microcontroller). There is only 2 KB of SRAM in the ATmega 328. SD card buffer requires 512 Byts, that's one quarter of the available memory. By putting a few Serial.print functions in the code, it's pretty easy to run out of SRAM in the ATmega 328 before you know it. As SRAM runs out, heap and stack clashes, and your program's behaviour can become strange and inconsistent. As confusing as it can get, it's hard to tell whether it's the 'bug' in the code or short of SRAM, a situation no one wants to go into. On the other hand, the Arduino Mega has 8 KB of SRAM, that's sufficient to most embedded programming, and plenty of room can be left for future improvement / extension.
ref.: Interfacing SD Card Module to Arduino Mega Sensor Shield | Hobbyist.co.nz

ArthurD:
...and some start with an Uno, immediatly purchase a Mega, and then work their way up to Due, Yun,.... and maybe yet once in this century: even a TRE! :slight_smile: The TRE will not be out until 2020, so forget about it.