Build your own Arduino Starter Kit for the Classroom

A typical student starter kit.

It’s August, and we’re assembling kits for another run of the instrumentation course.  Over time we have come to rely on 328p based microcontroller boards (aka: Arduinos) so I though I would post a list of the parts & materials we use to help others fire up their own classroom. More than a few people have requested this since I posted the UNO based logger tutorial.

This information should also be looking to buy an all in one solution for their first citizen science project.  Don’t reinvent the wheel if you don’t have to: there are lots of premade Arduino kits out there.  However we found that many had parts we simply didn’t need, as we wanted a minimal ‘starter kits’ designed to exactly match the lessons in a course focused on environmental monitoring.  We also hand out extra parts for some tutorials as needed through the course, and the students receive a second project box when they start building their stand-alone  projects. Cave Pearl data loggers Even if you want that level customization, it might worth looking at some basic electronic component kits, and building your classroom set on top of those. The DIY approach will save money, but you pay for it with time.  Most of the eBay parts shown here took about two weeks to ship, with some stragglers taking almost a month to arrive.

You will need more than an Arduino and a few components  to set up a classroom, so I am including tools & other miscellaneous bits of hardware that we use in the lab. I would not describe any of these as high quality equipment, but they are ‘good enough’ to get things rolling on a modest budget.  Even if you go with cheapest possible suppliers – you are doing great if you can run a fully developed course for $150 a seat. If you purchase a soldering station for every single student, and use UNO’s + a typical Pro Mini logger build, you’re looking at about twice that much for the initial run of your course.

Components for the UNO based Datalogger:

UNO Data logger Kit: $25-50 / seat
UNO_100pxw Arduino UNO R3
The real thing, and tough as nails. All of my old UNO R1 boards are still operational despite years of abuse. If you can’t afford the real thing due to budget limitations, then at least donate a few bucks to help them keep the Arduino open source project going.
UnoClone_100pxw UNO clone (incl. USB cable)
If your budget forces you to go this route, choose clone boards with ATmega16U2 or 8U2 UARTs (like those in the genuine UNOs) to avoid problems with the IDE. If you can deal with the driver issues, there are clones for as little $3 with alternate UART chips like the CH340 – but CH340 UARTS  do not work with Macs.
Transparent Experimental Platform Base-plate
Last year we made our own base plates with M3 risers and Plastruct Styrene sheets. But these acrylic boards save a lot of time. Check left/right side orientation of the holes on the board before buying and the ones with the larger threaded nylon standoffs tend to be better options.
MiniBreadboard_100pxw Mini Solderless Breadboard 400 Tie-points
Get at least two per student, in case they need to expand their projects. The plastic in these cheap breadboards tend to “warp” slightly over time and the adhesive layer on the back is not thick enough to accommodate this bending so they will slowly come away from the mounting surface. If you are attaching your breadboards to acrylic plates beside an UNO – add an extra layer of double sided foam tape to the bottom of the breadboards before sticking them down.
40p10cmdupont 40wire Dupont 10cm Jumper cable
An alternative to loose jumpers wires, and they make the student kits look much nicer at the beginning of the term. Have students make longer or shorter jumper wires by hand when they need them to provide practice with the crimping tool. Jumpers you make yourself are always more reliable!
JumperWire22AWG_100pxw 22AWG Solid Hook up Wire Kit
One box will cover the entire class and they should know how to cut and strip wires properly. Don’t bother with pre-cut solid core jumper wire sets as the set lengths are almost never the right size. Striveday also sells mixed boxes of solid core wire.
SDmodule Micro SD Card Memory Shield Module
This shield is ONLY for UNO based loggers (not the ProMinis) Don’t forget to buy μSD cards to go with them. Test any used ones to make sure they are ok.
RTC_100pxw DS3231 & AT24C32 IIC RTC Clock Module
I have a page describing these RTC board in some detail here. You will also need a CR2032 3v Lithium coin cell backup battery, after you remove the charging circuit resistor. The DS3231-S and -N chips are MUCH better than the DS3231M variant.
Keyes3ColorRGBLED_100pxw 3-Colour Rgb Smd Led Module (with built-in limit resistors)
There is nothing special about this common cathode 5050 LED module, but it’s easy to remove & re-insert without bending the pins, and the low profile helps it fit in the kit boxes. The 200k limit resistors that come built-in on the green pre-mounted boards give you a current that approaches Arduino pin limits, so it wouldn’t hurt to add another 500-1k ohm on the GND line with these modules for extra safety.
Tweezers_100pxw Vetus ESD-15 bent tip tweezers
Look for the better quality ones with the rounded ends that come to a sharp point. 
ICbox_100pxw 10 Compartment Small Part Storage Case
To keep all the led’s, resistors, etc. from rolling around loose inside the larger clip boxes. Get ones where the section walls can be removed to make room for longer parts. There’s a range of other cheap fishing tackle and (non-waterproof) compartment boxes available.
SteriliteBox Sterilite 1961 – Small Clip Box for Lab kits
Expensive, but they survive in a student back pack. You can find $1 clip box alternatives (like the photos at the top of this post)  at your local dollar store.  Various  other clip lock food / snack containers can also be used, and some can even be pressed into service as project housings.
Outdoor Products Watertight Box
Measures 3.5 x 6.8 x 8 inches with 1.5-liter capacity so this one is for projects that need a lot of internal space –  it could also be pressed into service as a housing for larger UNO based projects going outdoors ( ie: lots of room for big batteries! ) Also see:  the $6.00 Husky 6″parts bin, 7×5.25×3.5″ Parts Organizer , and 4x4x2 in. Grey Sch.40 PVC junction boxes are another housing option, which are also available with 4 & 6 in. depths.  
Plano 3440-10 Waterproof Stowaway (3400 Series)
Makes a reasonable “instant” waterproof housing for smaller projects and indicator LED’s can still shine right through: We use these on the Pro Mini based logger build. The actual usable “interior space” of the box is 8.1cm x 15.5cm x 3.5mm, which is just a a bit too small for the 83mm x120mm acrylic platform bases used for the UNOs (you can press them in, but they are very tight – better to cut them down a bit)   Pelican 1020 Micro Cases accomodate that UNO platform easily though they are the luxury polycarbonate option which cost more than 2x as much as the plano box. Polyc does allow you to put display screens and solar cells inside the housing because it passes all of the visible spectrum with little loss. Of course that also means that whatever’s inside the case will really cook (60-90°C) if you leave those housings exposed to full sun.
If your build is “skinny” enough, 2″ PVC compression couplings can be used as a housings with pvc plugs at each end. All these ideas require you to add cable glands and wire pass-through connections.
CheapMultimeter_100pxw Basic Digitial Multimeter DT-830D
We have better meters in the lab (like the EX330 which is pretty good for ~$50) but at $3.00 each you don’t have to worry about students loosing or breaking them. Have replacement 9v batteries on hand, as people frequently forget to turn them off. Expect 1-2% error on all readings and don’t try to measure large resistors in the Meg ohm range (because the meter itself interferes with that reading) . Expect 20% of your order to arrive broken during shipment from China.
UT120C Super Slim Pocket Digital Multimeters
Often you need a “shirt-pocket” sized multimeter during fieldwork, and we usually have a couple of these along for the ride. Cheap enough to be expendable, but functional enough for most jobs on site, but again not as accurate as the EX330. 
eyeloupe Folding Magnifier (5x)
Useful for inspecting solder connections but not good for soldering because you inevitably need both hands to do the work. For the soldering stations we pick up cheap reading glasses from the local dollar store.
$0.55 ea.
Note: The stuff above this line goes into every UNO logger kit, but I am adding a few optional things to this list that might be appropriate for other courses:
MinimalKit_100pxw Minimal electronic components kit
Even though we don’t use them, I wanted to put this in here as an example of a minimum component package that could be a starting point for your custom kits.
ElecfansKit Slightly less minimal component kit
Another one that’s almost tempting. Search eBay for ‘Electronics starter kit for Arduino’ and you find oodles of these. If you are only making a small number of kits these might be the way to go. But if you are making six or more, check the basic components list below, as most of the parts in these packages are pennies each if you buy them separately.
6xAAbattery_100pxw 6xAA Battery Holder Box for Arduino
These will power an UNO for about 40 hours of continuous stand alone operation. You can stretch that out with processor sleeping & other tricks.
PWradapters_100pxw 9 VDC 1000mA regulated power adapter
5.5mm/2.1mm barrel jack, positive tip. Expect these cheap ones to be noisy as heck compared to the ones from Adafruit. We run most of the UNO based lessons tethered to a USB cable, so these rarely get used.
LongBreadboard_100pxw MB-102 Solderless Breadboard 830 Tie Points
They don’t go into the student kits, it’s a good idea to have a few of these longer breadboards around.
TranspShield_100pxw Arduino UNO R3 Transparent Case
An alternative to the flat platform approach we use  would be to try these in combination with a breadboard shield
BreadboardShield_100pxw Mini Breadboard Prototype Shield
With a little creativity you could squeeze low profile components for the data logger onto this if you find an SD card adapter, and an RTC with perpendicular pins.

