Category Archives: Engineering

Reminder: Upcoming classes at TechShop

led micro-readerboard   Blinkylights1

Build your own LED Micro-Readerboard this Satuday (6/30, 1:00 PM) at TechShop. It’s a single class where you choose phrases for and solder together your own LED Micro-Readerboard. As a new option: you can choose to make yours an AlphaPOV display! This class is a fun first introduction to what you can do with a microcontroller– where you make a neat toy that you get to take home. (Kids can take this class too, assuming that you’ve already taught them to solder.) Sign up here.

A week later, “Choosing a Microcontroller” (7/7 @ 1:00 PM) is a detailed seminar on the capabilities of microcontrollers and walks you through the process of finding one for your application. Sign up here.

AlphaPOV: An alphanumeric persistence of vision display

AlphaPOV4

You have probably seen persistence of vision (POV) toys at some point– little LED dot-matrix displays that, when waved around, display a picture or a message that seems to hang in mid air. We’ve been playing with 16-segment LED displays lately, and it some point it occurred to us that we’d never seen an alphanumeric POV display. So, we went ahead and tried it out, and hey– it works! AlphaPOV is the result. It’s a neat effect since the clearly defined segments– designed for text– introduce a certain degree of legibility into the display.

The starting point for building this project is our LED Micro-Readerboard. Normally, the micro-readerboard shows one character at a time, so that you can read it sequentially while holding it still. Here, we use a (very slightly) modified version of the firmware that blinks the characters on and off at high speed. Read on for details, AVR source code and a few more pictures.
Continue reading AlphaPOV: An alphanumeric persistence of vision display

Resources for getting started with AVRs

This is a short list of resources for getting started with AVR microcontrollers. It’s intended as a supplement to intro AVR classes that we have given. We intend to periodically update this list; leave your suggestions for additions in the comments, please. (Last update: October 2012)

First of all, these GUI installers for the GNU AVR toolchain are really excellent: Two flavors for Mac and Windows:

CrossPack (Mac – recommended solution)

MHV AVR Tools (Windows – recommended solution. Also available for Linux and Mac)

On Linux and Unix-like operating systems (Macs included) you can also follow the directions given by bdmicro (330 kB PDF) for installing the components one at a time.

Almost certainly the best place to get started is at Ladyada’s AVR tutorial. It is extensive and up to date, and it will probably be kept up to date better than most of the other resources that we mention here.

A couple of other sets of instructions and reference guides:

Some notes on hardware:

A few interesting examples of AVR source code:

  • TV-B-Gone, the open-source version.
  • Gobs of other good examples at Ladyada.net
  • Procyon AVRlib by Pascal Stang. Open-source C libraries to do all kinds of things– some quite advanced.

Our own articles about and using AVR microcontrollers:

  1. An AVR-based Analog Plotbot with an E-Paper Display
  2. Quick and Dirty D to A on the AVR: A timer tutorial
  3. Fixing a bad frequency fuse bit on an AVR
  4. Resources for choosing a microcontroller
  5. Programming the Atmel ATtiny2313 in Mac OS X (only partly Mac specific– but mostly out of date. Some hints about programmers, programming, and target boards.)
  6. How to make high-tech LED decorations for the holidays
  7. LED Micro-Readerboard, version 2.0
  8. LED Micro-Readerboard, version 2.0: FAQ File (with hints about programming)
  9. Instructables: Micro-Readerboard Build
  10. Using AVR microcontrollers: Minimalist target boards
  11. The Adafruit Industries USBtinyISP kit
  12. Using an ADXL330 accelerometer with an AVR microcontroller
  13. AlphaPOV: An alphanumeric persistence of vision display
  14. MiniPOV Cylon firmware
  15. Make a Robotic Snap-O-Lantern!
  16. Peggy, A Light Emitting Pegboard Display
  17. Solid freeform fabrication: DIY, on the cheap, and made of pure sugar
  18. Meggy Jr RGB
  19. POV Lissajous figures
  20. Resurrecting Tennis for Two
  21. Business card breakout boards for ATmega48/88/168/328
  22. Scariest Jack-o’-Lantern of 2008
  23. Simple Solar Circuits
  24. The Mignonette
  25. Peggy 2.0
  26. Single Sided Circuit Board with an ATtiny2313
  27. Business card breakout boards for ATtiny2313
  28. Basics: Serial communication with AVR microcontrollers
  29. Giant 7-segment displays
  30. Deluxe LED Menorah
  31. The Larson Scanner
  32. The Rovin Pumpkin
  33. The Bulbdial Clock
  34. Using an ADXL335 accelerometer with an AVR microcontroller
  35. Mac Sleep Light Pumpkin
  36. Octolively Interactive LED panels
  37. ISP Shield for Arduino
  38. Reading and writing flash contents
  39. Sharing target boards
  40. On the design of the Bulbdial clock
  41. Diavolino
  42. Interactive Game of Life Exhibit
  43. Say Hello to xmega
  44. Blink an LED with an AVR
  45. The Art Controller

Using AVR microcontrollers: Minimalist target boards

USBtinyISP and simple target

This is a quick how-to guide on making ultra-simple development boards for programming AVR microcontrollers. Most recent-vintage AVRs can be programmed through an ISP (in-system programmer) connection; all that is really needed is a place for the chip to sit and a way to connect to the programmer.

