Tag Archives: ATmega644

Rewind: How the Raspberry Pi looked back in 2006

“We started with a piece of Veroboard, an Atmel chip and a block of SRAM.”

When you think of DIY electronics, two boards in particular always seem to pop into mind. While there’s no shortage of ways to control and power your projects, Arduino and Raspberry Pi are undoubtedly the clear favorites to likely found at the core of most self-made gadgets. Keep in mind, both devices clearly have various uses and advantages. For starters, RPi is a fully functional barebones computer, whereas Arduino is simply a microcontroller. Despite their differences, however, they both share one thing in common: Atmel was there in the beginning, long before millions of these units were ever sold.


While we’ve previously highlighted some of the earliest Arduinos, did you know that Eben Upon actually began devising the Raspberry Pi with a piece of Veroboard, a block of SRAM, and yes, an Atmel chip? (Shoutout to the good ol’ STK500 eval kit!) A while back, the creator of the $45 PC demonstrated how he built one of his homemade prototypes nearly 10 years ago today, prior to giving up on DIP, through-hole components and the stripboard.

This model, which we’ll call the “2006 Edition,” was built around the mighty ATmega644 clocked at 22.1MHz with 512K of SRAM for data and framebuffer storage. 19 of the MCU’s 32 GPIO lines were used to drive the SRAM address bus. Clearly, one noticeable disparity is that the decade-old RPi lacks some of the power of its more modern counterpart. However, that is not to say this early design wasn’t impressive, it was capable of outputting a resolution of 320 x 240 and could render very simple 3D graphics.


“To generate a 320×240 component video signal, the Atmel rapidly increments the address, and the data lines are fed via 74HC-series buffers to a trio of simple summing-point DACs; during horizontal and vertical blanking, it is free to perform other operations,” Upton explains. (You can see it in action in Upton’s throwback video below.)

Want to spark some RPi nostalgia and create your very own 2006 replica? Upton has made the schematics and PCB layout available for download here.

[Image: Raspberry Pi via Eben Upton]

Uzebox is an open-source retro gaming console

Uzebox is an AVR-based console that brings back the days of 8-bit video games.

Do you remember reading comic books while waiting for your Amiga 500 to load the latest game, or the joy you felt when slipping in your first 8-bit Nintendo cartridge? We still do, and nostalgically recall a simpler time when many of the games and hardware were easy to use, easy to understand, and most importantly, easy to mod.


As previously reported on Bits & Pieces a few years ago, Uzebox is an open-source console that brings back the minimalist days of video games. Based solely an ATmega644 and an AD725 RGB-to-NTSC/PAL encoder, it uses a split software approach where sound mixing and video signal generation are done in real-time by background tasks, enabling games to be developed in C. They have over-clocked the CPU “slightly” from 20 to 28MHz, but at room temperature, so it’s really not a big deal. Beyond that, the system supports 256 simultaneous colors and four sound channels, and has a SD card interface from which games can be loaded from.


It was the brainchild of Alec Bourque, who created it with one goal in mind: “To be as simple as possible yet have good enough sound and graphics while leaving enough resources to implement interesting games.”

During last year’s Maker Faire, we had a chance to get our hands on the console as we hit the virtual 8-bit ice for a Blades of Steel battle — it was as if we traveled right back to the ‘90s. What’s nice is that Uzebox even uses standard NES/SNES controllers.


Unless of course, you’d prefer a keyboard. That’s because Bourque has unveiled his latest project that has been in the works  for quite some time: the Uzebox keyboard. The interface, which is based on the uber-mini ATtiny25, enables users to connect any PS/2 keyboard to the player 2 SNES port. With the use of SNES controller cord, the interface is so small that it can be easily embedded into an SNES plug or the keyboard itself.

Intrigued? You can check out all of Uzebox’s recent updates and games on its official website. Meanwhile, you can watch it in action below.

DIY quadcopter adoption takes off with Arduino

Analysts at IDTechEx recently reported that the starting point for Unmanned Aerial Vehicles (UAV) is rarely military or law enforcement. Rather, it lies at the other extreme – with DIY hobbyists and Makers.

