This is a set of simple, small form-factor, mini-shields that I created almost by accident. As I made more and more of them, I realized that they could be really useful. What started out as a way to use some spare parts, turned into a standardized form factor for a versatile, miniaturized Arduino shield. The added benefit is that they also make a great kit for traveling, or simplified prototyping or for educating kids and beginners about Arduino.

I have been building some custom shields and modules for a while now but while I like the modularity of a shield, they are a little too expensive and large if all you want to add is just a little piece. The modules I make are all small and have to be plugged into a breadboard, which doesn't have that satisfying, finished feeling I'm looking for. I buy a lot of perf board, but the Arduino boards have this annoyingly unusual spacing between the digital pin banks so you have to modify the pins to make them fit. I needed something that was more flexible, lighter weight, and allowed me to change the pins used more easily to avoid conflicts with other shields.

The Mini-Shield Standard
I started making these small modules with standardized pinouts that are mostly plug and play. I call them Mini-Shields and they include everything you need for almost any application. The first 3 pins from the right of each board are connected to the 5v, ground and Digital 2 pins from the Arduino. All of my mini-shields use the following standard and they work pretty well with each other.

Pin |  Pin Function
1    |  5v
2    |  Gnd
3    |  Digital 2 (Hardware Interrupt)
4    |  Analog *
5    |  Digital (PWM)
6    |  Digital (PWM)
7    |  Analog **
8    |  Digital
9    |  Digital (PWM)
* the Real Time Clock module requires analog pin 4
** the Real Time Clock module requires analog pin 5

I liked the idea that these little modules could be added to almost any other shield and you could swap them out as needed. I would then also be able to reuse them in different projects without too much effort. The standardized pinout meant that every one of them could be used in place of the others if everything was wired correctly. Once they are built, they make a good little, rapid prototyping set that would also work as an entry level set for Arduino beginners.

Shield of Mini-Shields
I made a single shield with space for any 3 mini-shields to be connected at the same time. Each mini-shield uses 2 analog pins, and 4 digital pins (plus digital pin 2 which they all share since I have dedicated it for the hardware interrupt feature). I needed to dedicate analog pins 4 and 5 to slot A to ensure the Real Time Clock module would work. Of the 14 digital pins, there are only 6 PWM pins available, so I have dedicated slots B and C to be the PWM mini-shields, so things like the speaker and the full-color LED won't work well if they are plugged into slot A.


Step 1: Parts and Methods

When all was said and done, I built 7 of these mini-shields. I just kept digging through my spare parts and finding things I could make another board out of. These are the current mini-shields and the main parts that go into them:

IR Mini-Shield - A salvaged IR sensor, a salvaged LED, and 2 buttons
Debounced Button Mini-Shield - An RC circuit with an inverting Schmidt trigger to debounce the output from a tactile switch.
D Pad Mini-Shield - 5 button directional pad connected to a single analog pin
Bar Graph Mini-Shield - Uses a shift register to light an 8 segment LED Bar graph with only 3 digital pins.
RGB Mini-Shield - An RGB LED & trimmer pot + 2 buttons.
Real Time Clock Mini-Shield - an adapter to use my off the shelf RTC module.
Theremin Mini-Shield - A salvaged PC speaker, photo cell & 2 buttons.

I made all of these mini-shields with parts I had on hand but I hadn't gotten a chance to use. I always keep a lot of male and female headers on hand. More and more, I like to use these right angle headers which only come as male headers, but I have found you can also bend the pins on the female headers to make them lay down along the board as well. I like the 10 packs of straight and right angle headers that they sell at Schmartboard. Most other places only sell the header strips in singles. Unfortunately, they don't sell the female headers there.

Perf and Proto Boards
I bought a couple of 2 sided, through-hole plated proto boards that I never found a use for. This project gave me a good chance to use them, but once I used the 2 I had, I started cutting pieces off a large perf board that I got at Radio Shack.

Resistors, Capacitors and Components
At some point I stopped buying one type of resistors and I started buying the assorted packs. It's a much better deal and it's more convenient to use something you have on hand than to run to the store and hope you remember all of the things you needed. If you have a bunch to choose from, you can usually mix and match something to work for you.