Basic Electronic Components:

Most electronic components can be had for pennies if you buy them in quantity. And the difference between low end parts and name brand stuff can be more than an order of magnitude.  That doesn’t mean that off the shelf kits are a bad thing, it just means that what you are really paying for is someone’s time selecting and packaging it.  That still might be the better option for you if you can afford it.

Basic Components:
StanleyBins Stanley Removable 10 Compartment Organizer
Before you buy a bunch of tiny little parts, you need some way to organize them. I usually put the items into 3″x 5″ or 4″x 6″ bags, which then go into these compartments.  Pink 4Mil Anti-static Poly Bags come in all sizes, and work well for this. Being able to remove the section boxes from these organizers to lay out specific parts for a tutorial also comes in handy.  See: Organizer Bin Storage Unit See: Stacking organizers See: Tool Storage
StanleyShallowOrg Stanley Shallow Organizer, 25 Compartment
This organizer is better for really small components & IC’s that you only have a few of, but you still need to bag them or they get jumbled.
ELENCO WK-106 Solid Hook-Up Wire Kit 22 AWG
22 AWG works reasonably well with breadboards, get at least 6 colors/150 feet. Remember to specify how much to cut from the spool in your lab instructions, or your students will pull 2 feet of wire from the box when they only need a couple of inches on the breadboard. Get two boxes at the start of term.
AdafruitWire_100pxw 26AWG Silicone Cover Stranded-Core Wire – 2m
This high strand count wire from Adafruit is the nicest stuff you are ever going to work with, and is my favorite after trying just about everything else on the market. Simply fold & cut those pre-cut 2m lengths four times and you end up with 12cm lengths which are perfect for including in kits. [Colors:Red,Black,White,Yellow,Green,Blue,Grey,Orange]
CheapWire_100pxw 60m/box 26 AWG 10m x 6 colors Cbazy / Striveday Silicone Jacket Wire
As your projects get more advanced you can never have enough different colors of wire. And there are other box sets to add Orange, Brown & Purple . The thing to watch out for with wire sourced from eBay wire is that some vendors sell crappy seven-strand wire,  which will not stand up to frequent bending like the highly stranded Adafruit 26awg. I also keep some thinner 28AWG and 30AWG wire with high strand count around for finer soldering jobs (eg  here)
CBAZY Stranded Hook up Wire 26-30 AWG Flexible Silicone Wire (108 Feet)
You can never have enough of certain colors, so I always order extra 30m rolls of RED & BLACK wire for battery connections.  [Colors:Red, Black, Blue, Brown, Green, Grey, Orange, Purple, White, Yellow]  16-30awg available. ~$0.33/m
Hshrinkspool_100pxw 1/16″ 2:1 Clear Heat Shrink (MIL-I-23053/2, class 2)
Unlike normal heat shrink, mil-spec is very thick and holds its shape after cooling; making it easier to route cables in a housing. Watch for eBay vendors that advertise mil-spec, and send you the thinner cheap stuff.   I think of 1/16″(=1.5mm) heat shrink as “1-wire sized”, 2mm = “2-wire size” and 1/8″(=3mm) as “3-wire size” when working with 26awg. Always buy clear heat-shrink tubing for the classroom – so that you can see when poor soldering has caused a problem with the circuits.
I add male DuPont crimps & a bit of heat shrink to thin lead components to make the breadboard friendly

