Delicious Vector Game Console Runs Pac-Man, Tetris, and Mario

The only question we have about [mitxela]’s DIY vector graphics game console is: Why did he wait five years to tell the world about it?

Judging by the projects we’ve seen before, from his tiny LED earrings to cramming a MIDI synthesizer into both a DIN plug and later a USB plug, [mitxela] likes a challenge. And while those projects were underway, the game console you’ll see in the video below was sitting on the shelf, hidden away from the world. That’s a shame, because this is quite a build.

Using a CRT oscilloscope in X-Y mode as a vector display, the console faithfully reproduces some classic games, most of which, curiously enough, were not originally vector games. There are implementations of the Anaconda, RetroRacer, and AstroLander minigames from Timesplitter 2. There are also versions of Pac-Man, Tetris, and even Super Mario Brothers. Most of the games were prototyped in JavaScript before being translated into assembly and placed onto EEPROM external cartridges, to be read by the ATMega128 inside the console. Sound and music are generated using the ATMega’s hardware timers, with a little help from a reverse-biased transistor for white noise and a few op-amps.

From someone who claims to have known little about electronics at the beginning of the project, this is pretty impressive stuff. Our only quibbles are the delay in telling us about it, and the lack of an Asteroids implementation. The former is forgivable, though, because the documentation is so thorough and the project is so cool. The latter? Well, one can hope.

Continue reading “Delicious Vector Game Console Runs Pac-Man, Tetris, and Mario”

Atmel Introduces Rad Hard Microcontrollers

The Internet is full of extremely clever people, and most of the time they don’t realize how stupid they actually are. Every time there’s a rocket launch, there’s usually a few cubesats tucked away under a fairing. These cubesats were designed and built by university students around the globe, so whenever a few of these cubesats go up, Internet armchair EEs inevitably cut these students down: “That microcontroller isn’t going to last in space. There’s too much radiation. It’ll be dead in a day,” they say. This argument disregards the fact that iPods work for months aboard the space station, Thinkpads work for years, and the fact that putting commercial-grade microcontrollers in low earth orbit has been done thousands of times before with mountains of data to back up the practice.

For every problem, imagined or not, there’s a solution. Now, finally, Atmel has released a rad tolerant AVR for space applications. It’s the ATmegaS128, the space-grade version of the ‘mega128. This chip is in a 64-lead ceramic package, has all the features you would expect from the ATmega128 and is, like any ‘mega128, Arduino compatible.

Atmel has an oddly large space-rated rad-hard portfolio, with space-grade FPGAs, memories, communications ICs, ASICs, memories, and now microcontrollers in their lineup.

While microcontrollers that aren’t radiation tolerant have gone up in cubesats and larger commercial birds over the years, the commercial-grade stuff is usually reserved for low Earth orbit stuff. For venturing more than a few hundred miles above the Earth, into the range of GPS satellites and to geosynchronous orbit 25,000 miles above, radiation shielding is needed.

Will you ever need a space-grade, rad-hard Arduino? Probably not. This new announcement is rather cool, though, and we can’t wait for the first space grade Arduino clone to show up in the Hackaday tips line.

Microcontroller Speech Synthesis Lets Your Project Be Heard

[Aditya] had a project that called for spoken output. He admits that he could have built a PC-based solution, but he found that adding speech by using a microcontroller was not only a cheap and portable alternative, it was also a fun and easy build.

His design uses an ATMega128. Many microcontrollers would work, but his major requirements were PWM generation and plenty of memory to store the file(s). The output is cleaned up in a simple low pass filter before going to the 8Ω speaker.

[Aditya] lays his tracks in WAV format and then compresses it to 8-bit/8kHz. He found a C++ function that converts the track data into a huge arrays and then digitizes it. He uses two timers, one to generate the waveform and second one to time the square wave. [Aditya] has a zip of samples available on his site that will speak the digits 0-9.

Wireless rover with Android control

android-rover

[Radu] spend the first portion of this year building and improving upon this wireless rover project. It’s actually the second generation of an autonomous follower project he started a few years back. If you browse through his old postings you’ll find that this version is leaps and bounds ahead of the last.

He purchased the chassis which also came with the gear-head motors and tires. Why reinvent the wheel (har har) when you’ve got bigger things on your plate? To make enough room inside for his own goodies he started out by ditching the control board which came with the Lynxmotion chassis in favor of an AVR ATmega128 development board. He also chose to use his own motor controller board. Next he added a metal bracket system to hold the battery pack. Things start to get pretty crowded in there when he installed his own Bluetooth and GPS modules. Rounding out his hardware additions were a set of five ultrasonic sensors (the grey tubes on top), a character display, as well as head and tail lights. The demo video shows off the control app he uses. We like that tic-tac-toe design for motion control, and that he added in buttons to control the lights.

Continue reading “Wireless rover with Android control”

AVRphone is a barebones touchscreen cellphone

This little device is a prototype cellphone based on the ATmega128 microcontroller (translated). It boasts a 2.4″ touchscreen display which serves as the keypad, and uses the SIM100S module which takes care of the GSM radio communications. But the hardware isn’t the only attractive part. Judging from the screen shots a fair amount of time went into building the user interface too.

We seem to have a bounty of cellphone builds recently. This one is quite clean, and boasts a smaller footprint, and larger screen than this barebones example. There is a white paper available if you’re interested in digging a little deeper than the overview post. But it’s written in Czech and we didn’t see a way to provide a machine translation other than copying the text from the PDF file and pasting it into a translator.

Update: Tiny line-follower and more

This tiny line-following robot is quite impressive. It’s [Ondrej Stanek’s] second take on the design, which he calls PocketBot 2. Just like the earlier version, this robot is small enough to fit in a matchbox, but it’s received several upgrades in this iteration.

The coin cells that ran the previous version have been replaced by a rechargeable Lithium Ion cell. The ATmega8 which controlled the first robot has been swapped out for an ATmega128 running at 32 MHz. You won’t find an IR receiver on this one either, it’s been traded for a Bluetooth module which adds a quantum leap in functionality. For instance, the graph in the upper left of this photograph shows the reflective sensor data readings used to follow the line.

There’s all kinds of great engineering in this design, which is shown off in the video after the break. One of our favorite parts is that the axles are attracted to the center of the robot by one rare-earth magnet. This keeps the rubber tires pressed against the motor spindles rather than use a gearing system.

Continue reading “Update: Tiny line-follower and more”

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]