Tag Archives: ATmega1284p

There’s nothing BASIC about this homebrewed computer

Just when you think you’ve seen everything with AVR microcontrollers here at Bits & Pieces, the 8-bit ideas just keep on coming! A Maker by the name of “Dan” has introduced an ingenious new innovation, a homebrew 8-bit computer running BASIC using a single ATmega1284P MCU.

7317351408619307480

Dan’s sleek design has the ability to generate composite video supported by multiple screens, as well as read PS/2 keyboard input. Running a slimmed down version of the BASIC language, called TinyBASIC, the 8-bit computer boasts over 7kb of SRAM which is available to write programs, while an 8KB EEPROM card (connected to the storage header) can be used to save full-size programs.

According to the Maker’s Hackaday page, “Many GPIO pins are available allowing connections to components such as LEDs, potentiometers, sensors and much more. A L7805 regulator is used to make the system more flexible with the power supply which can be used (compared to using no regulator at all) to power the system such as a 9V wall-mounted transformer or a 12V battery.”

5946021408036181601

“The computer is easy to assemble at home as all components are through-hole,” Dan notes on the simplicity of this design. “Once all the components from the component list have been gathered, they can all be soldered into place and the system is then ready for use. Simply connect a TV, PS/2 keyboard and power source such as a PP3 battery or wall-mounted PSU. If an EEPROM card is connected, set the jumper to the ‘C’ position to allow BASIC programs to be saved to the card or if internal EEPROM is going to be used, set the jumper to the ‘I’ position (note, the jumper is the same as the type used for IDE hard drive pins used to select master or slave mode so they can easily be found within old computers).

This protoype is an easygoing introduction for Makers looking to become familiar with the BASIC language and homebrewed computers. Inspired Makers can view Dan’s full Hackaday tutorial here.

ATmega1284P powers this gesture-based security lock

A team of Cornell University students has designed a security lock that 
opens after verifying a stored gesture pattern.

“The idea is to create a box like assembly, in which the user places his hand, makes a defined gesture and unlocks the system. Basically, there is a mechanism that allows the user to save a gesture pattern,” a team rep wrote on the project’s official page.

“Once that is done, the system goes in lock state. When the user enters his hand in the box, he tries to recreate the same pattern. If he is able to do so, the system unlocks. If unable to, the system remains locked.”

According to the rep, the project was inspired by a popular mobile phone unlock feature where a user draws a pattern on the screen to activate the device.

“We wanted to create a similar system which could be used in any security application, as simple as opening the door of the house based on the gesture,” the rep explained.

 “The attractive feature of the project is that the user makes the pattern in the air and not on any surface. Also, we have given the user the flexibility of changing the pattern whenever he wishes to do so.”

The gesture-based security lock is powered by Atmel’s versatile ATmega1284P microcontroller (MCU), a custom PCB and an IR proximity sensor. Additional key components include a three-pin jumper cable, breadboard, power supply, toggle switch, push button, LEDs, 330ohm resistors, assorted wires and a cardboard frame. 

On the software side, the project employs a series of algorithms for switches/inputs, store mode, pattern matching and four channel ADC multiplexing.

“Overall, our system performs satisfactorily and can be effectively used to create a gesture-based secure unlock,” the team rep concluded. “Given more time and budget, we could have made the system 3D. Changes in the third dimension could be used to model the system, [thereby] increasing system accuracy and giving the user another dimension for creating the patterns.”

Interested in learning more about the Atmel-powered gesture-based security system? You can check out the project’s official page here and HackADay’s write-up here.

This IR theremin speaks in four voices



It’s the end of the semester for Scott McKenzie (sjm298) and Alex Rablau (ar568) – both of whom successfully participated in Cornell’s ECE4760 class with the creation of an infrared theremin capable of speaking in four voices.

As HackADay’s Kristina Pano reports, the classic theremin design employs each of the player’s hands as the grounded plate of a variable capacitor in an LC circuit.

“For the pitch antenna, this circuit is part of the oscillator,” Pano explained. “For the volume antenna, the hand capacitor detunes another oscillator, changing the attenuation in the amplifier.”

However, McKenzie and Rablau put a twist of sorts on the traditional theremin by using two IR sensors to control volume and pitch, respectively.

 Essentially, the sensors are tasked with computing the location of each hand, outputting a voltage inversely proportional to its distance from the hand. Meanwhile, Atmel’s ATmega1284P converts the signal to an 8-bit binary number for processing.

“McKenzie and Rablau built four voices into it that are accessible through the push-button switch. The different voices are created with wave combinations and modulation effects,” Panos continued. “In addition to Classic Theremin, you can play in pure sine, sawtooth and FM modulation.”

Although the duo say they are pleased with the current version of the theremin, they are looking forward to implementing further improvements.