Resistors: Lead diameter makes a resistor breadboard friendly or not. You generally want 0.6 mm not 0.4mm leads, though it is inevitable that you will end up buying a few cheap multipacks with the thin leads. ( Note: You can add male DuPont crimp ends & a bit of heat shrink to components with thin leads to make them breadboard friendly : see inset photo) Brand-names like Vishay, Xicon, KOA Speer are usually very good, but you pay 2-10 cents each for them, and the Vishay leads are sometimes thick enough that you need to cut them at an angle just to insert them in the breadboard.  (Often you can find new-old stock bag lots of Xicon carbon resistors on eBay reasonably cheap)  The cheap old carbon resistors often tend to have thicker steel leads while the better brands have softer copper leads which bend more easily. I find 1/4 watt to be the most practical size and 1/2W metfilms are physically about the same size as 1/4W carbons. Beige-background carbon resistors seem to be much easier to read than blue-background metals, but if you need 1% tolerances, you won’t have much choice. 1/8watt metfilms are very tiny, which can be helpful if you need to put a resistor into a small place, like between two pins on a breakout board. Wherever possible, buy 1% tolerance (or better) resistors, rather than 5%, as this affects your sensor accuracy when you use them in voltage dividers – which is a common way to read sensors.

MetfilmResisorSet1 130 values 1-10MΩ 1/4W Metal Film Resistors Assortment
Crappy thin leads, but a huge range of values to have on hand at the beginning of a class – in fact I would order two of these to get started.   Then order 50-200 of the individual resistor values as needed for your labs/exercises. Be prepared for it to take 2-4 weeks for resistors to show up if you order them via eBay.
IndMetfilms MetFilm Resistor 1/4W 0.25W ±1% [Various Sizes]
100 pc of specific sizes with thin leads. We usually put five to ten of 330Ω, 1K, 4.7K & 10K in each kit, but you can tune this to your curriculum and/or hand out other specific sizes at the beginning of each lab.  After you get better at soldering, you will probably switch over to 1/8 watt resistors, as their smaller size lets you put them into tight spaces: like between the pins on a promini board. Also note that metal film resistors use a 5-band code to indicate their value, rather than the 4-band you see on carbon resistors. But we teach students to always check resistance values with a DVM to catch manufacturing errors, and because it’s quite common for them to cook their resistors, or bend the wires too much & break the connection,  when they are just learning to solder.
HalfwattCarbons 1/2W Carbon Film Assortment (30value x10pc 1-3MΩ)
Sometimes the 1/2 watt size is easier for beginners to handle. It also helps to have “exercise specific” resistor values look physically different from the other resistors in the kits. These still have thin leads though.
carbons Carbon Resistor 1/4W 0.25W 5% [Various Sizes]
Just a typical eBay search link to give you an idea what’s available. Usually these carbons have nicer thicker leads but the quality varies. Check for free shipping.
Components: Most hobby market parts distributors have “Assortment Kits” for commonly used components and its a good idea to just buy a selection those when you are starting out. It might be a while before you actually dig into that mixed bag of capacitors for the odd value you need for that circuit you just found on the internet, but when it happens you will be glad you spend that $1 six months ago.

Where to buy them: I’m going to list several kits from Electrodragon as examples, but there is nothing special about them and you can often find a very similar sets on eBay for significantly less. A common problem with all the overseas suppliers is that it usually takes 3-4 weeks for stuff to arrive, and that can stretch to 8 weeks. So if you realize that you need something quickly, go to Sparkfun/Adafruit/Pololu/Amazon etc and just pay the $15 delivery charge. The thing that makes this complicated is that now a lot of domestic websites like Amazon, Digikey etc, often just acting as distributor for these exact same components from China. Another draw back with Amazon is that those easily recognized boxes are big targets for porch thieves.

My rule of thumb with dodgy flea market sites like Banggood, Dealextreme, AliExpress, etc. is: “If this order never arrives, how unhappy would I be about that?” If the answer to that question is “Quite a bit” then you should order that part from a reputable vendor.  More than 95% of the things I order from eBay do arrive…eventually…though it’s common for things like sensor modules to be significantly different than the photos shown in the listing. Overseas suppliers are best used where fakes are unlikely (or don’t matter) like resistors, LEDs, displays, pin headers, switches, wires, vanilla transistors, battery holders and similar items. Or a one-time thing you just want to play with to see how it works. For more complex sensors and microcontrollers it’s very easy to get counterfeits or rejects that kinda seem to work initially, but are way out of spec. In those cases I’m prepared for a percentage of duds, and so far I’ve only had one out of maybe 30  purchases. The cost of returning is usually more than the item’s worth, so you have to be prepared to bear the loss. There are even some complex components I wouldn’t buy anywhere else like the ESP’s, since these are manufactured in Shanghai, so you wouldn’t find these cheaper somewhere else.

