Category Archives: Design Tips & Tricks

Drag & drop programming with Pepino

The recently unveiled Project Pepino is a comprehensive drag and drop development environment for Makers.

Created by Tovi Levis, the open source Pepino comprises both a hardware platform and software layer.

pepino1

On the hardware side, Pepino boasts a custom-designed board powered by Atmel’s popular ATmega328 microcontroller (MCU).

pepino2

Additional key hardware specs include:

  • 8 digital inputs/outputs
  • 4 LEGO sensors
  • 2 analog inputs
  • 2 Motors
  • I2C Bus
  • LCD Display
  • 3D Printed Case

Meanwhile, the software environment is hosted on a Raspberry Pi (model B) that connects to the Atmel-powered board.

pepino3

Levis says he created Pepino as a final project for his degree at the Afeka College of Engineering in Israel, with source code and installation instructions expected to go live at some point in the near future.

Although additional details are still scarce at this point, you can check out Project Pepino’s official page here.

ATtiny85 goes uber-mini with The Nanite



The Nanite is an uber-mini dev board built around Atmel’s ATtiny85 microcontroller (MCU). The board – which measures 0.4″ wide – boasts the same pin configuration as a DIP ATtiny85.

“[I wanted] to have my own ATtiny85 based development board based on a USB bootloader and optimized for the ubiquitous 170 point mini-breadboards. [The Nanite] sports a reset button, but lacks an integrated voltage converter as it is supposed to be powered by USB,” Nanite creator Tim explained in a recent blog post.

“Apart from the size considerations, the Nanite also uses a neat circuit trick to share a single pin with the LED and the reset button. The circuit of the board is shown below, the circuit attached to the reset pin, PB5, is to the right.”

Meaning, if PB5 is configured as the standard reset, the push button will simply act as a reset button, with the LED taking on the role of a pull up for the reset button. However, if reset is disabled and PB5 is configured as a normal I/O pin, the state of the button can be polled by simply reading from the port.

“The LED can be turned on by setting the output to ‘low’ and turned off by configuring the output into a high impedance state. It is not advised to set the output ‘high’, since in that case the pushbutton could short the output to ground,” said Tim.

“I use micronucleus in a configuration where it only starts when the button is pushed. This means that the user program is started without a delay after the device is powered up.”

Meanwhile, the functionality of the reset button is emulated via software, periodically polling the state of the button and activating the watch dog timer if it is pressed. If the watch dog times out, the device resets.

“Apart from the LED output, user interaction and soft-reset button, PB5 can also be used as a simple serial debug output – connected to the RX input of a serial to USB adapter. I use a simple software-UART implementation and a macro to redirect STDOUT to the serial output. This allows very convenient debugging with printf(),” he added.

Interested in learning more? You can check out Nanite’s official page here, while the Eagle design files and example code are available on Github here.

ATmega328 powers open source WatchDuino


Watch-a got on your wrist?


The WatchDuino is an open source project that combines inexpensive electronic parts with complex Arduino (C++) code.

Key project components include Atmel’s versatile ATmega328 microcontroller (MCU), a crystal oscillator, LiPo battery and Nokia’s 5110 LCD screen.

“WatchDuino is not only programmable, it’s fully hackable from hardware to software. You can build your own out of [inexpensive] components [available] at a local electronics store,” a WatchDuino rep explained.

“[Plus], you have the full source code of the watch’s operative system at your disposal. The ability to build the whole thing from scratch and being able to hack at every level of it will greatly appeal to electronics hobbyists and Makers.”

Currently, primary WatchDuino features include:

  • 

Time and date (analog and digital output)
  • Alarm / countdown (with custom music)
  • Games (Pong & Snake)
  • Rechargeable battery (via USB) and meter
  • Low-battery mode (lasts up to two years with a 240mAh battery)
  • Integrated screen light
  • Compact design
  • Framework-like architecture to easily program custom screens

On the software side, the WatchDuino can be programmed via two methods: hacking the system itself or simply customizing various features and apps.

“Since WatchDuino’s software is open source, you have the full source code at your disposal to make any modifications you like,” the rep added.

The WatchDuino will likely hit Kickstarter at some point in the near future as a fully assembled device. In the meantime, you can check out the project’s official page here.

What’s behind the Star Wars stormtrooper mask?

John Edgar Park of DisneyToon Studios recently designed and built a Star Wars stormtrooper helmet music box. Dubbed the Imperial Melody Discharger, Park’s creation was showcased at the Stormtrooper Helmet Art exhibit in downtown LA on Star Wars Day (May 4th).

