What are the minimum parts necessary for an Arduino?

Outside a MintDuino, a book is a man's best friend
Outside a MintDuino, a book is a man’s best friend

It was hard for a beginner like me to imagine that an Arduino actually requires a whole lot less than all the stuff you would see on an Arduino Uno.  Assembling a MintDuino – and slowly pulling parts out to see what was really necessary – helped me understand what was truly critical to its operation.

Inside a MintDuino, it's too dark to read...
Inside a MintDuino, it’s too dark to read…

I found it useful to know what the (near) minimum necessary components of an Arduino were so that I could build a small project directly around just the chip and whatever critical parts were absolutely required to run the circuit.1 I wanted to build the circuit as small as possible – not to save on parts or cost, but to make sure everything could fit into an Altoids tin.23

As a side note, there is a very definite monetary benefit to figuring out how to build a minimal Arduino compatible device.  A brand new Arduino will run you about $30 – whereas soldering a chip into perfboard with the least amount of parts required would probably only cost you about $9 or less if you source the pieces carefully.  While an actual Arduino form factor makes a lot of sense when you’re using off-the-shelf shields, it’s not nearly as important when you’re building a very simple or completely custom project that you don’t intend to take apart.  And, when you’re talking about leaving a chunk of electronics in a project, it’s a lot easier to leave $9 in parts inside rather than a $30 Arduino board.

Here’s what I found to be the (near) least number of parts and (basically) the smallest configuration for the programming MintDuino:

The (almost) minimum you need to upload an Arduino sketch
The (almost) minimum you need to upload an Arduino sketch

This is the “almost” minimum since the configuration above includes (1) a red power indicator LED and a 220 Ohm resistor and (2) a red wire, another red LED, and another 220 Ohm resistor for running the “Blink” sketch.  Once you remove those parts, you could still upload a sketch to the Arduino – but it wouldn’t be able to do anything.  You’ll notice that this configuration doesn’t even include the usual reset button for the Arduino.4 It’s not pictured, but you’d also need a way to communicate with the Arduino, such as a USB cable plus FTDI Friend or FTDI cable.

Here’s what I found to be the (near) least number of parts and (basically) the smallest configuration for running a sketch on the MintDuino:

The (almost) minimum you need to run an Arduino sketch
The (almost) minimum you need to run an Arduino sketch

Again, I’m qualifying the statement with an “almost.”  This nearly minimum configuration above again includes a red wire, another red LED, and another 220 Ohm resistor for running the “Blink” sketch.  You could remove all of these parts and connect whatever else you wish the Arduino to do for you.  While the power LED indicator is useful to know that your project has power, I could see some situations where you wouldn’t want it – such as for a project that needs to work in the dark without drawing undue attention to itself.

Besides fiddling around yanking parts out of my MintDuino to see what would happen, I also found some interesting tidbits about building a minimum possible Arduino.  If your project is tight on space or you are tight on parts or budget, you might find some of the following useful:

I’m still very new to this whole Arduino thing, so if you notice something wrong here, please let me know so I can fix it.

My very next Arduino project is going to be something that fiddles with my television’s IR (infrared) control codes.  You can expect some definite wackiness soon…

Default Series Title
  1. Since I wanted to include a picture of the MintDuino inside and out, I couldn’t help putting a spin on this classic Groucho Marx quote. []
  2. I ended up using the Mintduino tin – and actually recycling some of its packaging into the project as well []
  3. What project am I referring to? Stay tuned… []
  4. I discuss this more below, but I don’t think you need the crystal and two capacitors for the “external clock” functions of the Arduino if all you’re doing is uploading a sketch. []

Arduino Adventures: What I learned building a MintDuino

A MintDuino
A MintDuino

My first real foray into tinkering with an Arduino began a few weeks ago with a MintDuino.  About two years ago I contemplated trying one out, but I never pulled the trigger.  This was due to a combination of decision paralysis, a very short attention span1 , and a plethora of other projects that were always vying for my2 attention.