LED's 5mm LED Light Diffused Assorted (5 Kinds*20PCs)
Having the colored plastic makes it easier for students to identify which LED is which. [red, green, yellow, blue, white]
RGBled10mm LED diffused RGB 10MM Common cathode
Having the RGB led a different physical size from the one-color LEDs makes it easier to identify them in the kit. Common cathode means you can use one limit resistor on the ground line. You can use a CR2032 coin cell to identify which leg is which color quickly by putting the common line on the negative side of the battery.
mixedcaps Ceramic Capacitor Assortment (10 Kinds x 50 PCs)
The most important thing to know about ceramic capacitors is that they have the worst thermal coefficients of any component you are ever going to see.  So to build a circuit which will work in real-world environments you need the dielectric to be rated at X7R (±15% from -55 to 125C) or better.  Garden variety Y5V (±82% from -30 to 85C) caps also loose about 30% of their capacitance in their first year of operation (X7R’s loose <10%) and you need to compensate for that too.   And finally you need to buy caps rated for 50v, if you want to use them with 5v because the bizarre rating system means that you could loose up to 80% of the rated value as you approach the rating on the label. 
cCaps 100PCs Ceramic Capacitor [30pF,10nF,100nF]
The four most common sizes of capacitors to keep on hand are 10μF (106), 1μF (105), 0.1μF (104) and 10nF (103). Get 100 of each to start, as they are frequently used for bypass/decoupling. Most of the time you will be using: 104 (100nF) but like resistors it’s handy to have small mixed assortments on hand for one-of builds. 
EcapAssortment Electrolytic Capacitor Assorted (0.22UF-470UF, 12Kinds)
I rarely use these (unlike the little ceramics which get used all the time) Keep an eye on polarity because electrolytics (and Tantalum capacitors) will explode if you put them in backwards.
There are other kinds of capacitors out there, and for sensor circuits that have to be stable with temperature, or over long periods of time, plastic film capacitors are often a much better choice than either electrolytics or ceramics: I use Polyphenylene Sulphide (PPS +/-1.5%) or Polypropylene (CBB or PP +/-2.5%) when I can since their aging rate (expressed as % change /decade hours operation) is negligible. The only drawback is that they are relatively large, so for a given value, the film cap might be the size of a jellybean, when the equivalent ceramic cap would barely big enough to solder to without a magnifier lens.
GeneralDiodePack General Diode Pack (8 Kinds)
(1N4148 -25PCs, 1N4007 -25PCs, 1N5819 -10PCs, 1N5399 -10PCs, FR107 -10PCs, FR207 -10PCs, 1N5408 -5PCs, 1N5822 -5PCs)
INDdiodes 50PCs Diode [Individual types]
1N4148 is the bog-standard signal diode so it might be worth keeping some of those on hand. When losses matter @ low voltages and low currents, it’s better to use 1N5817 Shottky’s (ie: for things like isolating battery banks from each other)
DiodePack_100pxw Common Zener Diode Pack, 0.5|1W, 3.3V-30V
(14 kinds, 5pcs each) Each Zenner has a specific breakdown voltage, so it might be a good idea to wait till you know which ones actually need and order only those specific types.
TransistorPack General Transistor Pack (17 Kinds x 10PCS, Low Power)
Like Zenners, there are many different flavors of transistor out there, and you should figure out which one you need before buying too many of them. So perhaps just order this pack as a backup, and wait till you know which specific ones you need. For example: the 2N2222A is one common NPN BJT that most everyone seems to use, and they are about a penny each.  See: Building a Friendstrument. See: Transistor as a Switch  See:TransistorCalculator.       Rule of thumb for using cheap transistors as switches:  Size your base resistor to make the base current twice the calculated value for the smallest hFE you see listed in the data sheet (see calculator here) provided that does not exceed ~20mA digital pin current on an Arduino. Don’t forget to add pull up/downs for stability. Note: E-B-C pinouts are not standardized For most 2N2222s, when the flat side is facing you, the pins are E-B-C but some  are C-B-E.  If  you get C/E reversed the transistor will still sort of work but with a lower β (beta). This is highly annoying to debug…      To test an unknown transistor with a DVM in diode test mode, attach the red positive lead to the base of the transistor, and the black neg. lead to each of the two unknown legs in succession: The slightly lower of the two voltages will correspond to the collector-base junction, and the slightly higher reading will be the emitter-base junction.
2N7000 2N7000 TO-92 N-Channel Mosfet (200mA max)
These mosfets are like “Transistors for Dummies” and work great as digital switches when connected to 5v Arduino digital pins – and you don’t have to do the calculations for the base currents, etc. So they are much easier for beginners to use although they will set you back a whopping four cents each. Note: A 100K resistor between the gate and ground keeps the N-fet off by default, but you can generally operate mosfets without a pin-gate resistor, though many recommend 150 ohms there. N-channel mosfets are usually placed on the ground side of the controlled circuit.

Note for 3.3v systems: The 2n7000 can be used with a 3.3v Arduino to control things like LED’s, but they only pass between 30-60mA because the controlling voltage (Vgs) needs to be at least 4.5v for the 2n7000 to be fully turned on. With only 3.3v control, the resistance across the 2n7000  is ~ 3-4 ohms, so there will also be substantial voltage drop across it.  Although “logic level” is not exactly as standard term, mosfets designed to work with 3.3v mcu’s often have an “L” in the part number, ex: IR540 (non logic level) vs. IRL540 (logic level).  Ideally you want the MAX value for Vgs(threshold) to be lower than 2.4v in the datasheet, or you want to see an RDS(On Resistance) quoted for 2.4v, or lower.  When considering the On Resistance, calculate the voltage drop that will occur when the MOSFET is On and the load is operating. If the load draws 50mA, and the RDS(on) is 3 ohms, the vdrop across the fet is 0.05*3=0.15v. The tricky thing about this calculation, is that the On resistance changes with the level of the controlling Gate Voltage, and as you get closer to the Vgs(th)threshold voltage, the on resistance increases – so you need to dig into the graphs on the datasheet to figure out what the actual vdrop is going to be. Since the whole point of using a MOSFET as a switch, is to achieve lower Vdrops than you would get using a BJT, you want the vdrop  across the FET to stay below 0.25v maximum.   Probably the closest thing to a 3.3v version of the 2n7000 would be one of the Supertex TN0702 or TN0604, which come in the same TO-92 package. They can’t switch much current, but if you are careful it is possible to control parallel mosfets for increased capacity

You can solder legs onto SMD parts to make them breadboard friendly.

Most of 3.3v N-channel mosfets come in tiny surface mount SOT-23 packages:  The Philips pmv30, pmv31 and pmv56, and the Vishay Si2302, Vishay Si2356DS  , Si2312BDS (or Si2333DS /DDS for P-channel)  The Fairchild NDS331 / 335 is another good option with very low on resistance and a gate threshold of only 1v.  The problem is that none of them are available in breadboard friendly TO-92 packages  so  you might have to mount them on SOT-23 adapter boards to use them, and if you willing to do that it might be worth going to the Si4562DY which gives you both N & P channel mosfets in the same package. A P-channel mosfet is used on the positive side of the load whereas an N-channel mosfet is used on the negative or ground side of the load. When triggered, a P-fet connects the input on the load to the positive source whereas an N-fet (usually) connects the load to the ground line. Keep in mind that you can’t drive a p-channel directly from an Arduino if the circuit being switched is a different voltage from the control logic, but that can be solved by using an N-fet to invert the control signal at low voltage, then connect that to a P-fet on the higher voltage side.
Also see: P channel FDN338P and N channel FDN337N, STN4NF03L.

