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.
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.
There Are No Electrons: Electronics for Earthlings: Quick read, highly suggested if electricity doesn't make any sense to you. It explains electricity for what it really is (magic), using easy-to-understand analogies.
CircuitJS is a cool simulator to interact with circuits and see how they work.
Logic levels, or how to communicate with voltage, as explained by Sparkfun.
Also Sparkfun explains Analog v.s. Digital electrical signals.
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.
Sparkfun's explaination of what an Integrated Circuit (IC) is.
Arduino's explaination of what happens when you hit Upload.
Arduino's tutorial on bootloading an ATmega328p on a breadboard using an Arduino Uno as the programmer
Arduino's tutorial on making a breadboard Arduino, which includes the supporting power, timing, and communications circuitry.
Tutorial on programming an ATtiny85, using an Arduino Uno.
Here's an overview from Adafruit on using the Board Manager to install third-party boards. This tutorial tells you to download Adafruit's boards, but can be applied to all other boards.
Here is a list of all third-party boards supported by Arduino. Simple use the URL's from this page (they end in a .json) and paste them into the Preferences input, as explained in the tutorial above.
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.
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).
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.
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.
Here's a legit looking book on Eagle if you're into that kind of thing.
A simple list of the Eagle commands, for quick reference.
Here's the Eagle commands we went over in Class 2.
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.
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.
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.
Download the Nodela interface to use the mill.
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.
Here's an Instructable on etching with muriatic acid and hydrogen peroxide.
Here's a video of someone showing the process. Just watch the first half.
LowPowerLab's tutorial on using vinegar as a slower but safer etchant.
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.
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.
LowPowerLab's tutorial on rastering stencils from transparency sheets.
LowPowerLab's tutorial on etching metal stencils. He also explains how he uses vinyl during the toner-transfer process.