“My intention for the piece was to provide a view behind the mask of the anonymous Stormtrooper, while creating a fun, interactive moment for the person experiencing it,” Park explained in a recent article published on BoingBoing.

“I wasn’t sure exactly how to get there, but I was certain I’d need to cut the vinyl helmet open. You only have one shot at that, so I decided to first cut apart a CG model inside Maya and rig it with pivot points that could be used in the real world for the facial articulation.”

For the brains of the operation, Park used an Atmel-based Arduino Uno (ATmega328 MCU) with a prototyping shield, soldiering cable interconnects, a piezo buzzer and a Pololu Pushbutton Power Switch for power management.

He then programmed the Uno with a small sketch instructing the board to wait for a button press, open the right half then the left half of the mask, play the Imperial March theme on the piezo buzzer and close the two mask halves.

“I’m very happy to say that my Imperial Melody Discharger (named by my friend Mike Greenholt) was a big hit with patrons at the show opening at the Robert Vargas Gallery in Downtown L.A. I was thrilled to watch people interact with it and smile,” he added.

Interested in learning more? You can check out the original BoingBoing article here for detailed build instructions.

Atmel-based ChronosMEGA measures time

A Maker by the name of N.fletch has debuted the ChronosMEGA, a beautifully designed wristwatch powered by Atmel’s versatile ATmega328P microcontroller (MCU).

“I’ve always loved watches; not only are they aesthetic and beautiful, but they are functional, precise and useful. An elegant fusion between engineering and art; two normally opposed perspectives, now joined in harmonic unison,” N.fletch explained in a recent Instructables post.

“However, all technologies like the dial-up internet, the CVT monitor and the abacus, inevitably will become relics of our past with the advent of advancing technology and have since become less pragmatic for the typical person to own. Unlike these archaic technologies, the wrist watch still thrives on the wrists of many, standing forever as a testament to one of mankind’s greatest inventions: the measurement of time.”

Aside from Atmel’s ATmega328P, key ChronosMEGA specs include binary time encoding (via 10 Blue 1206 LEDs), a slew of buttons to control time, sleep mode and display, a 32.768kHz external crystal and an 8MHz internal clock source.

Additional key features?

  • Micro-USB and charge management controller (for 400mAh Li-ion battery)
  • Draws 4uA in its Deep Sleep mode to last up to 11 years on a single charge
  • Battery indicator 0603 LED
  • Boost TI switching regulator for power regulation
  • Low loss PowerPath controller IC for power source selection
  • Total form factor of 10mm x 40mm x 53mm
  • Custom 3D designed case cast in pure polished silver
  • Genuine crocodile leather watch band

As you can see in the videos above, the layout of the watch configured in a circular array of 10 LEDs. Four of the LEDs account for hours, while six of the LEDs account for minutes.

“The LEDs count in binary to display the time on the watch face. By utilizing a combination of the 10 LEDs, the watch can display any possible time accurate to the minute,” N.fletch continued.

“This is a very clean and elegant way to display time. I also really like this technique because of its esoteric and mysterious nature.”

In terms of the MCU, the ATmega328P is wired in a straight-forward manner, connected to power and ground, with a pull up resistor on the RESET pin. Essentially, the AVR is tasked with driving all the LEDs from its GPIO, although one of the MCU’s AVR’s ADC pin is connected to the battery to detect the voltage level. As such, the watch is equipped with a small red status LED to indicate when battery power is low.

“The AVR has a 32.768 kHz crystal wired to its XTAL pins. It uses the 32.768 kHz crystal to drive its Timer2 module asynchronously for counting the seconds, [while] its internal 1MHz RC clock drives the SW,” N.fletch added.

“32.768 kHz is a very common frequency to drive Real Time Clock (RTC) systems because 32,768 in decimal is equal to 8000 in hex. Therefore, 32,768 can be evenly divided by multiple powers of 2 including 1024. Dividing 32,768 by 1024 yields 32, so configuring the timer to count to 32 with a 1024 pre-scaler will equal an exact second.”

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

Becky Stern builds a NeoPixel ‘punk collar



We’ve covered a number of cyberpunk inspired ensembles in recent months here on Bits & Pieces, including Mell Ell’s cos-play outfit, the NeoGeo watch, Kaleidoscope Eyes and the Flora-powered GPS jacket. Today, we’re going to be taking a closer look at a NeoPixel punk collar designed by Adafruit’s Becky Stern that is powered by an Atmel-based GEMMA (ATtiny85 MCU).

“Get your cybergoth on with five color-changing NeoPixels studded onto a leather collar,” Stern wrote in the tutorial’s introduction.

