Update: Microtouch The 8-bit Ipod Touch

It looks like [rossum] and [Ladyada] have teamed up and been busy working on the microtouch. Since we covered it last year its had a few minor improvements like an upgrade to the ATmega32u4 microprocessor and some new software. The new and improved microtouch also features an accelerometer as well as some software to go along with it. Plus its now for sale on adafruit for about a quarter the price of an ipod touch (just in case you don’t feel like making your own).

For the unaware the microtouch is a lightweight AVR based ipod touch. It comes with a bootloader which allows you to download your “apps” to the microtouch without the need for an AVR programmer. While it may lack some of the computing power and features of the ipod touch (like music), the microtouch is definitely appealing for its open hardware/software and easy to use touch screen.

SNES Arcade Controller

[Daniel] is making a mini arcade cabinet with an SNES housed inside. He wanted to build an arcade controller for it and chose to construct something from scratch instead of destroying an original piece of hardware. We can almost feel you guys sighing with relief at that one. He sent us some nice photos of his build and pointed out that he’s using one of the Evilmadscientist AVR boards housing an ATtiny2313. The arcade buttons are readily available at sparkfun. The source code for this project is available after the break.

Continue reading “SNES Arcade Controller”

AVR: The Facts About Flash Memory

Here’s a nice little discussion about reading and writing AVR flash memory that [Windel] put together. He’s using an In System Programmer to read the flash memory from an ATmega328 using AVRdude, the programming software which we used in our AVR Programming Tutorials. He covers the particulars of the commands, how this might be useful, and finishes up with the gotcha’s involved in reading back code from the chip. We recently tried this out with that LED light bulb but were unsuccessful because the lock bits on the ATtiny13 chip had been set in order to protect the firmware from our prying eyes. Hopefully you’ll have more luck with these methods.

512 LED Cube

Get out the soldering iron and clear your schedule, it’s going to take you a while to assemble this 8x8x8 LED matrix which contains a total of 512 LEDs. We’ve looked in on a 3x3x3 cube, and [Chr], who is responsible for this one, has assembled a 4x4x4 cube before, but this one is quite a leap in complexity. It isn’t just physical assembly problems that increase with scale, you’ll need to consider a power supply too since one layer of a 3x3x3 cube would need at 90 mA, but a single layer of the cube above requires 640 mA to light all of the diodes. Multiplexing is handled per-layer, controlled by  ICs which share 8 data lines and are latched by a shift register. This means the display only requires 11 microcontroller pins for addressing. It is striking how well [Chr] explains the design process, and how cleanly he builds the driver circuits on protoboard. There’s a lot to look at and a lot to learn, not to mention the stunning results which can be seen in the video after the break.

Continue reading “512 LED Cube”

External RAM For An ATmega128

Those who are familiar with Atmel’s line of 8-bit AVR microcontrollers should already know that some of them have support for external RAM. But have you ever actually used this feature? We haven’t. Now you can learn how it’s done by reading through this guide. It touches on all of the hardware, but doesn’t dwell on it. Instead, you’ll get the background you need on how to write to, read from, and test an external module like the one sticking up in the image above. The test routine shows how to make sure everything’s working correctly with your memory mapping before you begin developing firmware around this increased capacity.

[Thanks Spman]

Make Your Own Minimalist AVR ISP

Giving a programmer is a great way to get people started in microcontrollers so If you want a cheap simple AVR programmer this might just be what you’re looking for. It combines the V-USB firmware, USBtiny software, a few resistors, and some zener diodes. An interesting trick using this programmer is if your trying to program another 8 pin ATtiny you can use some tape to isolate the USB data pins and then piggyback the target ATtiny on the programmer.

Unfortunately in order to flash the ATtiny for your programmer you need a working programmer so it’s somewhat of a catch-22.  Make sure your careful when setting the fuse bits because it will use the reset pin making it hard to reprogram without additional programming hardware. AVRs in general are a great way to start using microcontrollers so if your interested give out tutorials a go. You’ll find some tips to get started in addition to information about using an Arduino, or a DAPA cable to flash the firmware to this chip.

AVR HV Rescue Shield 2

[Jeff Keyzer] has a new version of the HV Rescue Shield available. This tool allows you to use an Arduino to reset the fuse bits on AVR microcontrollers. This is necessary if you make a mistake and disable the reset pin, or choose the incorrect clock settings (this will probably happen to you at some point). In order to bring the chip back to life you’ll need to use High Voltage Programming. The last version of the shield only worked with High Voltage Parallel Programming (HVPP) but this rendition can also use High Voltage Serial Programming (HVSP) for 8-pin chips that don’t have enough inputs for parallel communications.

As we talked about in our AVR Programming Tutorials this is no replacement for a high-end programmer like the STK500 or an AVR Dragon, but if you already have an Arduino a kit will only cost you $20 (or you can etch and build it yourself). We would have liked to see a breakout header for the HVP signals for off-board use. The absence of a breakout header doesn’t preclude this, but since you need the on board boost converter for the 12V signals, and because this shield can’t be used with a breadboard due to pin spacing, it’s hard to patch into signals for non-DIP use. We also think some clever firmware hacking and this could be used for HV programming, like we needed for that LED light bulb.