Rotary pots 10K Linear Rotary Potentiometer 15mm
Also available in other values like 1K These B1k/10k’s can be put right onto a breadboard if you take a moment to twist the tabs so they don’t over-stretch the breadboard springs, though they are also good for soldering lessons and then you are ready for the ever popular LED Bar graph tutorial at   Expect a few duds per batch with these cheap ones.
BBorardTrimpot Breadboard trim potentiometer 1 & 10K
These guys are really nice to use on a breadboard as you can turn them with your fingers, however they are more than a buck each. If you can stand using a screwdriver to adjust, the cost of a smaller trimpot goes down to about 20cents each. There are also 3296 Assortment packs of other styles available.
Momentary switches Push Button Momentary Switch (12x12x7.3mm)
15pcs with a selection of different color caps. Cheaper if you get larger quantities. Sometimes there are little bumps on the bottom that you have to snip off to make them breadboard friendly.
LatchingPushButton Latching Push Button Switch DPDT 8x8mm
I prefer these latching push buttons to slide switches because they are less likely to pop out of the breadboard by accident when you are using them.
HeaderPins 2.54mm 40P Break Away Pin Header [Female/Male]
Get both male and female sets. You frequently need to add male header pins to sensor breakout boards.
doubleheader Double Length 2.54mm M-M Header Pins
Extra long header pins are handy at times, as are 90 degree lateral pin headers
DupontRibbon 40 pin Dupont wire jumper cables 20CM
M-M, F-F & M-F. Usually you tear off a strip with the specific number of wires you need for a particular situation, like adding a jumper cable to a UART module that did not come with one. Often it’s convenient to buy these cables without the black plastic end covers so you can tear off ribbon strips to make custom cables, but you pay more for that. Those shrouds can be purchased in any combination from 1-8pins wide so you can make your own sensor connectors.

Basic Sensors:     (also see: Adding Sensors ( & Modules ) to Your Arduino Data Logger)

With so many different types of transducers, I can only list a few examples here. And rather than a strict definition, I think of a sensor as ‘basic’ if it’s fairly easy to get the output you are after when you connect it to an Arduino. That can happen for different reasons: (1) Sometimes the raw sensor is electrically simple, such as ‘modulating’ sensors that change their physical properties (like resistance) in the presence of heat, light, etc. and these can easily be turned into a voltage with a simple divider. Some of these sensors are ‘self -generating’, producing a small signal which can be fed directly into the Arduino’s input pins. (2) Others fall into the basic bucket because someone else has put the sensor and some fancy electronics together inside an IC package or onto a cheap breakout board/module, to make connecting to the Arduino easier than it would be with the raw sensor. (3) And other times it’s because someone has released an open source “library” that teaches your Arduino to “talk” to the sensor, which might be more electronically complicated than the Arduino itself. (Although sometimes those sensors tend to have so many settings to take care of when you start them up, that even with a library they still end up the “Advanced sensor” category. We have tutorial pages discussing how to use those more advanced sensors.)

Basic Sensors
reedSwitch Magnetic Reed Switch
Perhaps the most fundamental type of sensor is a switch. You can think of push buttons as crude pressure sensors, and magnetic reeds as proximity sensors. They show up in applications like rain gauges and anemometers because they are robust and draw no current most of the time. Find a good tutorial on pull-up resistors, and de-bouncing is another important issue with switch sensors.
Photocell 5528 Photocell 10KΩ LDR
This light dependent resistor might be the easiest sensor to start your lessons with. Put a fixed 10K resistor in series and read the middle of the voltage divider with a analog pin. That’s it. Add a passive piezo buzzer module and you are ready for the popular Light Theremin exercise.
thermistor NTC Thermistor 10KΩ B=3950 1% tolerance
Thermistors change their resistance with temperature just like LDR’s do with light. So you use the same electrical circuit to read them as the LDRs. The devil though, is in the details. Thermistors are very non linear, so you need to so some fancy calculations to translate the analog readings into an actual temperature. There are lots of great tutorials out there to help with that. Generally, I prefer to use 100K NTC thermistors, since they have less problem with self-heating.
FSresistor Force Sensitive Resistor 0.5″
In this case the resistance changes with applied pressure. In fact there is a whole family of Force / Stretch / Bend sensors like this and they get used for all sorts of things like measuring water level. Unfortunately they are also pretty darned expensive, so sometimes its better for students to make their own FSR sensors instead.
piezo sensors Piezo knock/bump Sensor 27mm
Piezos can generate significant voltages, so they get connected with a shunt resistor to damp things down; protecting the Arduino. Be sure to get the ones with the lead wires already soldered on.
When you move away from raw sensors, there seems to be a bewildering array of ‘breakout boards’ and ‘sensor modules’ for the Arduino and they sell them in mega bundles of twenty, thirty or sixty different pieces. Like the component kits it is probably OK to get one of these when you are starting out; just to play with them and see which ones fit your curriculum. Watch for custom connectors that force you to buy extra cables & interface boards. I actually like the Grove System, and similar systems like the Itead Electronic Bricks, but from a teaching point of view those are better suited to creating ‘snap together’ lessons with younger students. (or no wiring at all if you populate a Multi-sensor Expansion shield) That’s not so good if you want them to become comfortable making their own circuits on a breadboard.
sensor module kit 37 in 1 Sensor Modules Kit
Just an example of one common module set from eBay. So you will have to hunt around for a set that looks interesting to you, and it might be worth an extra buck or two to get one that comes with an organizing case. For some, like the Keyes series, you can find pinout guides and instruction wiki’s There are usually several “How to use it” tutorials for each sensor at and on YouTube.
Once you get a closer look at them, you’ll notice that most of these cheap sensor modules look the same:


That’s because at least 50% of those boards are simply a voltage divider like you would use to read the raw sensor connected to one input of a 5 cent comparator circuit. While a 20 cent trimming pot sets the voltage on the other input:
LM393circuitThese boards take an analog voltage, compare it to a threshold, and then produce a digital on/off output on Dout which you would read on digital input pins on the Arduino. Essentially turning an analog sensor into a kind of switch. This is such a generic circuit, that you could put other resistive sensors on those pins and it would work fine.  Look for boards that give you the 4th analog output pin if you want to read the actual sensor value with the ADC.

LDRmodule Photoresistor Sensor Module for Arduino
Here is that same 5528 LDR I listed at the beginning, being sold as a “sensor module”.
TC5000IRpair TCRT5000 Reflective Infrared Emitter&Sensor Pair (Raw) $1.00/10pc
TCR5000module TCRT5000 Reflective IR Switch (module)
Sometimes used for line following/distance sensing in robots.
HR31resistiveHumidity HR31 Analog Resistive Humidity/Temp Sensor (Raw)
You get one combined Humidity/Temp impedance number out of this sensor, which you have to decode to work out the humidity.
H31module HR31 Analog Resistive Humidity Sensor Module
Be careful which one you order. 3pin=On/Off threshold output only & 4pin modules will let you read the analog output of the divider. By now I hope you see the pattern in these cheap sensor module boards. The list goes on forever…
PIRmotionSensor HC-SR501 PIR (Passive Infrared) Motion Sensor
This module has vastly more complicated supporting electronics than the simple comparator boards above, but you use it in essentially the same way. Adjust some trim pots and then look for High/Low output on a digital pin.
capsensor Capacitive touch sensors
Tons of these on eBay, and dirt cheap, but nowhere near as much fun as making a really big capacitive sensor yourself with some flat sheets of aluminum foil and the Arduino capsense library.
In addition to modules, you also run into integrated circuit sensors where more electronics are embedded inside the sensor itself. These can have either analog, or digital output, but the digital output is no longer limited to simple on/off information . Analog sensors are generally easier for beginners to use, since all you have to do is read an ADC pin to get your numbers. The digital sensors have to “talk” the Arduino, and that usually involves including a library at the start of your sketches to handle the low level details of the serial communication protocol. There are far to many to cover here, so I will just leave you with a comparison of two sensors that have nearly identical sensing capability, with one being analog, and the other as digital. Equivalent pairs like this exist for other environmental parameters like pressure, humidity, etc.
TMP36 TMP36 – Analog Temperature Sensor
Unlike a raw thermistor, these sensors have a bunch of circuitry for amplification and signal conditioning so that the output given to the Arduino’s ADC is beautifully linear.
TMP36 DS18B20 – One-Wire Digital Temp Sensor
This ‘one-wire library dependent’ temperature sensor is often the first one people use when they make that transition, and it is one of my personal favorites. Digital sensors come with various serial communication protocols, but in return for the added code complexity you get the ability to hook many sensors to the same ‘bus’ wires, and in the case of the DS18b20, those can be up to 100 meters long.  DS18b20’s are also commonly available on 1m cables inside waterproof metal housings which can be quite convenient for a student project that needs to measure several different temperatures. However if you actually do want them to operate under water, I’d recommend adding another full layer of marine grade adhesive lined heat shrink over the sensor-cable connection because the potting job on the cheap ds18b20s can be pretty badly done. Cheap eBay sensors can also be outside the +- 0.5C spec, but that can sometimes be useful when teaching a lesson on calibrating temperature sensors.  The real thing to watch out for is the sleep current – DS18b20s should automatically go to sleep around 8 nA. If you measure more than that the sensor is probably a dud, that will mess up it’s own readings by self heating.
Making the transition from simple analog to true digital sensors is like earning your merit badge with the Arduino. There is usually a digital version for every different kind of analog sensor at about the same cost, and in some cases the digital version offers tremendous advantages in terms of resolution. But one of the first things you want to know is: Are there good libraries to make this sensor work with an Arduino? While there are plenty of independent coders posting open source libraries to GitHub, suppliers like Adafruit & Sparkfun often release them in conjunction with a cool new sensor, and it’s one of the reasons why people in the Makers movement like them so much. Though I have listed several low end commodity parts here, I still spend a significant amount at those first tier vendors: both to get sensors I can rely on, and to show them some love for all that hard work.  For a more detailed discussion of these options see our page on Adding Sensors ( & Modules ) to Your Arduino Data Logger.


Before the comments fill up with dire ‘You get what you pay for…’ warnings, I’d like to point out that when I’m buying tools for myself, I check three places: Adafruit, Sparkfun, and EEVBlog. If you want quality tools go there and buy what they recommend because they really know their stuff. However in the real world a teacher is lucky if they get $500-1000 to spend on materials for a 10-12 student class.   See: Collins Lab tool video.