“As the sophisticated sensor systems in mobile phones migrate to hobbyists’ microcontroller boards, such as [Atmel-based] Arduino boards used in their homemade quadcopters, their uses rapidly widen,” an IDTechEx explained.

“Professional quadcopters will also profit from the fact that over one million Arduino boards have been sold in a very short time to quadcopter hobbyists and the designers of wearable technology and Internet of Things (IoT) nodes.”

According to the analyst, equivalent boards sold directly out of China are also getting useful volume headed towards billions each year for IoT, driving down quadcopter costs.

“The last six months has seen many new applications for pure-electric quadcopters. [For example], Amazon proposed delivery of mail by quadcopter, others will use them for aircraft inspection, even indoors and yet others have new agricultural uses,” the analyst continued.

“[Meanwhile], easyJet, one of UK’s largest airlines, works with the Bristol Robotics Laboratory to make variants that inspect its 220 airliners. These quadcopters will be programmed to scan and assess easyJet’s planes, reporting back to engineers on any damage which may require further inspection or maintenance work.”

Last, but certainly not least, the analyst noted that professional quadcopters cost many times the price of toy versions – so they may one day become the bigger market and certainly the most profitable and many will form part of the Internet of Things.

“Advanced military capabilities such as intelligent swarming of small electric craft will also migrate to the civilian sector,” the rep added.

Self-learning ‘copter navigates with an ATmega644 MCU

Akshay Dhawan and Sergio Biagioni of Cornell University have designed a self-learning (RC) helicopter powered by an advanced machine learning algorithm paired with Atmel’s ATmega644 microcontroller (MCU).

Aside from Atmel’s ATmega644 MCU, key project components include:

  • Syma S107 Micro Helicopter
  • Custom PC Board (for MCU)
  • RS232 UART connector
  • Max233CP
  • Power Supply
  • Infrared Emitter 365-1056-ND
  • Infrared Receiver 160-1030-ND
  • Wooden platform
  • Balsa wood 24 inch dowel
  • White board (holds phototransistor circuit)

As HackADay’s Will Sweatman reports, the ‘copter is attached to a boom which restricts its movement down to one degree of motion. Meaning, the helicopter can only move up from the ground, rather than side to side or front to back.

“The goal is for the helicopter to teach itself how to get to a specific height in the quickest amount of time. A handful of IR sensors are used to tell the ATmega644 how high the helicopter is,” writes Sweatman.

“The genius of this though, is in the firmware. Akshay and [Sergio] are using an evolutionary algorithm adopted from Floreano et al, a noted author on biological inspired artificial intelligences.”

Essentially, the ‘copter creates random “runs” and then check the data. The runs that are closer to the goal are refined, while the others are eliminated in a process that emulates evolution via natural selection. In short, the project’s goal is for the ‘copter to start at Point A, go to Point C and hover. The allotted time is 10 seconds per run, with the helicopter expected to teach itself the routine as quickly as possible.

“A neural network is used to determine at what level the throttle should be at to achieve the highest Fitness Value. This network is a part of the Evolutionary Algorithm that runs in the firmware. Basically, it starts off with random values that generate random levels of throttle,” Sweatman explains.

“The values that achieve the highest Fitness Value get ‘mutated’, while the others are discarded. The mutations in the values are done at random and the process repeats. In the end, the firmware learns the best throttle levels to achieve the goal of being at Point C for the longest time in the allotted 10 seconds.”

Interested in learning more about the self-learning ‘copter? You can check out the project’s official Cornell page here.

ATmega644 MCU powers phased array speaker system

Edward Szoka (ecs227) and Tom Jackson (tcj26) of Cornell University have designed a phased array speaker system capable of “steering” sound around a room.

As HackADay’s Will Sweatman reports, the ATmega644-powered platform samples a standard audio input signal at approximately 44.1 kHz via 12 independently controllable speakers – each with a variable delay.

 Simply put, the angle of maximum intensity of the output wave can be shifted by adjusting the delay at precise intervals.