That’s where these minimalist AVR “target boards” come in. These little boards cost only about $2 and take only a few minutes to make.

It turns out that I build a lot of these because asking “how do you make a circuit to program the AVR?” is really the same as asking how you can program an AVR that is in a circuit. And, we might as well start with a simple circuit.
Continue reading Using AVR microcontrollers: Minimalist target boards

The Adafruit Industries USBtinyISP kit

USBtinyISP, assembled

This week I’ve been trying out a new low-cost AVR programmer from Adafruit Industries, and it looks like a winner. The USBtinyISP AVR Programmer is an open-source, USB, in-system programmer (ISP) that you can get as a kit for $22. The design is simple, straightforward and fairly easy to assemble. It also manages to incorporate a couple of important features that I have found to be missing from the low-end USB AVR programmer from Atmel, the AVRISP MkII, while coming in at only half the price.

Continue reading The Adafruit Industries USBtinyISP kit

LED Micro-Readerboard, version 2.0

 

LED Micro-Readerboard spells out MAKE

We’ve just finished updating the LED Micro-Readerboard (formerly the micro-readerboard LED ornament) to version 2.0. This version features longer battery life, the use of a standard common-cathode LED display, and a new set of phrases including optional holiday phrases. It’s an open-source project so you can download the code, order some parts, and go to town.We are also making it available as a kit, exclusively through the Make Store. The kit features a remarkable high-intensity LED display that enables vastly improved battery life.

Continue reading LED Micro-Readerboard, version 2.0

The Flying Spaghetti Monster, on toast

four FSMs

One of the things that we kept hearing as a comment about our CNC toast story is that we really should be printing the Virgin Mary on grilled cheese sandwiches, or something like that.

As it turned out, by the time that we actually wrote about our toasting, we had already moved on to bigger and (probably) better things, like printing sugar. Since we were rushing to get ready for Maker Faire, we didn’t get a chance to make more creative toast.
But, Maker Faire has come and gone, and we’ve finally got our machine reassembled, and so here we are toasting again. Believe it or not, this is actually a step in the right direction for CandyFab as well, because these were printed at 20 DPI, already an improvement with four times as many pixels as our previous batches at 10 DPI. These four Flying Spaghetti Monster images on toast are adapted from the original artwork in pencil, by Bobby Henderson.

Oh yeah, and I put one of them on eBay. =D

Learn about microcontrollers at TechShop

 

Coming up real soon now: Three microcontroller-oriented classes, on Saturday afternoons at TechShop, at different levels of skill and with different emphases:

 

 

  • Sat. June 9, 1:00 PM: Make a Micro Readerboard
  • Sat. June 16, 1:00 PM: Introduction to AVR Microcontrollers
  • Sat. July 7, 1:00 PM: Choosing a Microcontroller

The classes are held at TechShop, a San Francisco Bay Area “open-access public workshop,” located just off of 101 in Menlo Park, where you can go use a wide range of tools to make things, and take all kinds of classes.
   
Make a custom LED Micro-Readerboard

Next Saturday, June 9, I’ll be giving a fun little class, suitable for anyone with a bit of soldering experience (even youngsters), where you can customize the phrases in and assemble an LED Micro-Readerboard. It’s a cute little thing that spells out a preprogrammed messages (e.g., your name), one letter at a time, on a single-character alphanumeric display. These are much like the ones that we programmed to be holiday ornaments a few months ago, but these are actually extra-spiffy version 2.0 micro-readerboards with higher brightness and better battery life. And, if you take the class, you get to choose what messages to put on your readerboard and take it home. It’s a neat, self-contained project that’s a great example of what you can do with a little AVR microcontroller.

(UPDATE: Second class added on June 30, also at 1:00 PM.)

And speaking of AVR Microcontrollers….

 

ATtiny2313

Introduction to AVR Microcontrollers

Saturday, June 16, 1:00 PM

You may have noticed that a number of our interesting projects are based around AVR microcontrollers. AVR microcontrollers are powerful and inexpensive single-chip computers that are available in a wide range of sizes. They also happen to be remarkably easy to program in C, using entirely free and open-source tools that run on Macs, Windows, and Unix-like operating systems. In this practical introduction to AVR microcontrollers, we’ll take it from the beginning so that you can go home and use AVRs for your own cool projects. Some topics to be covered include: different types of AVRs and how to pick one, what kinds of programmer you should get, how to install the software tools, how to get started actually programming them, and how to download and run your code on the microcontroller.

Choosing a microcontroller

Finally, on July 7, I’ll be giving a repeat of this introductory microcontroller class, called Choosing a Microcontroller. This large-format seminar is designed to be a broad introduction to the capabilities and variety of single-chip computers, as well how to actually pick one for a given application. It’s easy to get overwhelmed looking at the variety of range of micros, from four-bit micros that have a 4-bit wide data path — and actually cost four bits— to AVRs and PICs, basic stamps and Arduinos, to 32-bit gorillas with names like ARM, Blackfin, and Coldfire. So, we’ll try and cut through the fog and help you figure out where to get started.

If you’ve heard people getting excited about or doing cool things with microcontrollers and want to learn more, this might be a great introduction to the field.

Sign up for these and other TechShop classes here.

(By the way, it’s hard to tell what types of things people want to learn about. So, if you have suggestions for other classes that you’d like to see taught by the Evil Mad Scientists, you can E-mail us or leave comments here or in the forums.)