USB Controller For Multiple Servos

USB_controller_for_6_servos

[dunk] constructed an easy to use AVR-based USB controller with the ability to drive up to six R/C hobby servos at once.  While the USB-powered Atmega8 he used supplies the necessary PWM signaling for all of the servos, an external power supply rated up to 30v at 3A is necessary to provide the 5v of power each servo requires.  His project is an extension of the USB servo controller built by [Ronald Schaten] and includes several significant upgrades.  The addition of 5 more servos aside, [dunk] switched to AVRlib routines for multi-servo control and PWM management, as well as added the aforementioned power supply to prevent an excessive current draw on the USB port.  His tutorial includes a complete parts list, Eagle PCB schematic, the required USB servo source code, as well as a sampling of commands that can be issued to the servo controller.

STK200 Pocket Change Programmer

A common complaints of beginners to microcontroller programming is the availability of DIY tools that do not require a parallel port.  Using not much more than a couple of 74xx series chips and some protoboard, [Rue] was able to create an AVR programmer for less than the cost of some chips it can program – giving parallel programmers a run for thier money. [Rue] used Linux treat the ubiquitous PATA/IDE port as a parallel port. By having avrdude treat the programmer as an Atmel STK200, [Rue] was able to upload a blinky program to his AVR microcontroller through ISP. If anybody can think of an even lower cost unconventional solution give us a shout.

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]