[2015 archive] Homemade Hardware

Using this Page

Here is a bunch of links to learning resources to help you in this class. None of these are required readings, and it is certainly not everything that's good out there, they're just suggestions and a starting point for you.

If you find any good links, or feel this page should change some how, please let me know. I'll be updating this page through out the semester.

Physical Computing

The Physical Computing website is packed with everything you'll need to know about electronics and programming for this class. Specifically, the following pages should be reviewed:




We'll be going over the basics in class, but electricity is weird, so branch out and let it sink in.


We'll be sticking with Arduino-compatible chipsets in this class so we don't have to leave the Arduino IDE. However, when making your own boards, it helps to have a grasp of what's happenning at lower levels.

Under the hood

Arduino on a breadboard

Arduino Board Manager

Wireless Modules

Below are three wireless modules to use with you DIY boards. They are good choices at this time because they use wireless protocols that are useful to most ITP projects, they are available for low-quantity purchase in the U.S., and they have Arduino support.

RFm69HW - (915 or 433 mHz)

The RFm69 is a simple radio module, great for mesh networking. This means your Arduino projects can communicated directly to each other in any configuration (one-one, one-many, many-one).

  • Pros:
    • Mesh networking made simple
    • Connects to ATmega328, so you can run your normal Arduino Uno code
    • Low power options to save battery life
    • Long range (longer if 433mhz)
  • Cons:
    • More parts needed, because it requires ATmega328 or similar IC
    • Cannot directly connect with phones and other computers
    • Longer antenna that you have to make
  • Source:
  • Documentation:


The esp8266 is a very cheap WiFi IC that can also run Arduino code, and it comes in several breakout boards, modules, and prototyping boards.

  • Pros:
    • Very low cost
    • Runs Arduino code, and uses the Arduino WiFi library
  • Cons:
    • Must have access to the local WiFi network's name and password
    • WiFi requires more power, so this will kill batteries
    • WiFi connection and communication latency can be large (slow)
    • Only 1 analogRead pin, and all pins can use software PWM
  • Source:
  • Documentation:

nRF51822 (RFduino)

The nRF51822 is a powerful IC that can run Arduino code, and communicate over Bluetooth Low Energy (BLE). It also comes in many modules and breakouts, but is most available to us in New York as the RFduino module.


The first half of the semester, we'll be spending a lot of time working on Eagle together in class. But Eagle is a very popular program among DIY electronics, so you'll find tons of resources online.

Notes from Class


  • The Homemade-Hardware github repo has a an Eagle library and example boards. I'll be updating this throughout the semester to include new boards and components.

  • The Adafruit Eagle library and the Sparkfun Eagle libraries have a ton of parts for you to use.

Sparkfun tutorials on Eagle

Using SMD

The thing about surface mount technology/devices (SMT/SMD), is that it's just a totally different way of handling solder and components. The best way to learn is to get your hands on them.

  • Quick video showing how solder paste will reflow on a PCB that also has soldermask. Note how too much solder will cause "bridges."

  • Adafruit has a great set of tutorials for handling SMD parts, but they're aimed at manufacturers rather than prototypers. Also we do things a little differently here, but still worth a read for if you end up doing small-scale manufacturing in the future.

  • Sparkfun's tutorials are focused on how to solder the parts down, whether using an iron, hot air gun, skillet, or toaster oven.

  • Here's a short tutorial on laser etching a solder stencil from transparency film. This is the easiest way to do it at ITP, since we have a laser cutter here.

CNC Routers

Othermill Instructables

We use tiny bits to cut PCBs, and I strongly discourage using a dremel or drill press to drill holes. You'll break tons of bits. Believe me, it's happened. Learn to use ITP's routers, and you'll find them to be a useful tool that can be applied even outside of PCBs.

Roland Modela

  • Download the Nodela interface to use the mill.

  • Designing your board to be milled:

  • Using the Roland Modela and Nodela interface:

Handling a Copper Plate

Acid Etching

There's no better way to get small pitched and clean traces on your copper plates. However, acid etching can get messy, so remember to always wear gloves, safety glasses, and cleanup after yourself.

Solder Mask

Soldering onto your boards will be much easier with solder mask. It adds time onto the process, but it's easy and is worth the wait in my opinion.

  • Great video on how to apply dry-film soldermask, step-by-step.

  • And here's a similar Instructables on how to apply dry-film soldermask.

Solder Stencil

Spreading paste if faster if you have a stencil. Luckily we have a laser cutter at ITP to make stencils quick, but there are other ways. LowPowerLab has some great blog posts about using stencils, in addition to lots of other stuff.

Pick-and-Place Machine