Soldering Stations: ~$130 / station
YiHua936b Yihua 936b soldering station
Unlike thin pencil style irons, These guys have enough thermal mass to handle soldering beefy connectors. Get the ones with the switch on the front and the blue metal stands. Buy a full set of replacement tips at the start of each term – you will need them.
Comment: I love my Hakko FX-888D, in fact I wish I’d bought that before working my way through a bunch of crappy soldering irons. However you can buy four of these cheap 936b knock offs for less money, and that really helps the budget if you need enough for a whole classroom. It also helps that these things are big & ugly if you are working in a place were things tend to grow legs and walk away on their own. As an FX888 surely would…
ReplHandle_160pxw Replacement handle for Yihua 936 station
Yes, soldering irons do break if you drop them, or if a student leaves them to cook for a couple of hours at the maximum heat setting – especially these cheap ones. This is 5 connector handle is not the same as Hakko 936.  And with spare handles this cheap, it’s much faster to just change the whole handle when you want to work a different tip, rather than waiting for the tip sleeve to cool down, and re-threading.
Tipset_100pxw 12pc Soldering Iron Tip set Hakko 936 (& Yihua)
The ultra thin pointy tip that comes with the 936b is nearly useless.  900M-t-1.2D ‘screwdriver’ and 900M-T-B ‘cone’ tips are not bad for beginners, and it’s cheaper buying those in these 5-packs after you get one “mixed set”. Of course these are all fakes:  real Hakko tips usually cost around $10 each.  Because I do a lot of fine work, I’ve been using the  T18-S4 ‘conical sharp’ (which came with my Hakko 880) as my default tip for many years. It’s not great for heavy jobs, but if you need to work at the level of a IC chip leg the T18 is a good choice. Genuine tips usually have laser engraved markings on the sides. Do not buy lead free tips unless you are using lead free solder, as the chemistry does not mix with sandard 40/60 tin/lead and you end up with a weird blue-green rind forming on the tip.  Remind your students to always apply fresh solder to the tips before turning off the iron, because once they go dry the tips are often ruined. Sometimes they can be brought back to life with tip-tinner.
Thermaltronics TMT-TC-2 Lead Free Tip Tinner (20g) in 0.8oz
Once tips oxidize from running hot and dry they will not hold solder and become impossible to work with. Dunking the hot tip in this compound a few times ( & scraping clean again) will bring many of those abused tips back to life.
TipCleaner_160pxw Soldering Iron Tip Cleaning sponge
And you will need some replacement sponges eventually.
Metal Iron Stand For 936 Soldering Station
These lunkers are much more stable than the flimsy wire ring style holders & work with most cheaper irons.
400gSolder 400G 0.8mm 60/40 Rosin Core Solder Wire
A large roll like this is for soldering stations that you don’t have to take down at the end of each class. But it should last quite a while.
SolderHolder1_160pxw Solder Wire Holder for large rolls
A holder for the large solder rolls like the one above. There are better looking ones out there a few dollars more..
Solderwire_100pxw 0.6mm 60/40 Rosin Core Solder Wire
I use  0.5-0.6mm wire for things like pin headers and general solder joins. Buy a few per station, as small 50 gram rolls get used up quickly. For really fine work on IC chip legs, it’s also handy to have a roll of 0.3mm around.
SolderWick_100pxw Solder Removing Wick 3mm braided
Get a couple for each soldering station.
SYB-46 270 Tie-point Breadboard
I put these single rail protos into the soldering kits as “sacrificial”  breadboards that the students can use to hold header pins in place while pinning up pro-mini boards and sensor modules.  Write “FOR SOLDERING ONLY” in a black sharpie on the boards, because once the heat’s been on them, they are pretty much useless for anything else.
NoCleanFluxPaste MG Chemicals 8341-No Clean Flux 10 ml Syringe
Doesn’t make a mess like the $1 options from eBay, easy to pack up & lasts for years without drying out if you remember to put the cap back on…which students never do…
Heaterizer_100pxw Heaterizer XL-3000 Heat Gun
A cheaper option than a full re-work station, but also much noisier. Also available on eBay 
PanaviseJr_160pxw Panavise Jr. – PV-201
This is one of those rare items for which there really aren’t any other equivalent products on the market – though you could try the attaching a PanaVise 207 Vise Buddy Jr (made of plastic) to a DIY base. Don’t forget the Neoprene Jaw Pads and the Speed Control Handle which add a lot to the functionality. As would one of these things.  
HelpingHands_64px Third Hand Soldering Stand / Holder
I use these guys to hold wires in place, while a Panavise holds the board I am working on. The alligator clips always fail with time and there are other things that might also do the job. At EMS labs, they make their own with thick wire. Hobby Creek Helping hand Arms work pretty well as third hands on their own, or you can attach them to a baseplateSnap Flow coolant hoses also work, and Julian Ilett makes good use of Blue Tac to hold parts in place while soldering.
HeatShrinkKit_100pxw Assorted 2:1 Heat Shrink Tubing Kit
You rarely use the larger sizes, but a general assorted size kit like this is good when you are starting out. It is much easier to spot soldering problems if you use CLEAR heat shrink tubing but its not as pretty. Keep a good stock of 1.5 mm, 2mm and 3mm on hand, in fact buying those smaller sizes by the roll might be a good idea.
Glasses_100pxw 3.25 diopter Reading glasses
The cheapest dollar-store option for close-up soldering work. And get hard shell cases so they can just be tossed into the station kits without scratching.
WireStrippers_100pxw AWG 30-20 Precision Wire Strippers
Hakkos are the gold standard, but these ones from H.Depot are ok. They gave the Ideal T-stripper model 45-121 a good review over at the EMS blog.
CuttingPliers_100pxw #170 Flush Side Shear Cutting Pliers
Again the Hakko CHP-170 would be my first choice, but these work.
Pliers_100pxw Bent Nose Jewelry Pliers
You can find others for a buck if you go hunting, but I like the handles on these. If the budget allows, also get a few extremely pointy long-nose pliers.  It is often helpful to be able to bend one wire into a tiny eyelet shape before soldering it to a pin, and you need a fine-tip pair of pliers for that.
Baskets_100pxw Plastic Locker Bins with Handles
Reasonably large plastic bins let you pack up the soldering stations after class and put them in storage. Most dollar stores have something like this on hand.
Comment: Even if you teach the course with breadboards, you will need at least one complete solder station for things like adding header pins to your breakout boards. A full set like this will set you back about $130, and but depending on your scheduling, you might get by with one full station for every two or three students. We usually set them up around the perimeter of the classroom.


Other Useful Tools:
CrimpTool_100px SN-01BM Dupont Connector Crimping Tool
If you keep your eyes open, you can find them for less than $20.00. Many recommend the better quality PA-09 crimping tool, but those usually run ~ $50.00 
Make polarized (non reversable) connectors by mixing Male & Female connectors

Make non-reversible  connectors by  combining M&F pins

Comment: Before you get a crimp tool, you have no idea why you would want one. Afterward, you use it almost as often as your soldering iron. Dupont connectors are ubiquitous and lots of electronic components have leads too thin to use on a breadboard, so you end up crimping male DuPont ends onto them just to plug them in. It does take a bit of practice to get the hang of it, but there is no other way to make interconnecting cables this quickly & inexpensively. See Instructible: Make a Good Dupont Pin-Crimp Every Time

