Choosing hardware - which board?

I realize this has probably been asked before, but heck, isn’t that what this FAQ section is all about?

The question: How “should” one go about picking which Arduino-compatible board to use?

I have never used Arduino, but hope to start tinkering soon. I have a specific project in mind, so reusability or huge flexibility isn’t important to me. However, I’d imagine that once I get started I’ll be hooked, so I’m trying to plan for eventually having several boards in projects, and one or more “spares” that I can grab and throw on a breadboard for some tinkering.

So, do I go with a standard duemilanove? Or, one of the stripped-down boards (boarduino, BBB, RBBB, etc.)? Besides shield compatability, what advantages does the “real” board have? Since I can’t see any, and I’m planning on eventually having several boards, the off-board USB concept seems appropriate to me, which leads me to something like an RBBB or BBB.

But even then, how do you choose? Reading the documentation at modern device, I can’t really tell the difference between the RBBB and BBB, other than size and pin locations - plus, apparently, the RBBB comes with a lower-output voltage regulator. But, looking at the two boards, there are clearly lots of “extra” components on the BBB, which leads me to believe that there must be functional differences. But, I can’t seem to find any documentation on these differences, or how one would choose between the two boards. And, of course, when you compare either of these to the duemilanove, it’s clear that there are, again, lots of additional components besides just the USB chip.

This is just an example. Multiply the confusion by half a dozen when you consider all the clones similar to these two.

Anyone have input? I suppose one approach would be to just buy a bunch of the things and start learning, but I’d hate to buy RBBB and then find myself a week in to a project thinking “oh dang, if only I had those three extra resistors on board like the duemilanove has. . .”

I use Boarduinos for prototyping as they will plug directly into solderless breadboards giving a much larger work area than is available on a protoshield.

I use the Duemillanove for clock accuracy, reliability, and shield compatibility (finished product)

You haven’t described the type of project you are doing now and what you may
want to do in the future.

Here are a couple of points you may want to look at

  • USB — The on board USB interface adds $5 - $10 to the board. If you are doing
    a lot of similar boards I would get a board without the interface and use the FTDI
    cable. For a small number of boards I would get the USB interface. It is very convenient.

  • Voltage Regulation – how much current do you need to draw from the voltage
    regulator? A number of boards use very small regulators with small heatsink pads.
    These regulators will not enable you to draw much current.

  • Socketed CPU – for a first board I would get a socketed CPU. An oops should
    only be around $5. You can also upgrade the CPU.

I have been making a kit called the ZB1 that integrates a radio (XBee).
I also have an LCD interface and a prototyping board. Some new boards
will be announced in time for the Maker Faire (RI).

(* jcl *)

In general, you should probably think of Arduino as having a single “Standard” implementation (currently “duemilanove”), with a bunch of more specialized alternate versions aimed at specific modifications (smaller, lower cost, kit form, available easily in country YYY, etc.) (and then there are the “old” versions still mentioned in various places but not as commonly available to buy.) In general, there are advantages to using the standard version (if only in terms of support: no “maybe your USB/TTL Serial cable is plugged in backwards or the wrong voltage or …”) If you have enough background to find the board differences obvious and figure out which you can use, that’s fine, but you wouldn’t be asking the question…

there are clearly lots of “extra” components (on some boards compared to RBBB)

Most of the extra components are connectors and option jumpers, I think. Mere “convenience” rather than core functionality. Either of the BBB versions will require that you purchase a USB to TTL-Serial adapter that isn’t needed for a duemilanove, pushing your cost up over a single arduino, but you start to save money as you buy more than one. (actually, MDC has a cheaper adapter than they one they used to sell, so you can get the whole startup package for less than a duemilanove now. Hmmph.)

I agree that a board with a DIP chip is best as it means the chip can be replaced easy enough if you blow it. A soldered on chip means a new board.

Also, you can use these boards to develop your own PCB’s and program the chip before popping it out and soldering it onto your own PCB.

Thanks for the input, all. The fact that some boards (RBBB, BBB, DC boarduino) don’t have USB on board strikes me as very attractive - why pay for that part of the board over and over again?