“Phased arrays are usually associated with EM applications, such as radar. But the same principles can be applied to sound waveforms,” Sweatman explained.

The basic idea behind a phased-array? By changing how the speakers are driven, the angle of the maximum intensity of the output wave can be shifted.

“This type of array was built to be able to support various other more advanced design challenges, including longer-range acoustic modem transmission and sonar imaging,” they added.

Interested in learning more? You can check out the project’s official page here and HackADay’s write up here.

High altitude balloon tracking with the ATmega644

A Maker by the name of Ethan (and team) recently designed a low-cost open hardware/software high altitude balloon tracker with sensors that effectively form a mesh network with a master node.

The above-mentioned platform – powered by Atmel’s ATmega644 microcontroller (MCU) – is equipped with an onboard GPS module (NEO-6M), a micro SD card slot, a 300mW APRS (144.39MHz) transmitter and convenient headers to plug an XBee radio.

As HackADay’s Mathieu Stephan notes, the hardware is tasked with obtaining wireless data from various slave platforms, storing it in the uSD card while transmitting the balloon position via APRS along with other data.

“It’s interesting to note that to keep the design low-cost, they chose a relatively cheap analog radio module ($~40) and hacked together AFSK modulation of their output signal with hardware PWM outputs and a sine-wave lookup table,” Stephan explained. “The slave nodes are composed of ‘slave motherboards’ on which can be plugged several daughter-boards: geiger counters, atmospheric sensors, camera control/accelerometer boards.”

Interested in building your own Atmel-powered modular high altitude balloon tracker with mesh networked sensors? You can check out the project’s official page here.

Video: Atmel’s ATmega644 powers this Nickelphone

A Maker by the name of Tyler Bletsch has created a keyboard that redefines the notion of “coin-operated.” Yes, the Nickelphone can emit square wave tones via a piezo buzzer, although the 25-key piano is really designed to function as a MIDI keyboard capable of driving a full synthesizer.

According to the HackADay crew, Bletsch selected Atmel’s ATmega644 as the “brain” because it is Arduino-friendly and boasts a total of 32 data pins – allowing him to assign each key its very own pin.

“Each coin was soldered to its own wire and connects up to a 1MΩ resistor array,” explained HackADay’s John Marsh. “Coin-presses are recognized by the simple capacitive sensing technique outlined here, but [Tyler] needed to take advantage of a workaround to accurately detect multiple presses.”

Interested in learning more about Tyler’s ATmega644 -powered Nickelphone? You can check out a detailed project guide and related source code here.

Atmel’s AVR ATmega644 powers this 8-bit retro gaming console

Written by Andreas Eieland

Do you remember reading comic books while waiting for your Amiga 500 to load the latest game, or the joy you felt when the first 8-bit Nintendo hit the streets?

© Bill Bertram 2006, CC-BY-2.5

I still do, and nostalgically remember a time when many of the games and hardware were simpler (streamlined), easy to understand and mod. I guess I’m not the only one who appreciates that the Amiga was equipped with sockets for the biggest components, making them easy to swap in and out.

Clearly I am not alone with my nostalgic thoughts, as a couple of years ago we had a “retro data party” at the Atmel office and people showed up with all kinds of old, dusty machinery. After drinking some beers and borrowing some components from our apps-lab we had almost all of them working and playing our old favorite games.

Now there is someone who has taken this concept a bit further with the creation of an open source 8-bit retro minimalist game console which is based on an Atmel’s AVR ATmega644.

The project is called the UZEBOX. It is easy to put together if you do not want to build the hardware from scratch, and uses a split software approach where sound and video generation are background tasks. Meanwhile, the games end-users develop in C exploit the complete interrupt system and numerous other resources. They have over-clocked the CPU “slightly” from 20 to 28MHz, but at room temperature, and not used in a life critical application like an airbag controller or Airline autopilot, this is really not a big deal.

As you can see above, there are several videos of the games on YouTube, and the UZEBOX crew even has a game design coding challenge going on right now.