AVR Programming 02: The Hardware

You may be able to write the most eloquent code in the history of embedded systems but without a way to run it on the hardware it will be worthless. In this installment of the tutorial series we will:

  • Look at some of the available AVR programmer options
  • Place the microcontroller on a breadboard and connect it to a power supply and a programmer.
  • Use programming software to send some example code to the microcontroller

If you missed Part 1 take a few minutes to review that portion of the tutorial and then join us after the break.

Series roadmap:

Continue reading “AVR Programming 02: The Hardware”

Portable Password Vault

This little box remembers all of your user names and passwords. Inside you’ll find an Atmel AT89S5131 microcontroller which has built-in USB capability. When the box is plugged into a USB port it identifies as a keyboard. Manipulating the buttons on the top and side will select and print out various stored usernames and passwords. Passwords are generated on-chip from a random seed and the device itself requires a passcode after power up as a security feature.

[SigFLUP’s] included a pretty nifty configuration algorithm. It doesn’t rely on a terminal connection, since the device is a keyboard you can communicate with it in an editor window (which should make it platform independent). There’s no code available, but trying to write your own to the spec outlined in the demo after the break will make for a fun weekend project.

Continue reading “Portable Password Vault”

FPSLIC Powered LED Matrix

[Mathieu] built this display in hopes that he can play pong on it. You can imagine the headache that awaits when trying to figure out how to drive the 6144 bi-color LEDs. I must have worked out because the thing looks great in the video after the break. The solution he chose was a bit unfamiliar to us though. He used a Field Programmable System Level Integrated Circuit produced by Atmel, or FPSLIC. This is a kind of mash-up of components we’re more accustomed to.

The AT94K is a single chip that houses an 8-bit AVR microcontroller, and FPGA, and SRAM. This project uses that FPGA to handle the multiplexing of the display via code written in VHDL. The AVR core receives data via a USB port, stores two images in the SRAM (one for each LED color), and then outputs it to be drawn on the display. On second thought, this project sounds like fun and it’s a great way to get start learning that VHDL you’ve been putting off. Continue reading “FPSLIC Powered LED Matrix”

32-bit ARM7 Gaming rig

Are you hardcore enough to build your own 32-bit ARM powered gaming console AND use point-to-point soldering to accomplish this? [Craig Bishop] did just that when building his GameSphere console project. First thing’s first, click through the jump and watch the game play video. He wrote that game in the C language in less than a day which in itself is quite remarkable. On the hardware side of things he’s got an interesting mix; an Ateml AT91R40008 chip drives this system with PIC 18F4682 for VGA signal generation and a PIC 18F2685 to interface with the N64 controller. We like what he’s done so far and would love to see this end up in its own game cabinet. Continue reading “32-bit ARM7 Gaming rig”

Human Tetris: Object Tracking On An 8-bit Microcontroller

Elaborating on an item previously mentioned among last weekend’s Cornell final projects list, this time with video:

For their ECE final project, [Adam Papamarcos] and [Kerran Flanagan] implemented a real-time video object tracking system centered around an ATmega644 8-bit microcontroller. Their board ingests an NTSC video camera feed, samples frames at a coarse 39×60 pixel resolution (sufficient for simple games), processes the input to recognize objects and then drives a TV output using the OSD display chip from a video camera (this chip also recognizes the horizontal and vertical sync pulses from the input video signal, which the CPU uses to synchronize the digitizing step). Pretty amazing work all around.

Sometimes clever projects online are scant on information…but as this is their final grade, they’ve left no detail to speculation. Along with a great explanation of the system and its specific challenges, there’s complete source code, schematics, a parts list, the whole nine yards. Come on, guys! You’re making the rest of us look bad… Videos after the break…

[G’day Bruce]

Continue reading “Human Tetris: Object Tracking On An 8-bit Microcontroller”

Minimalist AVR Programmer Is Just Fab!

Whether you’re burning a new bootloader to an Arduino board, or doing away with a bootloader to flash Atmel chips directly, an in-system programmer (ISP) is an indispensable tool for working with AVR microcontrollers. If cost has held you back, it’s no longer an excuse: FabISP is a barebones USB-based AVR programmer that can be pieced together for about ten bucks.

FabISP was created by [David Mellis] as a product of MIT’s Fab Lab program, which provides schools with access to design and manufacturing tools based around a core set of fabrication capabilities, so labs around the world can share results. But the FabISP design is simple enough that you don’t need a whole fab lab. It’s a small, single-sided board with no drilling required; the parts are all surface-mounted, but not so fine-pitched as to require reflow soldering. Easy!

There’s still the bootstrap problem, of course: you need an AVR programmer to get the firmware onto the FabISP. This would be an excellent group project for a hackerspace, club or school: if one person can provide the initial programmer to flash several boards, each member could etch and assemble their own, have it programmed, then take these out into the world to help create more. We must repeat!

[Thanks Juan]

Cornell Final Project List

Looking for an interesting project to do using an Atmel Mega644? Students at Cornell University have got you covered. They were required to choose, design, and build a project using the microcontroller; and this year is quite promising with video object tracking, the always popular theremins, helicopters, Potentiostats, even Pavlovian conditioned mosquitoes, and more.

Of course all the previous years are included as well, making over 350 projects total.

[Thanks Bruce Land]