FWIW, I emailed Modern Device and asked about the differences between RBBB and BBB. Paraphrasing, he said it’s mostly the form factor, but also the power section is more sophisticated on the BBB (hence those pesky “extra components”). Since he publishes really good documentation on both products, I’m going to make a learning exersize out of comparing them to see exactly what the differences are.

I guess I’m arriving at a point where I’m playing devil’s advocate with myself and saying, “why would you want anything more complicated than the bare minimum (i.e. RBBB or boarduino, etc.)?” All I can come up with are semi-lame, generic sounding excuses like “standardization” or “flexibility.”

“why would you want anything more complicated than the bare minimum (i.e. RBBB or boarduino, etc.)?”

It depends on your areas and level of expertise, and how important costs are to you and your project, and who the intended audience is. My initial arduino-related purchase was 10 chips, 5 BBB bare boards, one BBB kit, and the FTDI serial cable, and I made own Single Sided Serial PCB to use up the chips. Later, I decided that a lot of what I was doing was “educational” help to the arduino community, and it wasn’t helping that I was using so much “non-standard” hardware, so I figured it was important to get a “real” arduino as well.

(At some point, the question is “why am I using Arduino at all, instead of a bare microcontroller chip on a protoboard or custom PCB?” This gets asked more often on avrfreaks/etc (“I don’t see the point [of arduino]; it’s SO expensive compared buying a bare chip and programming it with AVRStudio and a home-built parallel port programmer! What a rip-off.” But arduino is more about getting end results without having to deal with that level of stuff. The BBB type boards are intermediate steps; more complicated that attaching the Arduino to your PC with a standard USB cable, less complicated than that homebrew hardware…)

…depends on your areas and level of expertise, and how important costs are to you and…

I agree.

One of the advantages of the Arduino is that it provides a kind of turnkey solution – you can just plug it in to your computer via USB and be ready to experiment.

And beyond the hardware and electronics, remember that the Arduino IDE provides a very easy-to-use software development environment for beginners. It lets them focus just on the logic and code they have to write and not have to hassle with all the AVR, FTDI, and myriad other acronym-based technical details! You write the code, and press a button to upload and run it.

If you have the technical expertise beyond that and want to get lower-level and lower-cost in your projects, then fortunately there are a lot of options for you.

Choices are both overwhelming and empowering, depending on the stage of exploration and level of knowledge.

Considering that my background is more software-geek than it is hobby-electronics-geek, it feels funny to hear myself say this, but I’m more interested in Arduino as a development environment, than a hardware solution. I could see myself using RBBB and/or home-made boards for most of my projects, but using the Arduino IDE to write code and burn it to chips. For instance, if I want a circuit to embed in a hobby project that’ll have a 5 or 10 year lifecycle, and only require programming up front, it makes no sense to me to use a duemilanove for that application! I don’t need the onboard USB or many of the other components, and would likely just use an arduino-compatible board to burn a chip that I’d then stick on my own board. I guess this is a slightly different approach than the standard newbie.

Still interested in hearing other’s thoughts on this, even if I feel like I’ve more or less answered the question for myself, since I get the feeling that this is a useful thought process in general.

I think the pattern that you describe for that kind of project makes sense.

Do all your prototyping and testing with an Arduino to get the components, circuit, and software all working solidly. Take advantage of the easy development environment to get rapid iterations in your design.

Then when it’s all set, you can deploy it on a reduced implementation without all the extra hardware.

You could keep one Arduino and various shields for prototyping and just reuse them on every project with breadboards, etc.

In case anyone is on the edge of their seat with anticipation, I placed a few orders today. One with Modern Device for an RBBB kit, plus an RBBB PCB and bootloaded 328.

Also placed a huge digikey order with more parts than I’ll ever need for my currently planned projects plus some, and enogh parts to make the equivalent of several stripped-down Arduinos myself, so I can “embed” in my projects while keeping one or two RBBB-style boards around for experimentation.

That said, I’ll repeat from my last post, I’m still interested in hearing from other people about what boards they started with (or use now) and why.