Tag Archives: Adam Fabio

ATtiny84 powers this DUO Decimal SBC

Jack Eisenmann has created a number of Atmel-based homebrew computers that we’ve covered on Bits & Pieces, including the DUO tiny, DUO portable and DUO Mega.

Recently, Eisenmann debuted the DUO Decimal, an ATtiny84 based SBC.

“[This] ATTiny84 based computer [features a] 7 segment number display and 2 buttons. [You can] use the 512 bytes of EEPROM to store program code,” Eisenmann explained in a recent project post.

 “[Plus, you can] use the 512 bytes of SRAM for program data and as a code editing buffer.”

Additional key project components include:


(x1) 7 segment number display: LA-401VD (SC56-11EWA)
  • (x2) Button: 101-TS7311T1602-EV
  • (x3) 10K ohm resistor: 291-10K-RC
  • (x1) 20K ohm resistor: 291-20K-RC
  • (x1) 330 ohm resistor (7 isolated): 4114R-1-331LF
  • (x1) 14 pin chip socket: 2-641599-4 (1825093-3)
  • (x2) 3 pin male header: 69190-403
  • (optional) 5 pin female header: 929870-01-05-RA
  • (x1) Larger capacitor: UVR1H100MDD1TA
  • (x1) Battery holder: BAT-HLD-001
  • (x1) Battery: CR2032
  • (x1) Switch: MHSS1104
  • (x1) Board
  • (x1) Fuse for preserving EEPROM between programming cycles

As HackADay’s Adam Fabio points out, Eisenmann designed an entire language for the new board.

“DUO Decimal is programmed in an interpreted language called DUO Decimal Numeric Code (DDNC),” said Fabio.

”There are 47 DDNC commands, covering everything from basic math to list manipulation. Programs can be entered through the buttons, or save your fingertips by downloading them through the AVR ISP interface. The entire C code for the DUO Decimal, including the DDNC interpreter is available on Jack’s website.”

It should also be noted that Eisenmann coded several example DDNC programs, including 6 function calculator with trigonometry, a Mandelbrot set tester and even a version of the classic of the rock-paper-scissors game.

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

Old school gyroscope stabilizes two-wheeler

A gyroscope is a device for measuring or maintaining orientation, based on the principles of angular momentum. According to Wikipedia, mechanical gyroscopes typically comprise a spinning wheel or disc in which the axle is free to assume any orientation.

Although MEMS-based gyroscopes are obviously readily available these days, a Maker by the name of Jim decided to keep things old school for his classic gyro-stabilized two wheeler.

As HackADay’s Adam Fabio reports, Jim cycled through a total of five project iterations in recent months.

“Along the way he’s learned a few important secrets about mechanical gyro design, such as balancing the motor and gyro assembly to be just a bit top-heavy,” Fabio explained.

“[His] gyro is a stack of CDs directly mounted to the shaft of a brushed speed400 R/C airplane motor. The motor spins the CDs up at breakneck speed – literally. Jim mentions that they’ve exploded during some of his early experiments.”

As expected, the gyroscope can move in the fore-aft direction, with side-to-side balancing facilitated by curved tread wheels. Meanwhile, a potentiometer measures the tilt angle of the gyro, as the voltage from the pot is fed into an [Atmel-based] Arduino Uno (ATmega328 MCU) tasked with closing the loop by moving a servo mounted counterweight.

The vehicle is controlled via a typical R/C plane radio, with a servo steering the front wheel and another DC motor pulling rear wheel duty.

“Not only is [Jim’s] creation able to balance on its own, it can even make a U-Turn within a hallway,” Fabio added.

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

Video: AVR raves modded Prophet synth

Atmel microcontrollers (MCUs) have tipped up in a number of synthesizer projects over the past few months including the ATmega328 synth kit and the Atmegatron (8-bit mono).

Today, we’re going to be taking a close look at a recent AVR hack by “Gligli” that skillfully recreates the Prophet 600 – which also just happens to be the world’s very first MIDI synthesizer.

Indeed, at the January, 1983 NAMM convention, the 600 was successfully linked with a Roland Jupiter-6 synthesizer in the first public demonstration of the MIDI protocol. According to Wikipedia, the link was facilitated by a MidiMate hardware interface and MidiTrack program, both developed by Moore and his partner, Paul Rother.

Image Credit: Wikipedia

As the original 600 was powered by a Zilog Z80 microprocessor that controlled modular analog voice chips, Gligli soon discovered that most of the synthesizer’s limitations in the 600 were due to the processor. After creating a PC-based emulator to better acquaint himself with the circuits, Gligli bought a used Prophet and started hacking.