“Future iterations of the design could bypass the pulse-width-modulation by using an external digital to analog converter for output actuation. This would free up CPU time to leave additional cycles and memory for more complicated sounds. Also, in its current state, our theremin requires an external amplifier and speaker connected through a standard 3.5mm audio jack,” the two concluded.

“In order to make our theremin truly portable, a built-in amplifier and speaker would be necessary. Furthermore, our input from the user comes in the form of a single-axis distance sensor. Movements which the user makes which are orthogonal to this axis are not seen by our theremin, and produce no response. This is the biggest discrepancy between our theremin and the real theremin, which responds to all user movements of all magnitudes.”

Interested in learning more? You can check out McKenzie’s and Rablau’s theremin here and read about designing a pseudo theremin with Atmel and Adafruit here.

ATMega1284P powers this web-logger/server

A Maker by the name of Stewart has designed a web-logger server powered by Atmel’s ATMega1284P microcontroller (MCU).

As the HackADay crew notes, the board can be tasked with collecting and posting data to logging sites such as Thingspeak or Xively.

Dubbed “Pokewithastick,” the device boasts a rather small 50x37mm footprint (approximately 2″x1.5″). Key specs include a Wiz820 Ethernet module, a micro-SD card slot, two serial ports, one battery backed Real Time Clock (RTC), one radio connector (nRF24L01 2.4GHz), one power & user LED and a reset button.

“There are two power rails on the board which can be split (5v + 3.3V) or combined (3.3v only) which may allow you to connect Arduino shields to it,” wrote HackADay’s Mathieu Stephan. “You can program the board using the standard 6-pin header or via a serial programmer if an appropriate (Arduino) bootloader is installed.”

The open hardware project was designed using Kicad, with the relevant files available for download here (.zip). Additional information about the Atmel-powered “Pokewithastick” can be found on Stewart’s project page here.

Phoenix 3D printer – powered by the ATMega1284P

The Phoenix 3D printer – powered by Atmel’s versatile ATMega1284P – is a low-cost, fully loaded entry-level printer with a heated bed, comprehensive management software and print failure recovery.

According to the Phoenix crew, the 3D printer emphasizes the software side of things, as it helps Makers manage filament and group STL files into logical groups. Perhaps most importantly, the device offers a unique feature: print recovery mode.

“3D printers are still susceptible to many flaws, including filament tangles and nozzle jams. Should something go wrong in the middle of your 12 hour print, you used to have to throw it in the trash and start over,” the Phoenix 3D printer cew explained in a recent Kickstarter post.

“With our software, we allow you to pause the print, fix your tangled filament or clogged nozzle, rewind the print to the point of failure, and try again. Our software also works directly with our iOS mobile app (Android version forthcoming).”

The Phoenix 3D printer also differs from other units in terms of its Z Axis, as it swaps the screw for a belt, facilitating optimized walls and edges without a wobble pattern.

Additional key specs include:

  • Build Area: 240 x 215 x 200 millimeters
  • Resolution: 0.1mm all around
  • 12-volt, 40-watt heater 0.35mm brass nozzle
  • Heated build platform, which means you can print with ABS!
  • 12-volt, 20-amp, 240-watt power supply
  • Integrated filament spool holder. No need to buy special or proprietary cartridges!
  • Adjustable Z-axis cutoff switch for reliable print starts

Interested in learning more about the Atmel-powered Phoenix 3D printer? Be sure to check out the project’s official page on Kickstarter.

Running a GUI window manager on an ATMega1284p microcontroller

I have a confession to make. Yes, I must admit that I’ve never thought of running a home-coded GUI window manager on an ATMega1284p microcontroller.

But that’s exactly what Andrew Rossignol did when he designed a Window Manager for an AVR microcontroller.

“I have been experimenting with a uVGA-II VGA controller for the past couple of weeks. It is an amusing piece of hardware that is capable of drawing graphics onto a VGA framebuffer,” Rossignol explained in a recent blog post.

“The VGA controller takes care of line drawing algorithms and helps to hardware accelerate the drawing of geometric primitives (squares, circles, triangles, polygons, lines). Once I realized the power of this hardware I decided to implement a window manager like you would expect on any standard desktop PC, [running] a mouse for user input to the system.”

At this point in time, the default system boots with three applications: Theme Manager, Audio Player and Window Factory. The Theme Manager is used to modify the colors of the system theme, the Audio Player to stream audio files stored on an SD card and the Window Factory to create new windows.

Software? Check out the infographics below for a quick breakdown.


Hardware? Just the basics – an ATmega1284p microcontroller, a uVGA-II VGA controller, a MAX233 level converter and a Microsoft Serial Mouse.

“I have maintained a Git repo on my laptop containing all of this code, [although] I am not 100% happy with it yet. I need to work on the UART driver some more and polish up some documentation before uploading it,” Rossignol added.