Skip to content
Feb 2 11

Beta test for Wayne and Layne!

by Wayne

Free hardware!

We’re looking at producing some of our upcoming kits in vast vast numbers (for us), and to reduce our risk, we want to get the hardware in a bunch of people’s hands to see what they think.

We hope to send out some hardware to folks within a few weeks, have them build our kit, play with it for a little bit, and then have them give us some feedback.

The kits are blinky and awesome, and should take less than an hour to assemble and less than half an hour to play with.

To do so, we made a little form for folks to apply. Don’t feel intimidated by the questions–we’re looking for a wide batch of folks, not just the ones with the most experience.

We’re looking to make our decisions soon, so don’t delay! The form shouldn’t take more than a few minutes to fill out.

Wayne and Layne Beta Test Application

Jan 16 11

Playing Pong on the Video Game Shield with Potentiometers

by Layne

We recently received quite a lot of requests for a video game that doesn’t need Wii controllers. This afternoon I took ten minutes and adapted our popular two-player PONG game to use two potentiometers as controllers, instead of the Wii Nunchucks. The potentiometers will be connected to the Arduino’s analog inputs 0 and 1.

Connect 5v, 0v, A0, and A1

I used two trimmer-style potentiometers mounted in a breadboard. These potentiometers have three leads, and the center lead is commonly called “the wiper”. Connect the other two pins to 5v and Ground, and connect the wiper to analog 0 / analog 1. As the potentiometer is turned, the wiper will have a voltage between 0 and 5 volts, which is measured by the Arduino’s analog inputs 0 and 1. These measured analog voltages are then digitized and used to position each player’s paddle.

Potentiometers

The new sketch, tv_2p_pong_potentiometers, is now available in our regular library zip, as well as on github.

Jan 10 11

Arduino Tetris on the Video Game Shield

by Wayne

Myles recently ported an open Tetris clone to the Arduino. We added support for the Nunchuck (so now it works with both the Nunchuck and the Classic Controller) as well as music!

It’s available in our regular library zip, as well as on github.

Buy the Video Game Shield add-on for the Arduino for $22.50 in the Wayne and Layne store today!

Arduino Tetris on a Video Game Shield

Jan 2 11

Wayne and Layne featured in MAKE’s Favorite Makers of 2010

by Wayne

We were delighted to be on a year-end 2010 list from MAKE Magazine!

And don’t get us wrong, we’re not voting these folks as “the best makers” or anything. It’s not a competition. But as Phil said about Mitch Altman, an already well-known maker who we decided to single out anyway (see below), they represent “the best of us.” For all of these people, their seemingly boundless curiosity, resourcefulness, experimental approach to life, their not being afraid to fail, and their overall spirit of adventure and dedication to the joy of making, is what makes them representative of that better part of us all.

Wayne & Layne — In 2009, no one knew who Wayne and Layne were — or as their mommas call ’em, Adam Wolf (right) and Matthew Beckler (left). They labored in obscurity, concocting all manner of ingenious projects, two of which came out this year: Their Tactile Metronome was a hit at the Bay Area Maker Faire. It’s a “learning drum” that listens as you tap a beat onto the PCB, then continues the rhythm you just tapped out. Their Video Game Shield was introduced at the World Maker Faire in New York, and quickly became one of the hot kits of the fall, with everyone from the MakerBot holiday store to the Maker Shed, to Adafruit and Sparkfun offering the shield. A little bird told us W&L’s next offering is imminent. Can’t wait, can’t wait! —John B

Best of Make: Online 2010 — Makers: The best of us

Jan 2 11

“Arduino Video Game Shield/Christmas Stuff” video

by Wayne

I noticed this video by MisterReplicant a few days ago. It’s entitled Arduino Video Game Shield/Christmas Stuff, and a large portion of the video is him showing a constructed Video Game Shield.

We’ve sold hundreds and hundreds of Video Game Shields over the last few months, helping people use their Arduino to make video games, control their television, or take Wii controller input. Why don’t you take a picture or write up a little description of what you’ve done, and send it our way! We’ve got forums, but we’ll also gladly link to your video or writeup somewhere else.

Jan 1 11

Happy New Year!

by Wayne

2010 was quite an eventful year here at Wayne and Layne–but here’s hoping for double the nerdery in 2011!

Jan 1 11

Conway’s Game of Life on the Video Game Shield

by Wayne

We’ve had an implementation of Conway’s Game of Life on the Video Game Shield since day one, and we’re pretty proud of it. It’s got just about all the features we want. It’s controllable by a Wii controller which lets you pause or single step through the cellular automata. We also have a menu system, where you can randomise the field, or load a saved pattern out of the flash memory. It comes with 7 patterns already built in.

Today, we’re releasing an open source webapp (and some Python CLI stuff) called Lifeconvert that lets you take a Life 1.06 file and convert it to be copy-and-pastable into the Arduino sketch, in order to add your own patterns to the program.

If you wanted a turn-key Game of Life to display on anything that takes NTSC or PAL input, the Video Game Shield is it!

How to put custom patterns into the Video Game Shield Game of Life Arduino Sketch

What we’re going to do is take a Life 1.06 file, convert it through http://lifeconvert.wayneandlayne.com into the form of our Pattern struct, paste it into the right place in Patterns.h of our tv_life sketch, and then update the patterns[] array to point to the struct we just added.

Go to http://liveconvert.wayneandlayne.com. Upload a new pattern or use an example. You can also find plenty of Life 1.06 files in the LifeWiki’s Pattern category. They’re usually available for download in the sidebox of a given pattern article.

Lifeconvert Webapp

The website draws the pattern, and puts the converted struct data at the bottom.
output of lifeconvert