“The [AVR-based] Teensy++ 2.0 (AT90USB1286) required a few hardware mods to fill the Z80’s shoes, including cutting off a pin and adding a few jumper wires. We really like the fact that no changes to the Prophet 600 itself were required,” explained HackADay’s Adam Fabio.

“Pull out the Teensy++, drop in the Z80, and you’re ready to party like it’s 1982 again,. The new processor interfaces directly with the Z80’s 8-bit bus. Since the AVR on the Teensy has built-in RAM and ROM, it simply ignores the ROM and RAM address spaces of the original system.”

Of course, interfacing a fast micro with older parts like an 8253 timer and a 68B50 UART does require some tweaking. More specifically, the system bus has to run slow enough not to violate timing requirements of various peripheral chips. As such, Gligli added wait statements to the upgraded firmware.

“Once the system was working, Gligli was free to start adding new features. He began by smoothing out the stepped envelope and filter generators, as well as adding new exponential modes,” said Fabio.

“From there he added new keyboard polyphony modes as well as pitch and mod wheel changes. Since this is an open source project, adding a feature is as simple as cracking open your favorite editor and writing it up.”

Interested in learning more? You can check out all the relevant project files on GitHub here.

Emulating contactless smart cards with the ATxmega192A3

Researchers at Ruhr University of Bochum in Germany recently debuted the Chameleon Mini, a versatile contactless smart card emulator. 

As HackADay’s Adam Fabio notes, contactless smart cards are RFID style devices that also contain a smart card style memory. These cards are often used for payment, replacing mag strip style credit cards.

According to the researchers, Chameleon was designed as a programmable platform to assess security risks in RFID environments, as the device can be used in various attack scenarios.

“The Chameleon is set up to emulate any number of cards using the common 13.56MHz frequency band,” HackADay’s Fabio explained. “Adding a new card is as simple as loading up a new CODEC  and application to the firmware. Currently Chameleon can emulate MIFARE cards using the ISO14443A.”

The open source Chameleon – powered by Atmel’s versatile ATxmega192A3 mcirocontroller (MCU) – was built for around $25. As Fabio points out, the 192 is a perfect fit for the Chameleon, because it is equipped with hardware accelerators for both DES and AES-128.

Additional key project specs include:

  • Hardware support for ASK modulation (both 10% and 100%) to cover almost any card standard available.
  • Hardware support for ASK and BPSK load modulation using a subcarrier.
  • Modular firmware structure faclitates easy expandability of other cards and standards.
  • Support for quick and reliable firmware update via Atmel DFU boot loader (programming hardware is required only once).
  • Can be controlled using a fully documented AT-like command set via CDC using theLUFA USB stack.
  • 1MByte of card memory allows for multiple card emulations to reside on the device simultaneously.
  • Settings can be switched even without a USB connection, simply by pressing a button.
  • Card contents can be easily uploaded and downloaded by means of the command line and X-MODEM. This allows the Chameleon to be interfaced with standard terminal software as well as user written scripts and applications.

Interested in learning more about the Atmel-powered Chameleon? You can check out the project’s official page here.

These Furbies sing Queen (Bohemian Rhapsody)

A recent Maker Society display hosted under the auspices of the University of Kent featured a group of Furbies “singing” the classic Bohemian Rhapsody performed by the late Freddie Mercury and Queen.

According to HackADay’s Adam Fabio, each of the doll’s functions are run from a single motor and cam system, with a limit switch “telling” the on-board (Atmel ATmega328) microcontroller (MCU) when the cam is at the zero position. Meanwhile, an optical encoder keeps track of the cam as it moves.

“Many classic animatronic systems use an audio recording for motion. Typically a stereo recorder would perform double duty, [with] the first track containing the audio for the animation. A second track would contain audio tones corresponding to movement of each of the degrees of freedom of the doll being animated,” Fabio explained.

“Because the two tracks were on the same strip of magnetic tape, the audio and movement would always be in sync. Multitrack tape record and playback systems added even more flexibility to this type of system.”

However, the Maker Society decided to go with a “computerized twist” on the above-mentioned system for their Bohemian Rhapsody singing Furbies.

More specifically, a set of positions and times are stored in Comma Separated Variable (CSV) format, while a java program plays the song and reads the file – relaying movement commands to the Furbies at appropriate intervals.

Interested in learning more about the Atmel-powered singing Furbies? You can check out the project page here.