Adding Simple Lighting Effects to Paper Circuits Using Microcontrollers

Cross-posted from the NEXMAP blog.

We’ve had some success making simple circuits, parallel circuits, and incorporating simple mechanical switches into our paper circuitry prototypes, so it’s time to up our game. Working with Natalie Freed, a friend and colleague of Jie’s, I learned how to use some simple tools and components to program a microcontroller that lets me control the LEDs in my circuit. In this post, I share a quick overview of the project.

Step-by-step tutorials coming soon!

PROJECT IDEA

Create a picture with a light that blinks a message in Morse code

BACKGROUND

My father is a ham radio operator and electronics enthusiast, so I thought it would be cool to make a card for him that incorporated Morse code. Before going straight into the card, though, I wanted to do some prototyping. I’d never worked with microcontrollers before, and I hadn’t done much with Arduino, either.

I decided that I’d illustrate a little scene of someone stuck on a desert island with a light signaling SOS. The message is just three letters, and I already knew the Morse code so I figured it would be a quick and easy proof-of-concept project.

Materials

  • SparkFun’s Tiny AVR Programmer | This USB stick makes it really easy to program ATTiny45 and 85 microcontrollers using Arduino IDE. Currently out of stock, but if you have an Arduino, breadboard, and a handful of other basic components, you can hack a programmer old-school style.
  • ATTiny85 | This small microcontroller lets you save programs up to 8k to the chip. Microcontrollers are small computers that can process and send information. Here, we’re programming it to control the flow of electricity through the circuit according to a program.
  • Arduino IDE | IDE stands for “integrated development environment” which means that you can write code, test it, and load it onto hardware all from the same application. I used the Arduino language (developed for the Arduino board) to program the ATTiny85 with the code I wrote. Learn more about Arduino here.
  • Copper tape | Be sure to get the stuff with conductive adhesive if you don’t want to solder. I’ve been buying it on Amazon.
  • Surface mount LEDs | I used size 1206 because 0603’s are too small for me to work with.
  • 1-3V coin battery

Natalie explained to me how to read a pin-out diagram for the ATTiny85, and showed me how to revise the Arduino code for a simple blink program to work with the ATTiny—there’s a lot of pre-written code out there for Arudino. The Tiny AVR Programmer USB stick has a built-in LED that makes it really easy to see whether or not your blink code is working properly, which makes for super-fast troubleshooting and iteration.

Once I was satisfied with the blink pattern, I designed a circuit. Natalie had shown me a number of samples, and the diagrams looked simple enough, but I’d forgotten to actually record them in my notebook. It took a little trial and error to get a working circuit, ending with this: 

 

If you use copper tape with conductive adhesive, you don’t have to solder your connections. I did here because it makes for a more robust join, and I wanted to focus my troubleshooting on things I wasn’t sure were right (placement and connections of the microcontroller) as opposed to something preventable like a poor join in my conductive tape.

Then it was just left to sketch out the scene on the previous page of my notebook to get the following:

I shared this project with a group of educators from the National Writing Project earlier this month, and it went well. More on that coming soon. Stay tuned!