Tag Archives: ATmega328 MCU

Arduino takes on Simon – and wins!

Simon is an old school electronic game of memory skill invented by Ralph H. Baer and Howard J. Morrison, with software programming by Lenny Cope.

Image Credit: Wikipedia

According to Wikipedia, the majority of the Assembly language for the game was written by Dr. Charles Kapps, who taught computer science at Temple University.

Recently, a Maker named Ben North and his 7-year-old daughter designed a Simon-playing robot that is capable of beating the classic game.

As HackADay’s Brian Benchoff reports, North uses a key chain version of the game that is much smaller and easier to work with in terms of automatically sensing lights and pushing buttons.

“The arms are made from LEGO bricks, held up with rubber bands and actuated with two servos mounted on a polycarbonate cutting board,” he explained.

“To detect Simon’s lights, Ben connected four phototransistors to an Arduino Duemilanove (Atmel ATmega328 MCU). The Arduino records the pattern of lights on the Simon and activates the Lego arms in response to that pattern.”

As North notes, the Simon-playing robot, while fully functional, does have a number of limitations.

“This is not an industrial-strength robot. It’s quite fussy about ambient light, even with the calibration. This explains the slightly grainy videos, as they had to be shot without proper lighting,” he added.

“Once or twice, the finger-pulling elastic bands slipped, meaning a finger didn’t completely press its button and the game was lost. Also, I think the robot would have been better with some flashing lights.”

We think the robot is impressive, nevertheless!

Interested in learning more about the Simon-playing robot? You can check out the project’s official page here.

Russian folk bot is an electro-acoustic orchestra

Moscow-based artist Dmitry Morozov has created a number of Arduino-powered projects covered by Bits & Pieces over the past year, including a musical tattoo reader and the ‘Signes de vie’ (‘Signs of Life’) installation.

His latest project? The gusli robot, which Morozov describes as a Russian folk bot and portable electro-acoustic orchestra.

Recently featured on the official Arduino blog, the folk bot, which is inspired by the oldest Russian multi-string plucked instrument, is powered by two Atmel-based Arduino Uno boards (ATmega328 MCU).

Additional key specs include:

  • Servo motors x6
  • DC motor x1
  • Stepper motor x1
  • Solenoids x3
  • Spings x8
Strings x38

“‘Gusli-samogudy’ means self playing gusli,” Morozov explained. “It’s very common charter is old Russian fairy tales – so by making it robotized I made [the] fairy tale come true.”

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

Designing an Arduino-based programmable load

A programmable load is defined as a type of test equipment or instrument tasked with emulating DC or AC resistance loads normally required to perform functional tests of batteries, power supplies or solar cells.

According to Wikipedia, the platform allows tests such as load regulation, battery discharge curve measurement and transient tests to be fully automated – while load changes for these tests can be made without introducing switching transient that might alter the measurement or operation of the power source under test.

Recently, a Maker by the name of Jasper designed an Arduino-based programmable electric load using an Atmel-powered Nano (ATmega328 MCU).

“The load can be programmed, and the voltage and current are measured. You can set a constant current (CC), a constant power (CP), or a constant resistance (CR) load by simply typing it in to the Arduino Serial Monitor,” Jasper explained in a detailed blog post.

“The circuit is designed for up to 30V, 5A, and 15W. An opamp, a mosfet, and a small sense resistor form the constant current circuit. The current is set using a DAC. Two other opamps measure the power supply voltage and the current. The circuit is powered from the Arduino USB voltage.”

Aside from the Atmel-based Arduino Nano, key project components include:

  • Custom designed PCB ($23)
  • 2x 15pins 0.1″ pitch female header connectors ($2)
  • AD8608 Rail-to-rail opamps ($3)
  • MCP4725 DAC ($3)
  • IRLZ44Z N-channel MOSFET ($2)
  • SK 129 38mm Heat sink ($1)
  • 0603 resistors and capacitors ($2)
  • Screw terminal ($1)

“I chose to use an Arduino Nano board because it is small, cheap, easily interchangeable, it has a power supply that can be used to supply other circuits, and it can easily be programmed with the Arduino IDE,” Jasper continued.

“The Arduino is placed on female header connectors on the board. I chose to use the same DAC as on Adafruit and Sparkfun DAC breakout boards. The DAC can be supplied from 5V and the the output voltage is rail-to-rail. A description for using the MCP4725 DAC and library with Arduino can be found here on the Adafruit website. The DAC connects to the Arduino using I2C.”

On the software side, Jasper uses the the Arduino Serial Monitor to set the mode and value.

“For example, you can type ‘cc100’ to set a 100mA current, ‘cp1000’ to set a 1000mW power, and ‘cr100’ to set a 100 Ohm resistance. In overload condition, when the nominal power supply voltage drops, the CC circuit tries to maintain the current. This leads to an even further voltage drop and finally in a short circuit. In CP mode, the Arduino measures the voltage and adjusts the current so that the power remains constant,” he added.

“This is handy for testing power supplies designed to deliver a constant power. In CR mode, the Arduino measures the voltage and adjusts the current so that the resistance remains constant. This is handy if you want to simulate a resistor connected to the power supply – especially if you don’t have a box of power resistors of all kinds of values.”

Interested in learning more? You can check out Jasper’s Electric Load here.

Challenging reflexes with the Arduino-based Lightgame

Efstathios Lymperidis and Thodoris Bais recently debuted the aptly named Lightgame, which the two university student designed to challenge the reflexes of four players.

Key project components include:

“The game was developed using two Arduino devices connected in a Master – Slave configuration via the I2C synchronous serial protocol,” the duo explained in a detailed blog post.

“The Master Arduino is responsible for handling the buttons, displaying the correct RGB colors, [executing] all calculations for the score and stages of the game.”

Meanwhile, the peripheral Arduino is tasked with displaying messages on a TFT LCD screen and playing the appropriate music via a buzzer.

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

Ootsidebox goes touchless with the 3Dpad

Ootsidebox has introduced the 3Dpad, a sophisticated touchless gesture control interface with a depth perception of 10cm.

The platform – which recently made its Indiegogo debut – comprises three primary components:

“To detect the proximity of the human hand or finger, we use the projected capacitive technique. This is the principle of virtually all modern touch screens – except that now we are in the air, relatively far away from the detector surface (10 cm max). So we build capacitors which are as ‘open’ as possible, using electrodes drawn on the electrode plane PCB in order to obtain a maximum ‘hand effect,'” 3Dpad creator Jean-Noël explained.

“[Meanwhile], the capacitors formed by the electrodes are part of an oscillator whose frequency is influenced by the distance of a hand. When it enters the electrostatic field, this ‘intruder’ is going to cut the field lines and divert the electrical charges. The closer the hand approaches the electrodes, the more the oscillator’s frequency increases.”

According to Jean-Noël, the system employs a phase/frequency comparator along with a control and locking program.

“This simple system makes the conversion of the very small frequency shift into a variation in a voltage signal which is easy to use,” he said.

On the software side, an embedded software (sketch) running on the Atmel-based Arduino Uno is tasked with calculating 3D coordinates, recognizing basic gestures (swipes, push and rotations) and relaying the data to a host device on the USB COM Port.

“The evaluation software (PC) will enable you to quickly evaluate the 3D-Pad. You’ll see all the values sent by the Arduino Uno (1), the gesture events (2) and the 3D coordinates in the form of a cursor (3),” he added.

As Jean-Noël notes, 3Dpad is only the starting point for Ootsidebox, as the company is currently working on a number of HMI related projects, including touchless & gesture interfaces, telehaptics, wearable tech and even artificial intelligence (AI).

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

Garage door gets an Arduino RFID upgrade

A Maker by the name of Jason955 has designed an RFID-controlled garage door opener using an Atmel-based (ATmega328 MCU) Arduino board.

As HackADay’s Rick Osgood reports, the Arduino acts as the brains of the operation while an off-the-shelf NFC/RFID reader module is tasked with reading the RFID tags.

“To add new keys to the system, [Jason] simply swipes his ‘master’ RFID key. An indicator LED lights up and a piezo speaker beeps, letting you know that the system is ready to read a new key,” Osgood explains.

“Once the new key is read, the address is stored on an EEPROM. From that point forward the new key is permitted to activate the system. Whenever a valid key is swiped, the Arduino triggers a relay which can then be used to control just about anything.”

According to Osgood, the system also offers access to a number of manual controls, including a reset button (erased EEPROM) and a DIP that switch that allows the user to select how long the relay circuit remains open (configurable in increments of 100ms).

As Jason955 points out, the opener pictured above is simply an initial design prototype, with the next iteration likely to be a prototype shield followed by a PCB.

“The top section of components (Arduino and breadboard) will be placed inside the garage and the bottom section of components (LED, buzzer, NFC/RFID reader) will be placed outside (in a project box),” he adds.

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

Modding a speech-controlled Game Boy Advance

Nintendo’s Game Boy Advance (ゲームボーイアドバンス), or GBA, is a 32-bit handheld video game console. The successor to the Game Boy Color, the console was launched way back in 2011, giving Makers like Chanudn plenty of time to come up with various mods for the unit.

