Writing code is like riding a bike; it’s super easy, once you know how.
But before you know how, writing code can be scary and bewildering. There are so many things to think about. Where do you start? How do you make things happen? Read an input from a sensor? Control an output signal? What’s the proper syntax? Why won’t my code compile? Where did my code get stuck? Arrrrg! And not to mention that electrical signals aren’t easily seen or heard…
That’s where training wheels come in. By slightly constraining the set of possible actions, there’s no longer a fear of totally wiping out; it’s like a dynamic safety net that lets you move freely unless you lose your balance. And once you learn the ropes, taking off the extra wheels doesn’t seem that scary after all.
Teagueduino is about making Arduino a whole lot easier:
1. There’s no soldering required. Inputs and outputs simply snap into place.
2. Realtime programming and feedback shows the effects of changes as they are made.
3. Simple, always-valid code creation means programs always runs.
Want to make a device’s charging light breathe in a very particular way? Create haptic feedback to enhance touchscreen interactions? Use knobs and buttons to control an acoustic etch-a-sketch? How about servo mounted lasers controlled by sunlight? Or even begin experimenting with some basic DIY home automation (did someone say homemade yogurt maker?).
Teagueduino can do that, and so can you!
We work with a lot of small embedded devices built on Arduino and other similar platforms, some of them quite complex and involved… but surprisingly, the majority of the projects don’t require much fancy footwork — they’re often centered on informing a very specific aspect of a larger experience without requiring the entire system to be constructed. Teagueduino aims to empower the broader creative community to begin taking on these specific explorations because they can directly inform design decisions and are fundamentally important to the communication of those creative ideas to others.
Teagueduino comes from a long line of hacks and experiments within our design studio and across the open source Arduino/Freeduino community (particularly inspiring were LittleBits and the Grove System). While the more engineering-minded among us have been quick to dive into Arduino, it has become increasingly clear that Arduino is still too technical and daunting for the majority of other creative types just getting started. Teagueduino is our first major step toward an embedded development stepping-stone that makes building projects simple, while exposing key details (such as code syntax, electrical signal values, and physical hardware integration) that provide a scaffolding for learning more advanced systems and tools.
The realtime interpreter for Teagueduino was built on top of the Computerless Arduino. Changes include more input/output ports (8×8), additional instruction words (while, waituntil, negative constants, and random), Pause/Reset capabilities, and a bunch of minor bug fixes to increase robustness.
The Teagueduino editor makes using the Teagueduino super easy. Code and signals are viewed in realtime — what you see is exactly what’s on the board. Since each code instruction is chosen from a dropdown menu, there’s no worry of breaking your program or writing things that don’t compile (although, there’s still plenty of room for debugging when something isn’t quite what you intended). There’s also an execution pointer to show you where your your program is currently executing (super handy for infinite loops)… and, you can even edit your program while it’s running!
The Teagueduino board integrates with the Teensy++ 2.0 microprocessor, providing full USB integration for communication, 4k of EEPROM (program memory for the realtime interpreter), and a very small package size. And since the core processor of Teagueduino is Arduino-capable, users that grow beyond the limits of the system are encouraged to repurpose the board as an Arduino via the Teensyduino application.
All inputs and outputs are pre-soldered to buckled 3-pin connectors for simple plug-and-play use with the Teageuduino. The electrical connections were also potted with a non-conductive thermoplastic adhesive (hot glue!) so that fellow designers in the studio wouldn’t need to worry about shorting things out. Here’s a short list of the I/O components we included:
Buttons (small and medium), Switches (small and large), Rotary knobs (rotary potentiometer), Sliders (linear potentiometer), Light sensors (CdS LDR), Magnetic sensors (ratiometric), Temperature sensors (thermistor), Force (fsr), and Audio level (microphone with peak detector).
Outputs: Speakers (piezo), LEDs (blue, red, and tri-color), Lasers (point and line), and Servos (small and medium), Motors (via servo control), and a Switchable AC plug (power switch tail) to control higher current devices.
As always, here’s the complete source code, schematic, pcb, etc. for your enjoyment (all released as open source and creative commons). Enjoy!
54 Comments »