Tag Archives: ATmega1284

CoPiino is a credit card-sized adapter board that combines both Arduino and Pi

A new shield is bringing together the dynamic duo of Arduino and Raspberry Pi.

Maker Steven Spence has recently unveiled the CoPiino, an ATmega1284 based adapter board for the Raspberry Pi that enables remote editing and uploading of Arduino sketches using a web browser. The symbiotic, credit card-sized shield combines the connectivity of the Pi with the real-time performance of the on-board AVR MCU.


CoPiino is not only designed to cooperate with Raspberry Pi and interface to Arduino shields, but is compatible with official shield libraries as well, such as the the Motor Shield, Proto Shield, Voice Shield, LCD Shield, among a number of others.


Users can access the CoPiino app running on the Pi with a web browser to edit and upload new sketches, before transferring sensor data from the CoPiino to the Pi for display by the Apache Web Server. This is then stored by the MySQL server running on the Pi.


The adapter board can be programmed through any Internet-enabled device, including a PC, tablet or smartphone. Direct ISP flashing makes the use of a bootloader obsolete, which saves memory space, eases the upgrade process, and doesn’t block serial communication channels. The “HAT-like” shield is also equipped with an external battery pack and a USB Wi-Fi dongle, thereby becoming an ideal companion for mobile platforms that can be updated instantaneously. This enables Makers to create a number of projects, like self-balancing or roving Wi-Fi robots.


Using the CoPiino, users can join local Wi-Fi networks, create Wi-Fi access points, or affix a USB or Pi camera onto the platform to stream a first-person-view to any connected device. Intrigued? You can learn all about the CoPiino on its official page here.


Taste the rainbow one color at a time with this sorting machine

What’s better than a mouthful of Skittles, right? When it comes to various-colored candies, such as Skittles and Starburst, there’s always those one or two flavors you’re secretly wishing are heavily favored inside the pack. It would seem that many of us tend to love the red, tolerate the orange, and simply leave behind the yellow. Well, a group of Cornell engineering students recently devised a final project that will surely solve that quandary.


With their ECE4760 class coming to an end, the Maker trio devised an ATmega1284 powered Skittle-sorting miniature factory that actually bags and seals same-colored candies into little pouches of flavor. Problem solved!

How it works is relatively simple. The Skittles are loaded into a plastic funnel at the top, where they are fed through a color-detection module one candy at a time — either automatically or manually. Red, green, blue and white light are reflected off the Skittle, while the color is deciphered using an RGB LED and OPT101 photodiode driven by an ATmega1284.


“The LED is directed onto the Skittle with a small light block between it and the photodiode. As light hits the Skittle, certain wavelengths are reflected. The wavelength of the Skittle’s color is reflected most strongly. For example, shining a green light onto the green Skittle will reflect more light than shining a green light onto a red Skittle.”

Once a color is detected, a solenoid shoots the Skittle down a cardboard ramp which leads the piece of candy through a hole and into its appropriate bag. The ramp’s position is controlled by a servo and changes depending on the color. Once a bag has reached its preconfigured capacity, the packaging wheel rotates through a heat sealer to seal and cut the pouch.


“We chose this project because we liked the multidisciplinary approach it required. There were challenging elements from both an electrical and manufacturing engineering perspective. We needed accurate color sensing, precise servo control, and repeatable timing to ensure the Skittles would sort correctly. In addition, we had to build a mechanical structure capable of passing a single Skittle within fairly strict tolerances. As an added benefit, we acknowledge that many people have Skittle flavor preferences which our mini-factory caters to,” the team writes.

Watch it in action below!

Candy lovers interested in learning more can hurry over to the team’s official project page here. Meanwhile, you may also enjoy this Atmel | SMART SAM D21 based Skittles sorter which was recently on display this year at Electronica.

ATmega1284 powers Stubby the Hexapod

Powered by Atmel’s ATMega1284 microcontroller (MCU), Stubby the Hexapod was originally inspired by the unstoppable replicators found in the expansive SG-1 universe.

Designed by the Big One, Stubby started out as a simple 2DOF version, although it quickly morphed into a 3DOF iteration with a full inverse kinematics engine.

“What sets it apart from other hexapods is that it a) is controlled controlled by a single AVR chip (ATMega 1284), including movement and PWM,” The Big One explained in a recent HackADay project page.

“[It] is [also] designed in such a way that it can be driven by very cheap, micro servos (I am currently using $2, 9 gram servos). [Plus, Stubby] has a wooden (MDF) frame cut on a scroll saw [and] is designed with budget in mind; you can make one for around $150 worth of supplies and minimal simple tools.”

The completed project features three 9g servos per leg, all controlled with an AVR-based custom board and an XBee interface to an old Playstation controller.

“You can move in any direction on the XY axis, translate the body on the XYZ axis and roll the body on the XYZ axis,” the BigOne added.

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

Playing virtual chess with Atmel-powered glove controllers

Students at Cornell University have designed a game of virtual chess using glove controllers powered by Atmel’s stalwart ATmega1284 microcontroller (MCU).

“Each player wears a glove (there are two gloves for two players) and uses hand-motions to play a chess application. The chess board graphical user interface is generated using MATLAB, which receives information from the player’s gloves through a serial connection with the microcontroller, and updates the game appropriately. As such, when a player tilts his hand in a certain direction, the cursor on the computer screen moves accordingly,” the Cornell students explained.

“Since the glove also has contact sensors in the form of copper strips on both the thumb and pointer finger, pressing these two fingers together simulates picking up or dropping a piece at the location of the cursor. The goal of our project was to simulate the physical motions involved in playing chess without the need for a physical chess set.”

Essentially, the contact sensors simulate a button click. As noted above, pressing the pointer finger and thumb together creates an active-low signal that is sent to the Atmega1284 microcontroller.

“The x-data and y-data from the accelerometer are [then] sent to an analog-to-digital converter in the microcontroller. The microcontroller transforms this information received from the gloves to update the cursor coordinates,” the students noted.

“The [MCU] also handles the state of the chess game, maintaining and managing a wide array of state information needed to update the game. The microcontroller continuously creates packets containing the cursor coordinates and other state data and sends them off to a MATLAB application using serial communication. MATLAB requests these packets and parses them to decide how to render and update the graphical user interface (GUI) representing the chess board.”

In addition to Atmel’s ATmega1284, the virtual chess project was built using the following components: 3-axis accelerometer module, white board, target board, small solder board, header pins, power supply, push buttons, gloves, copper strips, voltage regulator, potentiometer, wires, resistors and capacitors.