“The tiny GEMMA microcontroller can display endless animations on this fun funky accessory that’s easy to make with a little soldering. The GEMMA and battery live on the outside of the collar, [while] the NeoPixels pierce through the collar to be wired on the inside.”

Becky recommends that Makers kick of the project by connecting all pixels power pins to GEMMA’s Vout, ground to GND and the first data input to GEMMA D1. The data out from each pixel is wired to the data in on the next – and hobbyists can easily add five more pixels for a total of ten.

Next up? Installing the NeoPixel library, connect the NeoPixels to a solderless breadboard, using alligator clips to attach to GEMMA.

“You’ll need to change a few lines in the code regarding the data pin (1), type of pixels (RGB vs GRB), and number of pixels (5). From the Tools→Board menu, select Adafruit Gemma 8MHz or Adafruit Trinket 8 MHz as appropriate,” Stern noted. “Connect the USB cable between the computer and Trinket, press the reset button on the board, then click the upload button (right arrow icon) in the Arduino IDE. When the battery is connected, you should get a light show from the LEDs.”

If all the pixels are working, Makers can proceed to the next step: building the collar.

“While the collar is pretty durable, use caution in heavy rainstorms or really sweaty dance parties- remove and power down the collar if the circuit is going to get wet. Store your collar in the round, and don’t shove it in your bag or it might get twisted or crushed, which could break the circuit,” added Stern.

Interested in learning more about building a NeoPixel ‘punk collar? You can check out Adafruit’s full 
tutorial here.

Dual port RAM interface debugs NES games

While writing a game for his old-school NES console, Andrew Reitano realized that live debugging on real hardware would definitely be a step up from the usual software-based fare.

The original solution? Firing variable information out the second controller port to serial every NMI. However, Reitano ultimately decided to take a shot at designing a new Atmel-powered PCB to interface with the console.

“The board routes the left port of the dual port RAM (Cypress CY7C136) to the DIP footprint on the NES and the right port to an AVR (ATmega164 MCU), this allows me to read and write any location at runtime without bus conflicts,” Reitano explained in a recent blog post.

“Control is provided through the UART and two additional pins are soldered directly to the 2A03 to control /NMI and /RESET. AVR control code was written mainly in C with some assembly sprinkled across for the memory control portions.”

The ATmega164 – tasked with “waiting” for serial commands – performs a number of functions including:

  • Read/write of any memory location
  • Quick dump of an entire 256-byte page
  • Freezing of memory addresses (rewriting a single value constantly in the busy loop)
  • Single frame stepping by controlling the NMI
  • Remote reset of console
  • Applying auto increment to tables to a single variable (fun for sine waves on x/y positions)

“[I] had pretty great results with using 250000 baud with the Genesis flasher project which is plenty fast for what I’m trying to do here,” he added. “As far as I can tell from the datasheet leaving CE low shouldn’t have an effect on the opposite port but it most certainly does. Next revision could definitely use a few pullups on the AVR side, other than that I’m pretty happy with the layout.”

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

Atmel announces Maker Faire lineup



Maker Faire is the Greatest Show (and Tell) on Earth – a family-friendly showcase of invention, creativity, resourcefulness and a celebration of the Maker Movement. It’s a place where people of all ages and backgrounds gather together to show what they are making and share what they are learning. Over 1,000 Makers will be represented at the upcoming Maker Faire Bay Area, with more than 200 registering as first-time exhibitors.

makerfaireburning

We at Atmel are once again proud to be a Silversmith Sponsor of Maker Faire Bay Area. We’re also hosting the following star-studded lineup of Makers and presenters at the Atmel booth (#205) who will:

Mel Li, PHD – Demonstrate wearable electronics and DIY laboratory automation, both powered by Atmel MCUs and Arduino boards.

Trevor Zylstra, SparkFun COO – Showcase Red Boards, the ProtoSnap Pro-Mini and wildly popular MicroView.

Quin Etnyre, CEO of Qtechknow – Host the “QTechKnow Olympics” robotic challenge with Arduino, XBee and FuzzBots.

Pamungkas Prawisuda Sumasta, AVR Hero contest winner – Discuss “Phoenar,” a new way of learning to program AVR uC and prototyping electronics on a Mobile phone. The demonstration will include an Atmel-based board equipped with a number of add-ons to highlight several applications including breadboard on-the-go, monitoring heart rates, pedometer and controlling a robot.

Super Awesome Sylvia – Demonstrate various Atmel-powered devices and projects. 

Matt Johnson, Founder of Bare Conductive – Highlight the Touch Board, a capacitive touch prototyping platform powered by an Arduino Leonardo (Atmel ATmega32u4 MCU).

Bob Martin, Atmel’s Wizard of Make and Warp Drive Propulsion Engineer – Hack Hexabugs and demonstrate uToT Robots.

atmelbobmartin

Dan Ujvari, Atmel Sr. Field Applications Engineer – Showcase 3D printing using an Atmel-powered MakerBot Replicator.

Maker Faire Bay Area 2014 will kick off at the San Mateo Event Center in San Mateo, CA, on Saturday, May 17, from 10am to 8pm and Sunday, May 18, from 10am to 6pm. 

Tickets are on sale now at http://makerfairebayarea2014.eventbrite.com at advance pricing. Advance ticket sales ($17.50 – $32.50 for a full day pass) take place between March 17 and May 16. Tickets can also be purchased on-site at Maker Faire Bay Area 2014 on May 17 and 18, 2014 ($25.00 – $40.00 for a full day pass). All Makers can be found on the Maker Faire web site at http://makerfaire.com/meet-the-makers.

Can’t make it to the Faire? You can follow @Atmel live on Twitter for event updates, or join the conversation by tweeting #AtmelMakes.

 

Going retro with Zorkduino



Zork is considered one of the earliest interactive fiction computer titles, with roots drawn from the original genre game, Colossal Cave Adventure.

According to Wikipedia, the first version of Zork was written in 1977–1979 using the MDL programming language on a DEC PDP-10 computer. The authors – Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling – were all members of MIT’s Dynamic Modeling Group.

Recently, an experienced modder by the name of Rossum decided to rekindle fond memories of long nights playing Zork on his Atari 800 by building the aptly named Zorkduino.

The Atmel-based, Arduino-powered platform generates both audio and video. As expected, Zorkduino is built to be hooked up to a TV and keyboard. 

Key components include:

  • Atmel-based Arduino Uno, Pro, or Pro Mini.
  • SD card or micro SD card + breakout board (from Adafruit, eBay etc).
  • RCA A/V Cable (eBay).
  • 470ohm, 1k and 100k resistors.
  • Breadboard, wires, etc.
  • WebTV or MsnTV IR Keyboard or PS2.
  • IR receiver TSOP38238,TSOP4838 or equivalent.

So, how does the retro gaming platform work? Well, as HackADay’s Brian Benchoff reports, Rossum capitalizes on the onboard hardware of the Arduino.

“Video is generated by using SPI mode on a UART at top speed – 8 MHz. This just shifts out pixels from the video buffer on an SD card,” writes Benchoff.

“The keyboard is handled like any other PS/2 keyboard project on the Arduino, [while] audio is generated by toggling a pin at 1000Hz for a keypress and 3600Hz for SD card access.”

As a bonus, Rossum includes an number of additional games on the SD card, including Leather Goddesses of Phobos, along with the ability to run Hitchhiker’s Guide to the Galaxy.

Interested in learning more about the Zorkduino? You can check out Rossum’s original blog post on the subject here and the project’s official HackADay page here.

IViny is an ATtiny85-powered DAQ



The Ivmech crew was recently in need of a small, inexpensive device capable of sensing analog values and toggling a few digital pins – all while logging everything to a PC.

Ultimately, the team decided to build the IViny DAQ, a mini data acquisition device powered by Atmel’s ATtiny85 microcontroller (MCU).

Aside from Atmel’s versatile ATtiny85 MCU, key project components include:

  • 2 channels 0 – 5V ve 0 – 3V digital input/output
  • 2 channels 0 – 5V 10 bit analog input
  • Channel maximum current 20 mA
  • USB power supply
  • V-USB based comms
  • PC user interface (UI)
  • 150 S/s (set to increase with future firmware upgrades)
  • 50 mm x 33 mm x 17 mm

“The IViny features two digital channels and two 10 bit analog channels, just like you’d find in any ATtiny85 project,” writes HackADay’s Brian Benchoff.

“Power is supplied over USB, and a connection to a computer is provided by V-USB. There’s also a pretty cool Python app that goes along with the project able to plot the analog inputs and control the digital I/O on the device.”

As Benchoff notes, the device doesn’t exactly run at light speed, with the firmware currently supporting 100 samples per second.

“[However], an upcoming firmware upgrade will improve that. Still, if you ever need to read some analog values or toggle a few pins on the cheap, it’s a nice little USB Swiss army knife to have,” he adds.

Interested in learning more about IViny, the ATtiny85-powered DAQ? You can check out the project’s GitHub page here.