Copy everything after the image.

Start the Arduino program on your computer. Open up tv_life from the VideoGameHelpers example directory. Save it with a new name, maybe in your sketchbook. This way, when you make changes, if you mess something up, or just want to go back to the original, you can go back to the examples and the original will be there.

Go to the Patterns.h tab.
Patterns.h in the Arduino interface

The file will be pretty long! If you scroll down, you’ll notice that the bulk of the file is comments and structs. These structs are the life pattern data, and they’re stored in Flash memory. They don’t use up your RAM, which is limited to 2kB on most Arduinos (the ‘328 ones), but instead are stored in the program memory, which is limited to around 30kB on the Arduinos that use the ‘328 chip.

To replace one of the built-in patterns with your own, click below the line that says

#define NUM_OF_PATTERNS 7

and paste your clipboard. You should see a bunch of new stuff, which is what you copied from the Lifeconvert web page.

At the top of what you pasted in, you should see a line like

const Pattern big_s PROGMEM = {

The part “big_s” is the name, and it should be related to the pattern name you put into the lifeconvert site.

Scroll down to the bottom of the Patterns.h file.
Bottom of Patterns.h

Edit patterns[] array to have the name of your pattern in it. Make sure to make it look like the rest of the array, with the (const Pattern*) &. Remove one of the patterns you don’t want to keep, and you’re done!

Upload to your board. Press the C button to enter the menu, scroll to “Load Saved Pattern”, and the name of your pattern should show up! Select it, and sit back and enjoy.

As always, we’d like to hear any comments, concerns, rants, or ransom demands you may have.

Dec 19 10

Nice drawings of the Arduino UNO and Mega 2560

by Layne

If you’re looking to make your own shield for the Arduino platform, you’ll definitely need to know where all the pins and holes are located on the Arduino. After doing a quick search, I was unable to find an accurate technical drawing of the new Arduino UNO and Arduino Mega 2560.

Using the PCB design files available at the Arduino hardware website, I created a detailed technical drawing of both the Uno and Mega 2560. The drawings are available in vector-based SVG format, but low-resolution PNG files are shown below (click for larger versions). All drawings are released into the public domain, but let us know if you find any mistakes or have any suggestions or updates.

(If you just click on the SVG file link, the image will probably show up very small in your browser window. If you save the file and instead open it with an SVG editor such as Illustrator or the very awesome, Free and Open Source Inkscape vector graphics editor, you will be able to enlarge the image. The image is so “small” because I scaled the image to be 1 pixel = 25 mil, to make it easier and more accurate to draw.)

Update 1: The drawings have been updated to be more consistent, and with absolute coordinates. Thanks to those who wrote in with suggestions.

Update 2: The UNO drawing has been updated to fix some incorrect numbers on the lower-right corner detail, and fixed the location of the ICSP header to match exactly the goofy position it has on the real PCB design. Many thanks to Ryan Mulligan for his comments below with the bug fixes.

Update 3: The UNO and Mega 2560 drawings have been updated to match the newest rev3 PCBs. They added two extra pins each to the left edge of the top and bottom left header blocks.

Update 4: I have added very high-resolution PNG renderings of these two SVG drawings. Arduino UNO 5000×3515Arduino Mega 2560 5000×2642

Update 5: Arduino fixed the location of the ICSP header on the Uno layout to match the location on the Mega (2505x 1200). Thanks to Neal G. for the heads-up.

Dec 6 10

Strange behavior with Arduino preprocessor

by Layne

While working on a complicated and awesome sketch for the Video Game Shield, we’ve run into what looks like a minor bug in the Arduino software. It seems like the pre-preprocessor is a bit greedy, and will include libraries even if their #include statement is protected by an #ifdef #endif preprocessor block.

Here’s a quick example sketch to demonstrate the seemingly-incorrect behavior. I tested this with Arduino-0021 on Ubuntu Linux 10.10. Shift-click on the Verify button, and you can see in the compiler output that both the EEPROM and Servo libraries are getting compiled and included in the project.

#define USE_SERVO

#ifdef USE_EEPROM
#include <EEPROM.h>
#endif

#ifdef USE_SERVO
#include <Servo.h>
#endif

void setup(){}
void loop(){}

If anyone knows why Arduino is behaving in this way or how to work around it, please leave a comment! Thanks!

Dec 3 10

How to build Kicad on Ubuntu

by Layne

Final update: These directions are exceptionally out of date. Follow the official guide here: https://dev-docs.kicad.org/en/build/

Update: Looking to run the latest and greatest version of Kicad on your Ubuntu computer, but don’t want to mess about with compiling it yourself? Look no further, we’ve set up a PPA for Ubuntu with the newest Kicad automatically compiled each night.

Update 2: It looks like you need to install the “bzrtools” package now, to enable the “patch” command for bzr. Something along the lines of “sudo apt-get install bzrtools” should do the trick on a Debian-based distro. I updated the commands below to install bzrtools.

Wayne and Layne are big fans of Kicad, a suite of high-quality, open-source tools for designing circuit schematics and printed circuit boards. Since development is very active, with awesome updates nearly every day, we like to keep up-to-date with the most recent version. The best way to stay current is by building the software yourself from the source code in the repository. The official Kicad docs are a bit lacking in a complete guide on how to build Kicad from source using a modern Ubuntu Linux, so here is a quick guide we wrote up. This was tested on a fresh install of Ubuntu 10.10 on i386.

Please note that most people won’t need to follow this procedure in order to use Kicad. Prebuilt packages are available from most major Linux distributions, and installers are available for Windows and OSX. However, some people (like us) want to run kicad with brand new updates or contribute to the code. If that sounds like something you want to do, here’s how you do it.

read more…