I have been using a lot of buttons lately, and I ran out of new ones but I had a bunch that I salvaged out of an old DVD player so I was able to reuse those as well. When I junk old electronics, I open them up to see what could be useful. If I find anything good, I cut the parts out with a pair of tin snips and put them away. If I need them later, I will use some desoldering braid to remove the solder and free the part from the circuit board. I used the same process for the buttons, the IR LEDs and the IR sensor that I used in this project.

My Method
The wire I use in my projects is just solid core UTP network wire. I have a big spool of wire, so every so often I cut a few feet off and strip off the outer sheath. The wires inside use the standard CAT5 standard, so I don't have red and black wires like I would prefer. Instead I use Orange for Red and Green for Black. I use Blue for switches and other digital pin leads. I use White Blue or White Green for data and analog pin leads.

Header Markings
I used some paint pens to mark the header pins with colors so you can easily tell what pins are necessary and how they should be hooked up to an Arduino from a breadboard. I marked the 5v pins with Red and the GND pins with Green. I marked digital pins with Blue and I marked analog pins with Yellow. I marked the PWM (digital) pins with White, but I put a dot of color in the middle. For the Full-Color LED, I matched the dot to the color that the pin relates to on the LED. I mark the female header pins with white masking tape and fine tip permanent markers using the same color scheme as above.
<p>hey man great instructable!!<br>I just wanted to ask you what sort of pens you use to mark the headers?</p>
<p>I was looking at the headers the other day and realized you might have meant the paint dots on the male headers. Those are just regular paint pens from a variety pack that I bought at a craft store.</p>
<p>Thanks, they are just regular Sharpie fine point markers. They write really well on plain masking tape.</p>
Okey, this is great! Thank you for sharing!
<p>Thanks! I'm glad you like it.</p>
<p>So useful, thanks muchly.</p>
<p>amazing post, i love making shields and i think i have something exciting to share with you :)</p><p>once your shields are done, you can also make a custom body/case for them really cheap, check this out; <a href="http://www.instructables.com/id/Custom-arduino-parts/" rel="nofollow">http://www.instructables.com/id/Custom-arduino-par...</a><br>.</p><p>thank you for sharing !!</p>
Very cool project. How hard does that paper clay get? I sometimes use plumber's epoxy putty which hardens in about 5 minutes and will never come off without power tools.
very hard. you can drop it to floor and wont break. i use my items daily still no problems/breaks. just keep it dry. <br>it hardens based on thickness used. i usually set them aside at night and in the morning they will be solid. but tiny pieces can dry in 10minutes.<br>its just incredible, im very satisfied with results, you should definetly try it. its easier to take a part for fixes or to re build on, just wet it amd shape again :)
<p>So useful, thanks muchly.</p>
<p>Hey ProfMuggs,</p><p>You are awesome! Thanks for sharing. </p>
Thanks! I'm glad you like it.
<p>I've just ordered my first arduino off of Ebay, and in the 24 hours since I've ordered, I've already made all your mini shields :D<br><br>they are so amazing, and will be so usefull</p>
Thanks! I'm glad you like them. I have been a bit distracted lately, but I have some new ones I will finish soon.
<p>This project is really useful. I have many arduino applications that can now be simplified thanks to this process. </p>
Thanks! I'm working on another set of 6 or so mini shields. I'll post them soon.
<p>Also do you know how to get the arduino to recognize the directional button shield as if it was already built in with the lcd screen. I often find it difficult to get many programs to recognize the dpad with out a lot of script changing. </p>
<p>Hello fellow!<br>I've found a this <a href="http://www.instructables.com/id/The-RRRRRRRRRRBA-or-What-They-Dont-Teach-You-in-/" rel="nofollow">3$ arduino </a> and was trying to build a really cheap gps <br>but the gps shield would make everything expensive again<br>soo u think that its possible to make a really cheap shield with ur projects?<br>like less than <a href="https://store.open-electronics.org/index.php?_route_=GSM_GPRS_GPS_SHIELD" rel="nofollow">16.20&euro; like this one?</a></p><p>I live in brazil so for me 16&euro; is really expensive</p><p>I want to make one that can cost less than 25$ or 35 $</p>
<p>These are all very simple components, so it's easy to make them into these lightweight min-shields. The expensive part is the GPS module itself, which would be very difficult to replicate.</p><p>https://www.sparkfun.com/search/results?term=gps</p>
<p>How about stripping the GPS out of an old cell phone?</p>
<p>I love the bargraph shield :O</p>
<p>Thanks! I have an idea for a better one I am working on. </p>
<p>Cool, i hope you will also post it :)</p>
Just pretend you're opening a needle valve and it should feel more natural.
<p>I know I will sound like a complete idiot, but what's arduino?</p>
<p>Search the word and then try Wikipedia.</p>
<p>I'm not allowed on Google or Wikipedia.</p><p>I know, I know...</p>
<p>&quot;Arduino is a single-board microcontroller, intended to make the application of interactive objects or environments more accessible. The hardware consists of an open-source hardware board designed around an 8-bit Atmel AVR microcontroller, or a 32-bit Atmel ARM. Current models feature an USB interface, 6 analog input pins, as well as 14 digital I/O pins which allow to attach various extension boards.&quot; That is the first paragraph of the Wikipedia article. Simplifying it, it consists of a single board that contains a processor. This processor can be programmed by a language called C. You can write it on a PC or Mac, upload to the Arduino and it will run. So it can used to receive inputs, humidity, light, temperature, sound pretty much anything represented as an electronic signal and the software you write can be used to turn on or off equipment. Both the design and software are open source are free and maintained.</p><p>I am concerned that you are unable to use Wikipedia or Google. Both provide a wealth of useful information. As with all things on the internet you do have to apply some judgment and circumspection but Wikipedia in particular is a useful and very accurate source of knowledge and for those that say it is not then it is in there own hands to correct.</p><p>You can clearly access this site and searching within this site will show a great many projects that use the Arduino.</p>
<p>Kind of like the sensor in my mindstorms unit. Thanks!</p>
<p>Its basically a big kids version of the mindstorms.</p>
<p>search it on 'instructables.com' ...visit your local 'Radio Shack' store</p>
<p>I didn't go into much detail about what Arduino is, but there are some great Instructables that should answer that for you without going out to Google or Wikipedia.</p><p>http://www.instructables.com/id/Intro-to-Arduino/</p>
<p>this is an excellent introduction to interfacing the arduino and similar board.</p><p>thankyou for this great effort.</p><p>very much appreciated.</p>
<p>Cool. Someone may have beat you to the market though with this <a href="http://www.seeedstudio.com/depot/Grove-Starter-Kit-Plus-p-1294.html" rel="nofollow">http://www.seeedstudio.com/depot/Grove-Starter-Kit...</a></p><p>http://www.seeedstudio.com/depot/Grove-Starter-Kit-Plus-p-1294.html There sure was definitely a need to simplify and modularize components in packages especially for beginners.</p>
<p>I hadn't seen that, but I have since found <a href="http://tiny-circuits.com/" rel="nofollow">this</a> one that was also along the same lines. I like that there are a variety of kits out there to suit different needs, but I like that mine was built with mostly salvaged parts and things I had laying around.</p><p><a href="http://tiny-circuits.com/" rel="nofollow"><br><br></a></p>
<p>Fantastic instructable. Yes, there are professionally made versions of a lot of these items, but they tend to be pricey &amp; not necessarily what you want. This suggests a method that takes a little work, but you end up with something exactly like what you _need_ and might well be less expensive.</p>
<p>Thanks, I'm glad you liked it. I like to reuse things and I don't want to be locked into using things in one particular way, so this project kind of mushroomed out of a simple IR sensor module.</p>
I'm EXTREMELY new to Arduino and coding. I have a MechE degree, so I like to problem solve, but electricity-based solutions haven't really held my interest until lately. My basic question is, why are they called shields? Originally I figured they were shielding from stray EM pulses or something, but after reading the 'ible, is the name just due to the shape and modularity? thanks
<p>I think they wanted to use terms that seemed less intimidating to beginners who had no experience with programming or electronics. Shield is what they call the physical add-on modules and Sketch is what they call the code you upload to the Arduino.</p>
<p>Large &quot;standard&quot; shields connect to all the female header pins on the arduino board and basically &quot;shields&quot; the entire board with the extension-card/shield.</p>
<p>nothing to do with shielding, just a name that sounds kinda cool</p>
<p>love it....So ardunii-it!!!!lol</p>

About This Instructable


848 favorites


More by ProfMuggs: Fail! Patio Table Top Replacement FAIL! A/C-Duino: Arduino Upgraded Air Conditioner Making Mindstorms RCX Work Again
Add instructable to: