Tag Archives: Instructables

Video: Retro gaming with the Magpi (Arduino Pro Mini)

A Maker by the name of Zippy314 has created a retro “Magpi” gaming platform using an Arduino Pro Mini (ATmega328).

Aside from the Atmel based Arduino board, additional key project specs and features include:

  • 3D-printed case and PCB
  • Nokia 5110/3310 LCD
  • 6 Square tactile button switches
  • 1 tall tactile button switch
  • LiPo Charger Basic (Micro-USB)
  • 400mAh lipo battery
  • SPDT mini power switch
  • Breakaway male headers (Right Angle)
  • Wire & solder
FTDI basic breakout

“This project was an experiment for me in making a 3D printed mounting board for the various parts instead of having to have a standard PC board with the etching done. It felt like there were few enough connections that it would be pretty easy to solder with just plain wire as long as there was a decent support layout,” Zippy314 explained in a recent Instructables post.

“The important thing was to get all the buttons in a fixed place so they wouldn’t move around as you use the Magpi. Because printing small bore holes is tricky, what I did was leave the very bottom layer of the print solid and then drill holes through it with a 1/16″ drill bit. After you drill the holes insert [the] buttons and make sure [they are placed well].”

On the software side, Zippy314 said he and his son have already written two games and a basic drawing app. 

Interested in learning more? You can check out the project’s official page and relevant files on Github here.

Arduino Uno powers this three-zone thermostat



Last week, Bits & Pieces took a closer look at a smart thermostat in the Netherlands powered by an Arduino Mega 2560 (ATmega2560 MCU). Today, we’re going to be getting up close and personal with a three-zone thermostat built around an Atmel-based Arduino Uno (ATmega328).

The three zone system – which recently surfaced on Instructables courtesy of hbomb9000 – is also equipped with DS18B20 temperature sensors, DS1307 RT Clock, 16×2 character display, LCD keypad Arduino shield, along with various miscellaneous wire leads, connectors and resistors. 

On the software side, hbomb9000 used an add on for SublimeText known as Stino, as well as two libraries: OneWire and DallasTemperature.

“The first step in making the program actually work was to get the temp sensors working. They are at the heart of the thermostat. Without them, the furnace doesn’t know when to turn on or off,” hbomb9000 explained.

“The temperature sensor is pretty cool in that it uses a single wire to send data back to the Arduino. What’s more, each sensor has an address, a unique number which identifies the sensor. This is really exciting because it means you can have multiple sensors sending their inputs into the same pin on the Arduino.”

In terms of wiring, hbomb9000 described the process as “super simple.”

“Run one wire into the analog pin of your choice (my program reads from pin A0), and connect that to one side of the button array. The other side of the button array is connected to ground,” he said.

“From there, the buttons are simply chained together via a resistor network. An additional wire is added from each button to the analog input pin, so every button has a direct path to the analog pin.”

At this stage, hbomb9000’s three-zone thermostat is mostly theoretical, although he does intend on installing it after further soldering, tweaking and adding Internet connectivity.

“My next steps will be to fashion a housing for the main thermostat as well as the two remote temperature sensors. These housings will sit on the wall in their respective zones,” he concluded.

“I’ve decided I will be using hardwood maple for the housings, so they should look fairly sharp once attached to the wall. Beyond that, some simple soldering and affixing the components to permanent breadboards will be required, as again these breadboards are not designed for permanent use. I have to either procure or build out some zone dampers.”

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

Open Bitcoin ATM surfaces on Instructables



John Mayo-Smith has designed an open source Bitcoin ATM prototype. Recently posted to Instructables, the platform is powered by an Atmel-based Arduino Uno (ATmega328).

According to Smith, the prototype takes approximately 7 – 10 hours to build with simple tools. Cost of components are estimated at around $500 (new), although used parts can be snapped up for even less on eBay.

In his Instructables post, Smith lists 8 primary steps for the build:

  • Fabricating box and faceplate (out of a piece of 12″x12″ aluminum metal sheet).
  • Attaching bill acceptor and printer (using brackets, four screws, washers and nuts).
  • Prepping the Atmel-based Arduino board (download and install openbitocoin.ino).
  • Attaching resistor and leads (via soldering).
  • Attaching SD shields and components (attach SD shield to Arduino Uno, cover back of Arduino Uno with insulating tape, attach 5V power supply to back of faceplate, attach Arduino/SD shield to back of faceplate with high strength velcro, connect J2s).
  • Creating QR codes (generate private keys at bitaddress.org, convert private keys to 176 x 176 pixel QR codes, convert QR codes to thermal printer format).
  • Provisioning SD (copy logo.oba to root directory of SD card, name QR code files sequentially, then copy to root directory of SD card).
  • Configuring bill acceptor (print the a configuration card at the end of the Apex 7000 manual, fill in the ovals on the configuration card).

If you are short on time, Smith will also be offering an open Bitcoin ATM kit sometime in the near future.

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

Designing a DIY smartwatch with Arduino Pro Mini



A DIY open source smartwatch powered by an Arduino Pro Mini (ATmega328 MCU) running at 3.3v recently surfaced on Instructables. Designed by GodsTale, the RetroWatch is equipped with Bluetooth, a small Adafruit OLED display and a LiPo battery.

Assembly? Bluetooth-> Arduino, OLED-> Arduino, USB to UART module-> Arduino, a button (10k-ohm resistance) and a battery (+) -> RAW, GND -> GND.

On the software side, the watch runs Android 4.3 which supports advanced notification services. Makers will also need to install graphic libraries (Adafruit_SSD1306, Adafruit-GFX-Library) to draw images, shapes and fonts on the OLED, as well the RetroWatch Arduino source code from GitHub.

“You must copy the header file that contains bitmap images to load and use them. You should copy bitmap.h in RetroWatchArduino folder to /Arduino install folder/Arduino/hardware/libraries/RetroWatch. If there’s no such folder, simply [create] it,” GodsTale explained in his Instructables post.

“Open Arduino IDE and load RetroWtchArduino.ino. Next, set pin numbers that you used when you connect the watch. It’s not necessary to modify if you use Arduino pins that are [detailed] in this instruction. SoftwareSerialBTSerial(2,3); // Input your TX, RX pin numbers int buttonPin = 5; // Input your button pin number.”

The DIY RetoWatch features a number of basic modes or displays such as clock, emergency messages, normal messages and idle. Additional key features include:

  • 65 icons
  • Stores 7 normal messages, three emergency
  • Supports RSS feeds
  • Counts unread emails
  • 
Clock style can be easily altered
  • 7 hour battery (140mAh)

Interested in learning more? You can check out the official RetroWatch Instructables page here.

EKG with an Arduino Uno (ATmega328)

Wikipedia defines electrocardiography as a transthoracic (across the thorax or chest) interpretation of the electrical activity of the heart over a period of time, as detected by electrodes attached to the surface of the skin and recorded by a device external to the body. The recording produced by this noninvasive procedure is termed an electrocardiogram (ECG or EKG).

Recently, a Maker by the name of birdyberth designed an Arduino-based electrocardiograph and heart rate monitor. The open source project files, along with build details, were posted to Instructables.

“[This] is intended to be a fun science project only [so] it should not serve a medical purpose. To avoid any risk of electric shock, only use battery alimentation,” he explained. “Electrodes are theoretically isolated from the circuit by the instrumentation amplifier, but [better to] play [it] safe.”

Key projects components include an Atmel-based Arduino Uno (ATmega328), instrumentation amplifier, LCD, voltage regulator, mini speaker, bright LED, diodes, 9V batteries, breadboard, jump wires, resistors, capacitors, electrodes, speaker wired, antistatic wrist strap, medical tape, aluminum paper, paper clips, shower gel (substitute for electrocardiogram gel) and an oscilloscope (optional).

As you can see in the schematic above, the two electrodes link with pin 2 and 3 of the INA128. An additional reference electrode (an antistatic wrist placed on the right leg) is plugged in ground, a configuration that allows the use of unshielded cables.

“The best signal is just after the low-pass filter (between the two 100kOmhs resistors),” said birdyberth. “I suggest you plug the oscilloscope probe at this point for demonstration, although you might want to check other points to see if everything is working properly.”

Interested in learning more? You can check out HackADay’s coverage here and the official Instructables here.

Building a vibrating timepiece with an ATtiny85 MCU



A Maker by the name of “qquuiinn” has designed a vibrating timekeeper powered by Atmel’s ATtiny85 microcontroller (MCU). The device – which recently surfaced on Instructables – is described as a watch without a face.

Indeed, time is relayed every quarter hour via a series of pulses on a vibration motor in roughly the same format as an antique grandfather clock. Meaning, if it is 3:15, the motor will generate three long vibrations followed by a single short shake.

As noted above, the watch is built around Atmel’s ATtiny85.

“The ATtiny keeps the time, [while] driving the vibration motor. A transistor is used as a motor driver to current-protect the [MCU],” qquuiinn explained.

“Even though the vibration motor is small, it needs more current the the ATtiny can handle. Finally, there is a button to manually request the time. The entire setup is mounted on protoboard and powered by a coin cell.”

On the software side, qquuiinn programmed the ATtiny85 MCU with an Atmel-powered Arduino board.

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

Arduino data visualization with Plot.ly

Like many Makers, Instructables member Plotlygraphs has used versatile Atmel-based Arduino boards over the years to build everything from MIDI controllers to simple LED flashers.

Recently, Plotlygraphs wrote up a succinct Instructables post that explains how to use plot.ly, a collaborative data analysis and graphing tool, to visualize data from Arduino pins. 



More specifically, Plotlygraphs pairs an Atmel-powered Arduino Uno (ATmega328) with a DHT22 Temperature + Humidity Sensor to create detailed environmental graphs.

Aside from the Uno and DHT, key project specs include an Ethernet shield, hookup wires, angled pin headers, 9v wall adapter, two pieces of (2 1/2″ x 3 1/2″ ) wood (1/4″ thick), four (10-32x2in) machine screws, 12 hex nuts (10-32 diameter).

In terms of software, Makers can download the latest Arduino software (1.0.5), Plot.ly Arduino library and Adafruit’s DHT Arduino Library.

The first step? Connect the Arduino Uno to an Ethernet shield, then the DHT sensor. Next, upload the sketch to the Arduino board and build a basic enclosure.

“This design is so simple and wonderful, we’ll leave it up to you! Its just drilling 8 holes, and assembling,” writes Plotlygraphs. “Remember to be accurate with your holes, as they have to match up. Measure twice, drill once!”

Interested in learning more about Arduino data visualization with plot.ly? You can check out the Instructable here and plot.ly’s website here.

Das Blinken Bonken! is an Arduino ball game

A Maker by the name of Zippy314 recently designed an Arduino-based game platform as a Christmas present for his son. The project – originally posted to Instructables – was featured earlier this week on HackADay.

“Like all highly addicting games, the Das Blinken Bonken! gameplay is simple; the player throws a ball at the target board while aiming to hit a specific pad,” explained HackADay’s Kevin Darrah.

“There are many game possibilities with this platform, like trying to hit the illuminated target each time, or just trying to hit all of the pads on the board as fast as possible.”

So, how does the game work?

According to Darrah, the pads register a hit with the help of home-made pressure sensors – each constructed in a ‘sandwich’ of pressure-sensitive conductive sheets. 

Since the resistance through the sheet lowers as pressure is applied, a simple voltage divider circuit is used to feed the analog inputs on the Arduino Uno (Atmel ATmega328), thus making it easy to detect an impact.

Meanwhile, an I2C 4-Digit 7 Segment display keeps score and displays the game title, with a strip of addressable RGB LEDs providing player feedback and other gameplay data.

Interested in building your own Das Blinken Bonken? You can check out the project’s official Instructables page here and the relevant Arduino files on Github here. Once the software is installed via GitGub and everything hooked up correctly, Makers should see the word “AIM” spelled out on the display.

“Navigate the menu by pressing on the top two target segments until you see the display read ‘CAL’ Now press the target center to activate calibration,” Zippy314 explained in his Instructables post.

“This mode simply reads the amount of pressure being detected on the pressure pad you press on. You can use this mode to adjust the tightness of the screws so all the pads are roughly equal. To get back to the menu press the top two target segments simultaneously.”

There are currently four Das Blinken Bonken games available: Aim, Speed, Fill, & Red vs. Blue. However,  Zippy314 is encouraging Makers to submit additional ones.

This Ultimate Larson Scanner has Atmel under the hood

A Larson Scanner can best be described as a set of red LEDs that scan back and forth, recreating the left and right blinking motion of those formidable Cylon ships and Knight Rider’s AI KITT (Knight Industries Two Thousand). The scanner is named after Glen A. Larson, the man responsible for producing both the original Battlestar Galactica and Knight Rider television shows.

Recently, a Maker by the name of DJJules created the “Ultimate Larson Scanner” which was posted to Instructables and subsequently featured on HackADay.

DJJules’s iteration of the popular scanner consists of sixteen 10W LEDs, each mounted on a heat sink which bolt on to a 6′ long piece of angle aluminum sourced from a local hardware store.

“He used a basic MOSFET constant current driver for each LED, attaching the MOSFETS to the heat sink with 4-40 screws,” explained HackADay’s John Marsh. “Each LED module then connects to a TLC5940 LED driver breakout board from Sparkfun, which plugs into an Arduino Pro Mini (Atmel ATmega168).”

Interested in learning more? You can check out the project’s official Instructables page here. Previous Larson Scanner articles posted to Bits & Pieces include “These Slick Shades Are Also a Larson Scanner” and “This Larson Scanner is Controlled by an Arduino Uno.”

DeltaTrix is an open source 3D printer

The DeltaTrix – designed by Richard Tegelbeckers – is an open source and fully hackable 3D printer. Originally posted to Instructables, the 3D printer was recently funded on Kickstarter in the form of DIY kits and fully-assembled machines.

According to Tegelbeckers, the theoretical printing area of the DeltaTrix is 280mm (11 inch) in diameter.

“As a square this works out as (almost) 200x200mm (8″x8″), which suits the used ‘MK2A’ heated bed,” he explained.

“As it is also useful to be able to remove items, the gap between the uprights is just over 295mm. The maximum build height is around 280mm (11”).”

The DeltaTrix is powered by Atmel-Arduino RAMPS electronics, with a linear delta robot layout providing a mechanically simple motion platform for moving the print head (only).

Additional features and capabilities include an LCD display, SD memory card, support for PLA and ABS filament, independent operation (no need to be attached to a PC), igus linear slides with pretension, Reprappro Hot End and quick changeover print head assembly.

Interested in learning more? 
You can check out the DeltaTrix’s official Kickstarter page here and the original Instructables post here.