Overall, I think this was a good place for me to start learning about Arduinos.3 The nifty thing about the assembly tutorial for the MintDuino is that it takes you slowly through the creation of an Arduino.  I learned a surprising amount from assembling this little breadboard Arduino – more so than I ever did by just making an LED blink on a regular Arduino Uno.

  • The first thing the tutorial does is show you how it converts the power from a 9 volt battery into the 5 volts that an Arduino would use.  I found this incredibly useful.  Even if I had stopped reading the tutorial at Step 7, I would have learned that with some capacitors and a “voltage regulator,” I could create a system for converting power from a 9 volt battery into something I could use in a different project.  Sure, I didn’t learn how these parts made that happen, but this was something I could put to use immediately, if I so chose.
  • The second thing the tutorial takes you through, at step 9, is adding a “crystal.”45  This wasn’t particularly useful to me – except that now I know how the Arduino is able to keep time.  While doing some ‘net research on what constitutes a bare-bones minimal Arduino, I discovered that it is possible to omit the crystal and two capacitors in favor of the chip’s internal clock.
  • The third thing I learned from this tutorial, at Step 12, is what appeared to be the bare minimum MintDuino setup required to run a program that was loaded onto the Arduino’s chip.6 Now, it’s possible to remove several more pieces and still have a working Arduino.  If you just had to have an Arduino with an absolute minimum of parts (I’ll get to why later) you could pull the red LED, the 220 Ohm resistor, the black wire going to the red LED.  The result would be a pretty minimal Arduino that didn’t have a status/power LED, but could blink a single green LED.  Remove the green LED, the red wire going to it, and the 220 Ohm resistor going to the green LED, and you have a really stripped down Arduino – that can’t do anything.  But, if you were to design your own Arduino project, you could build this minimalistic Arduino, add connections to whatever additional parts you needed, and solder it all together.
  • By the time I got to Step 17, I learned the connections to the ATmega328 necessary to program the chip with an Arduino program.7  This was interesting to me because it meant that any circuit that I wanted to design, but still have the capability of reprogramming at a later date, would have to have these connections.  However, it would probably easier to add a 28-pin socket or 28-pin ZIF socket to your project so you can remove the chip, reprogram it, and replace it without much fuss.  ((I mean, why add a bunch of wires you only need for reprogramming to a project when you can add a little socket?))

Overall, tinkering with a MintDuino taught me quite a lot about Arduinos.  Staring at an Arduino for the first time out of a box, it’s a little daunting.  There are a ton of little surface mount parts and pins and I had no idea where to start.  I had made an LED blink – but that didn’t seem to do much for me.

Having assembled a MintDuino, I already knew what a bunch of the parts already did – so I could focus on building on my knowledge from there. Having the breadboard handy meant it was easy to connect more wires and try out other sketches and configurations.  Lastly, I went back over my work from the first time I built the MintDuino and rewired it so that the little red, black and green wires didn’t have any slack.  This let me see better which wires when where – which meant I could concentrate on working with the other pins.

I mentioned earlier why I was interested in finding out the absolute minimum amount of parts necessary to operate an Arduino.  Well, more on this in the very next post…

Default Series Title
  1. Oh!  A squirrel! []
  2. Oooh!  A shiny! []
  3. I say “start” because my prior experience with Arduinos consisted of just putting shields on Arduinos and uploading sketches. []
  4. I don’t know why they call it a crystal – it just looks like a little bit of metal with two wires sticking out []
  5. I’m just kidding.  I’m guessing they’re using a quartz crystal – similar to quartz watches – as a timer/clock.  For those of you who aren’t familiar with quartz watches – they keep time by applying a little bit of electricity to a piece of quartz and counting the vibrations of the crystal. []
  6. The Arduino’s chip is called an ATmega328 []
  7. Or, in Arduino parlance, “sketch” []