So you got a netduino and wrote the obligatory ‘Hello World!’ app for it. Great!
Now what? As it stands, a micro-controller won’t do much by itself and it needs to be interfaced with other parts and components to do something interesting.
In this post, I’ll attempt to make a list of the parts and their suppliers that I’ve found necessary for my own projects:
- Breadboards: larger is better to start with. Get smaller ones too if you can. You’ll need at least one to build project prototypes.
- Tons of hook-up wires, males ones for breadboarding of course, but female ones too. You can also make your own with wire strippers and various types of 22 gauge solid-core wires. Pick various colors: it helps. Ready-made ones are available from Solarbotics, Sparkfun, Fry’s or RadioShack.
- A multi-meter: you’ll always need to test your voltages, currents, connections, resistors values, etc. and this is the tool you’ll need for that. Do not buy a cheap one, especially one from RadioShack! You’ll go through a few cheap ones over time, and then realize that you’d have spent the same amount on a good one that would have lasted you a lifetime. I’ve made that mistake, and hopefully you won’t have to. Fluke makes great multi-meters and I highly recommend their 115 model. You can find them new and used on Amazon.
- A soldering iron: anywhere between 15 watts and 30 watts is great to start with. You can get these at RadioShack, Fry’s, or Amazon.com. If you can afford it, get a temperature-controlled one.
- Rosin core solder. Available nearly anywhere mentioned above.
- Make yourself a solder fume extractor using a recycled PC fan and a carbon filter or buy one if you have to.
- Learn to solder: Even if you may think you only need a breadboard to learn, you’ll always find an occasion when you actually need to solder two parts together. (Edit: Make Magazine also has a nice tutorial).
- A good light source, preferably with a built-in magnifying glass. A good LED headlamp and a magnifying glass will also do the trick, but will take one of your hands to hold it.
- A second set of hands: I cannot stress enough how frustrating it is to solder anything if you don’t have something steady to hold the parts you need to work on. I highly recommend a PanaVise over “Helping Hands” with crocodile clamps, which tend to get loose, hard to adjust and become useless over time.
My advice about parts: don’t start buying random parts thinking that you might use them eventually. While it is true that there are ‘electronic staples’ such as the items in the list below, you’ll be buying stuff you don’t need.
- Resistors between 10 ohms and 1 Mohms
- NPN and PNP transistors like the 2N2222, 2N3904 and 2N3906
- LEDs / LED matrices of various colors, sizes, and shapes
- Zener, Schottky and other rectifier diodes such as the 1N400x series of diodes
- Photo Resistors
- Shift Registers such as the 74HC595 and the 74HC165N
- Encoders such as the 74HC238
- BCD to 7 segment encoders
- Timers such as the LM555 or NE555
- Small voltage (~25V) decoupling electrolytic capacitors (0.1uF, 1uF, 10 uF, 100 uF)
- Keypads, switches and buttons of various types
- 5 and 12 volt relays (SPDT and Reed types)
- Rotary encoders + knobs
- Potentiometers + knobs
- Plastic and metal stand-offs
- Perforated boards
- H-Bridge motor drivers
- I2C EEPROMs for data storage
- LED display drivers such as the MAX7219CNG
- Opto Isolators
- 3.3 volt (LD1117V33) and 5 volt (LM7805) voltage regulators
- DIP sockets
- Heat shrink tubing
- Screw connectors
If you have a specific project or just an idea in mind, even if it’s just for learning, take the time to think through what it will take to build it:
- Research how you plan to interface the parts with your micro-controller: make sure you’ll have enough pins to do it.
- Find out what protocol(s) may be required to talk to the components and make sure your micro-controller can handle it.
- If you’re not sure about how a component works, try to find sample code for it ahead of time or find out if the manufacturer has a library for it. Even if the code is written in C/C++ instead of C#, it will provide a good starting point for your own.
- If you don’t know how a typical circuit works (power supplies, controlling relays, motors, servos, solenoids, etc.) try finding a pattern for it: chances are, you will find out that someone like you has already figured it out. Sometimes, the manufacturer of the parts required to implement the circuit have documented the correct patterns in their datasheets.
Before going any further, read this article. It will save you a great deal of time and money. In addition, a Google search on the subject of “free electronic samples” yields a treasure trove of sources.
- Starter Kits: maybe a good way to get started with parts and the guidance needed to learn how to use them. There. I’d suggest the following:
- Make Magazine: Electronics Components Pack 1 & Pack 2
- Ada Fruit: Sensor Pack. Be sure to check out the rest of the products on the site as many of the essentials for a beginner are right there.
- Arduino Project Pack: this one deserves an explanation. The netduino finds its roots in the Arduino micro-controller and it shows in many ways: for instance the netduino is pin-compatible with the Arduino, meaning that their pins are in the same locations on the boards, which makes their shields (more on that later) often compatible. Not only that, but the large body of knowledge, sketches, wiring diagrams applicable to the Arduino can be ported over to the netduino with little effort. Just pay attention to voltage levels as the original Arduino worked with 5 volts while the netduino works with 3.3v but tolerates 5v on its inputs, so it’s not a huge issue. One exception is the OneWire protocol which is not supported yet on the current v4.1.0 netduino firmware, so for now try to find parts that use the I2C or SPI protocols instead.
Starter Packs can be expensive though and there are large suppliers online who generally offer better prices on the same parts. I generally use these guys:
- Sparkfun.com is a great place to find parts. Sparkfun adds a great deal of value by offering breakout boards for many of the parts that they sell, making these parts easier to integrate within a project. Their tutorials and forums are often useful. Check out their catalog here: http://www.sparkfun.com/commerce/download/PDFs/catalog.pdf
- http://www.solarbotics.com/electronic_components/ Excellent source of specialized parts for building robots and other micro-controller powered projects.
- http://www.tinyclr.com/hardware/: this site provides hardware alternatives to the netduino. Check out the FEZ Panda in particular: with the form-factor of a netduino, and the same price, it offers a ton more I/O pins and supports OneWire out of the box. It is also well supported: check out their Beginners Guide to C# and .NET Micro Framework. Much of this knowledge is also directly applicable to the netduino. Many of the parts available for the FEZ Panda can be interfaced with the netduino.
- Parallax: offers a nice set of sensors and components.
- Futurlec: has a lot of quality components for very cheap! The only catch is that they can be very slow to ship when they are back-ordered, in the order of months sometimes. They also offer PCB design and manufacturing services.
- Evil Mad Science: these guys like blinky stuff 🙂 Be sure to check out their AVR Starter Packs as well for commonly used parts.
- Modern Device: has a nice selection of sensors, components and power supplies. Be careful ordering their displays as most of them require 5v inputs and will require a voltage level conversion for use with a netduino.
- A shield is like a ‘daughter board’ for the micro-controller and generally provides a specific function such as GPS, relay control, motor/servo control, motion sensing, gas analysis, SD card storage, Ethernet, WiFi, composite video, etc. As mentioned earlier, there is an entire collection of shields available for the Arduino micro-controller which will also work for the netduino. This thread on the netduino forums attempts to document which Arduino shields have been tested and proven to work on the netduino. Of course, you can make your own shields and there are various ways to achieve results:
- Aaron Eiche has put together a great tutorial on the subject of making professional shields.
Old electronics can be fantastic source of parts: I tend to never throw away outdated or broken electronics for the sole purpose of scavenging parts from them later. Examine them for burn marks and weird smells before recovering them, then test them with a multi-meter, an oscilloscope or in a test circuit to make sure they’re still good before using them. Keep an eye out for old PCs, TVs, VCR/DVD players, printers, R/C toys, game consoles, HiFi gear for parts. If your workplace recycles electronics, ask your admin if you can take them home: they’ll generally be glad you do.
That’s it for now. Happy hacking!