Indeed, Chanudn recently debuted a slick speech-controlled GBA on Instructables. The basic idea? Players say the name of a button (left, A, start, etc.) and the GBA responds as if the button had been physically pressed.

So, how does it work?

“You say a word into a small microphone (let’s assume you say ‘start’) – and this signal is sent from the microphone to the computer through the [Atmel-based] Arduino Uno (ATmega328 MCU). The speech recognition software BitVoicer sees that ‘start’ is a word it’s supposed to respond to and sends the Arduino the string ‘start’,” Chanudn explained in his Instructables post.

“The Arduino receives the string and sets the voltage of one digital output pin to HIGH and the rest to LOW. The pin set to HIGH is connected to a relay that is in turn connected to two metal pads on the GBA circuit board that correspond to the start button. Since the pin is set to HIGH the relay switches states, making the two metal pads electrically connected. This electrical connection is what happens when you usually press GBA buttons, so the GBA responds as if the start button was pressed.”

Aside from the Arduino Uno, key project components include:


PC with BitVoicer speech recognition software
7 relays
  • Two 8-pin female headers
  • Two 6-pin female headers
  • Adafruit’s microphone amp
4 IC sockets
  • Perfboard

“This is a project I worked on for my electronics class at Pomona College. Thanks to Professor Dwight Whitaker and Tony Grigsby for their help and guidance – and credit to Jonathan Wong for the idea for this project,” Chanudn added.

Interested in learning more about the speech-controlled Game Boy Advance? You can check out the project’s official Instructables page here.

Laser cutting and engraving with Mr. Beam

Mr. Beam – which recently made its Kickstarter debut – is an open source DIY laser cutter and engraver kit for paper, wood and plastic.


“Mr. Beam is able to process materials of variable thickness. Height adjustable legs allow an easy setup for thin paper as well as for a large piece of wood,” a Mr. Beam rep explained.

“[The platform] cuts lighter materials like paper and foil in one pass and thicker materials [such as] leather and cardboard in multiple passes. As with all laser cutters, the ability to cut materials properly is determined by their thickness. Most of the mentioned materials can be engraved in a single pass, others like wood might require several passes.”

Key hardware components include an Atmel-based Arduino Uno (ATmega328 MCU), custom shield and a Raspberry Pi.

So, how does Mr. Beam work? 

Well, the Raspberry Pi (running Raspbian) operates the web interface responsible for generating g-code from the user-supplied input files (the motif). Meanwhile, the Uno runs the grbl software tasked with taking g-code and converting it into stepper motor actions (effectively controlling laser diode intensity). Last, but certainly not least, the custom Beam shield is equipped with various electronic modules and components that handle the input from Arduino/grbl – powering the steppers as well as the laser and regulating the hardware buttons.

On the software side, Mr. Beam’s user interface can be used to select motifs and kick off the cutting process. Future additions are slated to include the ability to easily position, rotate and scale various patterns.

Interested in learning more? You can check out Mr. Beam’s official Kickstarter page here.

Hydrogen fuel cell tech to power the IoT

Earlier this week, The Register’s Bob Dormon attended Twickenham’s Future World Symposium.

Since many of the UK-based vendors displayed handheld devices and sensor nodes supporting the Internet of Things (IoT), keeping power consumption down, or at the very least making it practical, was understandably a clear priority for many of the exhibitors.

“[That is why] London-based outfit Arcola Energy strives to deliver the best of both worlds with its adaptations of hydrogen fuel cell tech,” Dormon writes.

Image Credit: Bob Dormon, The Register

“As an integrator, the company covers a broad scale of fuel cell applications from transportation to providing remote power sources. It also caters for developers with its kits, complete with an [Atmel-based] Arduino Uno board (ATmega328 MCU) starting at £350 ($591) … There’s mbed compatibility too.”

According to Dormin, the dev kits allow engineers to precisely determine what type of energy lifespan they can can expect from a design.

“Besides the boards and fuel cell shield electronic controller, you get a refillable 12 litre HydroStik hydride that feeds a shiny metal box complete with fan that is the actual fuel cell,” he explained. “The fuel cell determines the overall output of the system. With the Arduino One kit it’s 1.5W.”

Interested in learning more about Arcola Energy’s fuel cell kits? Developers can find Arcola’s software for the fuel cell inventor kit on Github here, while the full text of Bob Dormon’s “Inventors: Feast your eyes on fuel cell tech that’ll power up Internet of Thingies” can be read on The Register here.