DupontMalecrimps_100px Dupont 2.54 Connector Crimp Ends
Be sure to get both Male and Female ends. Buy 2x as many female as male pins.
Terminal Ends Dupont Jumper Plastic Terminal Ends
Get at least 200: 2x, 3x, 4x and 6x plastic covers. I don’t use the 1x ends any more, as I simply put black heat shrink over them. There are and infinite number of other cable variations that you can build.
SolderPot_100pwx 50mm Solder Pot
Once you start building things you end up having to tin allot of wire ends, and a solder pot makes that much faster than using your soldering iron. You only need one of these per lab, and you could probably skip it if you are doing primarily breadboard work. Of course having a pot of liquid solder lying around is also something of a safety hazard.
AligatorCables Alligator to Alligator Prototyping Cables 50cm $2.00/10pc
AtoBcables_100pxw Banana to Alligator Cable Pair Black & Red
A set for every voltmeter, for the times when you need hands-free use.
EpxoyApplicator_100pxw 50ML Epoxy Sealant Applicator Gun 1:1 and 2:1
There are a few different variants on the market and you have to match up all the parts of the system with your brand. This one works with Loctite.
Hysol Loctite Hysol 30-CL, Clr, 50mL, Cartridge
This stuff has proven to be a good potting compound after more than a year of marine water exposure at depth. Takes >24 hours to cure. Alternatively, you could pot with a neutral curing silicone like RTV 128. but be careful with silicone as many emit circuit-wrecking acetic acid while they cure (so if they smell like vinegar – do not use them!)  MAS marine epoxy is a much cheaper alternative option for larger jobs, if you don’t mind mixing it yourself, and using syringes to apply it to the circuit boards.
Nozzles Static Mixer Nozzle BT MA6.3-21-s
Don’t use the shorter nozzles with less than 20 elements, or the epoxy does not mix &  set properly.
ScotchMountingTape Scotch Permanent Mounting Tape, 1 x 450 Inches 5LB
This stuff is immensely useful when you are putting a prototype together, and you just need to mount your boards inside a housing. Always have a roll on hand.
LableMaker1 Deluxe Label Maker
A label maker is a vital piece of lab equipment. I go through 4-6 ribbons on my old old Brother P-touch setting up for each class. Not sure which one to recommend from the current crop, so you have to do your own homework there. But just get one.
screwdriverSet Multi-tip Precision Screwdriver Set
Get one with at least 30 bits. And it never hurts to have a few of the $1/6pc sets around as well. If you are not budget limited, get the ones with the longer extension rod.
conformalcoating MG Silicone Conformal Coating : 422
The best way to protect Arduino boards & RTC modules from moisture in the field. Clean the boards thoroughly with 90% isopropyl alcohol first, and apply the conformal in a fume hood, as this stuff is really nasty. In a pinch you can also use clear nail polish as a protective coating instead. Avoid bathroom silicone rubbers for potting electronics, as they off-gas vinegar during curing which destroys electronic circuits.  And if your students are putting their loggers into the wild, throwing in a couple of silica gel packets into the case will protect from excessive moisture. Get the ones with color indicator beads, so you know if they are still working.  You can also re-use these packs if you dry them out with repeated short 10-15 sec intervals in the microwave, but the procedure takes a while to do properly because you have to let them cool down between zaps.
openingpliers_100 5″ Opening Pliers
If you run into a situation where your heat shrink doesn’t quite fit over the item, these fix the situation.
DrillPress_100px WEN 4208 8-Inch 5 Speed Drill Press
You can use a hack saw for most small cuts, but sooner or later someone is going to need holes in something, and this Sears knock off is cheaper than many hand drills. I also use a bench top band saw quite often, but table top scroll saws are probably safer for classroom situations though it’s nearly impossible to get a straight cut out of them. And if you are handy with the soldering iron,  you can often retrofit lithium batteries into portable hand tools after their original cells are shot. It’s also fairly  easy to remove the rust from any cheap tools you come across at a garage sale. 
Extech EX330 Autoranging Multimeter
Cheap multi-meters have a host of issues, like for example, not being able to measure meg-ohm size resistors because their internal resistance forms a parallel circuit with the resistor being measured.  So you need to invest in at least one better quality multimeter for your classroom. Though the EX330 is would still be considered “low-end” by professionals, it has served me well for years. 

Addendum 2016-09-15:

Finally have things set up for the next bunch of students, and since it’s unlikely to look this pretty again for a while, I though I would post photos of the classroom set ready to go:

labstorage1    labstorage2

It all fits comfortably into these two cabinets, but we could probably get that down to just one if we had to.

Addendum 2017-10-01:

Just found an interesting circuit visualization idea at instructables.  It’s a pretty time consuming method, but it’s easy to see how this would be applied in a classroom setting. One of the drawbacks of standard breadboard methods is everything on the underside of the boards is hidden once the pins are in place. You could do this with cheap pre-cut acrylic platforms.

Addendum 2017-10-15:

Codebender is an online Arduino IDE alternative that uses a javascript plugin to let your browser access your computers serial ports. The subscription is $10/month, and the .edu version of the service opens the possibility of collaborative projects with your students for an extra $0.50 per seat, perhaps even giving you the ability to grade/guide student work from any location without having to move a bunch of script files around. As an Arduino instructor, Codebender could save you 2-3 hours of computer setup just installing local IDE’s for a workshop. I’m a big fan of the default IDE, but given how much of a pain Github can be for Arduino-scale projects (especially if you work from multiple computers, or if your hard drive fails and you have to rebuild everything), this provides an interesting code-sharing alternative worth looking into. They also have more than 600 sensor libraries in their archive, and since library installation is always a stumbling block for people new to the Arduino platform, this could help beginners.

There are a few issues that are worth considering though: it only works in chrome or firefox, and everything internet related breaks eventually, and will continue to do so in the future, so you need a backup plan for any downtime or loss of the network. If you experiment with weird new Arduino compatible board variants, there’s a good chance those board definitions won’t be available in Codebender, and none of the libraries I use regularly were there because they were one-of variants that I found after digging through GitHub.

Addendum 2017-12-14:

Looks like I’m really late to the party, as Arduino has had its own web editor & cloud service for quite some time now. The Arduino Web Editor is supported on Windows, Linux, Mac and Chrome OS. The Chrome OS version is a buck a month, which is considerably cheaper than Codebender.  The thing about this that’s mysterious is that I work on the platform almost every day, scouring forums for code tricks, looking for cool sensors, etc.  –  and I’d never heard about it.  At least not in the forums & blogs.  Makes me wonder if the board discovery method that’s baked in to their service means that all the clone boards like moteinos, rockets, etc are not allowed to join the party(?) Fair enough I guess, since they need to make a little coin to keep something like that flying, but still curious…