Tag Archives: ATmega1284p

Goldilocks Analogue is bringing audio capabilities to Arduino


This board is like an Arduino, but with audio superpowers! 


In an effort to bring analog capabilities to the Arduino environment, Phillip Stevens has developed a board he calls the Goldilocks Analogue.

9e782efc1671ae4e14b86d5a00b3e872_original

The Goldilocks Analogue, which was also named a quarterfinalist in this year’s Hackaday Prize, provides Makers with all of the analog audio input and output they could possibly need, together with sufficient data storage options. With this board, Makers will have the ability to delve into the world of digital synthesis, human auditory augmentation, sound activated systems, signal processing and analog process control, among many other things.

If the name seems vaguely familiar, that’s because you may recall Stevens from his 2013 project, Goldilocks. Two years ago, the Maker devised an Arduino Uno clone using the ATmega1284P MCU for applications that required more SRAM and Flash memory than what the ATmega328P could support, all without sacrificing the Uno’s footprint. Although his initial efforts achieved its goal, the resulting platform still lacked one function that he believed was a necessity: high-quality analog input and output.

“The world is analog, but having an ADC capability without having a corresponding digital-to-analog capability, is like having a real world recorder with no means to playback and recover these real world recordings,” the Maker explains.

Fast forward to 2015 and the successor is yet again built around the mighty ATmega1284P. As Steven points out, the external analog output platform has been optimized to provide dual-channel stereo output (up to 48k samples per second) by overclocking the AVR MCU to 24.576MHz. The Goldilocks Analog is equipped with a 12-bit DAC that offers dual-stereo channels with output voltage ranging from 0V to 4.095V, which is fed to both a high-current capable op-amp and a dedicated headphone amplifier. These options enable optimal reproduction of audio, as well as DC level referenced analog outputs.

1a37c968e0d384207bb96eea7b753947_original

“The DAC is driven by the ATmega1284P USART1 in Master SPI Mode. This frees up the normal Arduino SPI bus to access the MicroSD card, or either of the two on-board SPI interface memory devices, 23LC1024 256KB SRAM and AT25M01 256KB EEPROM, without any timing constraints,” the Maker writes.

Meanwhile, audio input is managed by an AGC microphone amplifier. Gain is adjustable from 40dB (default for typical smartphone headset microphone) up to 60dB, which also lends support to electro-cardio or other high sensitivity applications. Aside from that, he included a level shifted non-amplified signal (for line-in).

According to Stevens, the main switched-mode power supply is rated at well over 2A, and is filtered by a second order LC network to provide a clean 5V for the analog platform. Lastly, the Goldilocks Analogue incorporates a 3.3V 1A regulator for the microSD card and 3.3V shields. The negative supply for the op-amp is handled by a -3V inverting charge pump regulator and filtered by a first order LC network.

66114713b8f5b5ae284f03e171d252d7_original

So what can you create with this board? While the possibilities are endless, example projects include a triple oscillator digital synthesizer, a digital walkie-talkie, a sound-sensing alarm and even an Internet-connected baby monitor. And to make all of the analog power easy-to-use, the Goldilocks Analogue is compatible with the Visuino IDE for drag-and-drop signal programming.

“Using a smartphone-compatible 3.5mm socket, a microphone input and headphone outputs can connect your sounds into the Arduino world. Samples of sound can be played back from on-board SRAM or recorded onto the EEPROM to be recovered later,” Stevens adds. “Up to a minute of telephone quality audio can be stored (less for higher quality), or played back using the on-board storage. The microSD card can store and play back GB of audio, if desired.”

Intrigued? Head over to the Goldilocks Analogue’s Kickstarter campaign, where the Maker is currently seeking $5,813. You can also browse through his exhaustive project log, which breaks down the entire build process. The first batch of units is expected to begin shipping in March 2016.

Gesto allows you to use any part of your body as a controller


Gesto is an open source kit for gesture recognition, motion patterns and muscle analysis.


When it comes to user interfaces for today’s devices, there are two words that every tech enthusiast loves to hear: Minority Report. The concept of gesture control was made popular back in 2002 during Steven Spielberg’s film, which featured Tom Cruise’s character navigating a gestural interface with sensor-embedded gloves on a giant transparent screen. Fast forward several years and innovations like Thalmic Labs’ Myo armband are making that sci-fi-like technology a reality. With aspirations of bringing that capability to the masses, one Portuguese startup led by Maker Ricardo Santos has developed an open source board kit for gesture recognition built around an ATmega1284P MCU. Unlike other systems which require the use of cameras and calibrations, the aptly named Gesto is able to transform any part of the human body into a controller.

Big

Once attached to the body, the AVR based system works by reading a user’s muscle activity and analyzing bio-signals in real-time. This enables a user to control a wide range of electronic devices through wave and pinch gestures, interact with computer-based applications by drawing letters, numbers and figures in thin air, not to mention turn any surface into a touch interface by simply applying finger pressure. And that’s just the arm.

Gesto is capable of recognizing movement patterns from any part of the body, such as a foot, leg or torso, and relaying these signals instantaneously. This is accomplished through the combination of EMG muscle sensors and three-axis accelerometers. Unlike other solutions on the market, this kit is not influenced by the environment nor does it require having to raise a hand in front of a camera. Instead, Gesto can be implemented in the dark, tight spaces and pretty much anywhere else without any problems. The boards don’t need ground electrodes either, meaning less cables and noise.

Gesto

The platform employs the same algorithm, no matter the gesture, letting a user carry out actions that were never before possible, whether that’s turning a table surface into a music machine or commanding an entertainment center in a more intuitive manner.

For its crowdfunding debut, Gesto is available in two separate versions: an out-of-the-box ready kit for starters (Caelum) and a fully-configurable dev kit (Stella) for more experienced inventors. Both units are based on an EMG circuit and an ATmega1284P yet boast much different form factors — Caelum measures in at 40mm x 40mm, while Stella a bit smaller at 35mm x 20mm.

Small

Caelum comes with eight reusable electrodes, cables, a 3.7V rechargeable battery, a microUSB cable and an elastomeric band, and connects to an accompanying mobile app via Bluetooth, enabling a user to create their own gestures easily without programming. 3D printable designs for the modular band will also be made available, allowing Makers to utilize Gesto throughout various parts of the body. Meanwhile, Stella is an Arduino-compatible, fully-configurable kit comprised of a tinier board, 16 disposable electrodes and cables for connection.

“From Stella you get the raw muscle data by SPI communication. It’s like an external sensor that you can connect to an Arduino or Raspberry Pi, for example. We provide all you need to start doing gesture recognition and muscle analysis,” the team writes. “Here the possibilities are endless, because you are not limited to Bluetooth connectivity! Use Wi-Fi or IR, combined muscle data with other sensors.”

11058572_1578015259154601_437912633527093188_n

What’s more, each Gesto unit has four bipolar muscle channels, and provides Makers will all of the necessary tools to do conduct muscle analysis: software filters, machine learning algorithms, feature extraction, data compression and integration, all of which made available in various languages including Matlab, C, Python, Java.

“Gesto provides free software that you usually find on expensive platforms,” its creators add. “We eliminated the ground electrode by creating a virtual ground. This means you can measure muscle activity in any part of the body without extra cables and electrodes.”

Intrigued? Head over to Gesto’s crowdfunding page, where the startup is currently seeking $75,000. Delivery is scheduled for March 2016.

SingLock is a pitch-based DIY security system


You’ve got 99 problems, but a pitch ain’t one.


With data breaches on the rise, the inability of passwords to keep online accounts secure is more apparent now than ever before. Instead, the use of multi-factor authentication can add another layer of security to fend off malicious attackers. While smart cards and tokens have been implemented throughout the years, a pair of Cornell students Sang Min Han and Alvin Wijaya recently designed their own 2FA system using PINs combined with a form of voice recognition.

singlock

The project, which is aptly named SingLock, isn’t as simple as saying a passphrase either. Based on an ATmega1284P, the system features a pair of password protection stages. Not only does a user need to enter a four-digit numeric identification number via key page, but just as its name implies, a user must also sing the correct pitch into the microphone in order to gain entry. And while, one may be worried about an attacker eavesdropping and attempting to sing the key themselves, the team has implemented a couple of mechanisms to defend against those situations.

Created as a final project for Bruce Land’s engineering class, the Makers reveal that SingLock is relatively more secure than the average keypad and/or keyboard-based systems. In addition, the sound-based security system doesn’t leave residues — such as heat signatures on a keypad after a button press — that may make the system vulnerable to penetration by outsiders. The system itself is comprised of three main components, including a keypad, an LCD user interface and a microphone, making it simple to use for a wide-range of users.

As the duo notes, the keypad and LCD screen serve as the main user interface of the system. Using the keypad, a user is instructed follow a set of directions provided on the screen in order to lock and unlock the system correctly. Both the LCD and the set of two LEDs serve as indicators of the system’s lock state. Initially, both the red and green LEDs are lit. However, when the system is locked correctly, only the red LED is lit. Conversely, when the system is successfully unlocked, only the green LED illuminations.

top_view

“SingLock is built on a few fundamental concepts in signal processing, namely sampling theory and frequency domain analysis of audio signals. Sampling is carried out so that the system operates at a reasonable range of frequencies. Peak-matching calculations performed at every attempt to unlock the system is carried out using the Fast Fourier Transform (FFT) algorithm. We review these signal processing fundamentals in the next section,” the duo explains.

The built-in microphone is responsible for recording the pitch of the user, while the analog acoustic input signal is amplified and filtered to remove ambient noise. This signal is then sampled into a digital signal by the Analog-to-Digital Converter (ADC) of the ATmega1284P. The team then takes the FFT of the sampled signal and match peaks to the stored peaks in the passkey in the frequency domain. If a predefined number of stored peaks in the passkey are found in the stored frequency peaks of the microphone input signal, the system unlocks. Otherwise, it remains locked.

“Most security systems we find today are keypad and/or keyboard-based. Speech, rather than button-pressing and/or typing, is however the main means of communications for most people. It is therefore intuitive to have speech as the basis of encryption when considering human usability factors and ease-of-access.”

Interested in learning more about the megaAVR based system? You can read all about the project, including its components, mathematical theory, as well as how to create one for yourself here. In the meantime, be sure to watch its demo below.

Build your own Pebble Smartwatch


Why buy the latest smartwatch when you can make one yourself with off-the-shelf components and breakout boards? 


Despite the ongoing craze for wearable technology, most notably smartwatches, a number of young Makers are finding that can sometimes be a bit out of their price range. Rather than having to tirelessly scalvage funds and spend their savings, tinkerers like Jonathan Cook are electing to create their own devices. The aptly named Open-Source SmartWatch combines readily available breakout boards, careful soldering and a 3D-printed frame to make a one-of-a-kind timepiece that displays notifications from your smartphone, not to mention is easily customizable in function and pleasing to the eye. Aside from already being crowned winner of last year’s Arduino Challenge and having garnered “Maker of Merit” ribbons at Maker Faires, Cook recently featured his DIY accessory on MAKE: Magazine.

page_1_complete

As the Maker notes, the watch design is pretty straightforward, consisting of four major components housed in a 3D-printed case: a battery charging circuit, vibrating motor for silent alerts, a programmable Microduino Core+ (ATmega644PA/ATmega1284P) with power regulation and BLE connectivity, and an OLED display with push-buttons.

Microduino

“Breadboarding the project is a snap. Wiring it into a small enclosure meant for the wrist is quite another matter. Break out your fine-point soldering iron and follow these complete instructions.” As for its programmable core, Cook connected the Microduino board to a programming port, a BLE chip for communicating with a wearer’s mobile device, and a voltage regulating circuit.

MicroduinoPLus

“A 3.7V 500mAh LiPo battery is wired to a JST connector and a two-position switch. Switched to the right, the circuit is in battery mode. Switched left, it’s ready for LiPo charging via the JST connector.”

watch_2

Meanwhile, the Open-Souce SmartWatch’s vibrator circuit is comprised of a diode, 1K and 33Ω resistors, capacitor, NPN transistor, and motor. The circuit is then connected to the megaAVR based Microduino, which enables the device to buzz the wrist for an incoming call or alerts. Speaking of which, in addition to the typical time and date functionality as seen on any watch, Cook has sought out to develop an interface that any smartwatch wearer would want such as email access, Facebook notifications, Twitter updates, among a number of other features. Rounding out the design, the Maker implemented an OLED screen and a pair of tiny LEDs that are wired to seven of the digital pins on the ‘duino.

os_smartwatch_v2

Those interested in learning more about the 3D-printed smartwatch can access a detailed step-by-step breakdown of the build here.

Brew your own craft beer with the touch of a button


It’s official: The Internet of Beer has arrived.


As the Internet of Things (IoT) continues to infiltrate our homes, we’re finding a number of new and unusual connected gadgets suited for both the kitchen and man cave, of course. At this year’s CES, we came across countless smart machines including the world’s first fully automatic, all-grain beer brewing appliance, which aspires to do the same for ale as the Keurig had done for coffee.

photo-1024x768

Imagine that, a product that can easily craft fresh beer right from the comfort of your home, as well as tap online resources and services with just a press of a smartphone button. The PicoBrew Zymatic is shaped like a metal oven — which measures 20.5” x 14.5” x 17” in size and weighs 50 pounds — and is driven by an ATmega1284P MCU running on Arduino-based firmware.

To make beer, a user simply pours their desired amount of malted barley, hops and water, then pushes a couple buttons to set a recipe. In just about hours, that water turns into beer. Fast forward a week of fermentation, and the countertop device produces nearly three gallons of some good ol’ ale.

Developed by Seattle-based veterans of Microsoft and the F&B industry, the team’s goal was to use IoT technology to simplify the brewing process, remove its associated menial tasks, and allow advanced beer making to be more accessible to the masses. Users simply place their beer ingredients (e.g. grains and hops) in a cartridge tray that goes inside the appliance. Once done, the beer can be poured and stored for days, or even a few weeks, while the machine itself cleans itself. Meaning, you can kick back with a brewski without having to worry about cleaning up. While the brewing is automated, the Zymatic also comes equipped with Wi-Fi and Ethernet connectivity, enabling users to control it from a mobile device.

Beer

For those with a diverse taste, the machine boasts over 100 recipes in its built-in library with the option for users to add their own customized recipes. So whether you’re a fan of lagers, stouts or ales, PicoBrew has you covered. While one may think this is a relatively niche market, home-brewing is a decently-sized hobby with more than 1 million Americans already crafting their beverages under their own roof, according to the Brewers Association.

What began as a succsesfully-funded Kickstarter project, the automated appliance is now being shipped to its initial backers. Meanwhile, the ATmega1284P powered Zymatic is currently accepting pre-orders for $1,699, with delivery expected in March 2015 — and can be found on its official website here.

Stay thirsty, our friends.

Building an ATmega1284P prototyping board

For his latest vintage CPU/MCU mashup, Maker Dave Cheney recently decided to replace an Arduino Mega board with a bare megaAVR microcontroller to create a two chip solution — just the Atmel and the 6502, no glue logic or external support chips.

IMG_20141227_123602

“While toying around with the project, [Cheney] found the microcontroller he was using, the ATMega1284P, was actually pretty cool. It has eight times the RAM as the ever-popular 328P, and twice as much RAM as the ATMega2560P found in the Arduino Mega,” Hackaday’s Brian Benchoff writes.

The minimal design was laid out in Fritzing along with a crystal, load capacitors, an ISP connector, and pins for a serial connector. “The trickiest piece was fitting the crystal and load capacitors into the design without disrupting to many of the other traces. It worked out well so I decided to add ICSP and FTDI headers,” Cheney notes.

mega6502c_pcb

Since the ATmega1284P MCUs that he ordered were unprogrammed, all the bootloading was done through Manicbug’s Mighty1284 Arduino Support Package. Though the package only supported Arduino 1.0, the Maker still had a nifty little prototyping board on hand.

“I’m smitten with the ‘1284P. It feels like the right compromise between the pin starved ‘328 and the unfriendly ‘2540 series. The 1284P supports more SRAM than either of its counterparts and ships in a package large enough that you get a full 24 pins of I/O.”

Image-555235

Interested in learning more about Cheney’s build? You can get a detailed breakdown of the prototyping board here.

This DIY trainer is like a Whack-a-Mole for boxers

Back in the 1985 classic Rocky IV, Balboa’s rival Ivan Drago was shown utilizing a futuristic electronic punch meter in his quest for triumph. Inspired by the flick, a group of Cornell students recently designed their own electronic boxing trainer system for beginners and well-seasoned athletes alike. The device is capable of teaching both basic and advanced combinations, while also providing users with a gauge of timing and accuracy.

intro1

“While we desired to have ‘built-in’ sequences to train the user, we also desired to allow the user to self-program and store their own practice combination sequences. We attempted to do this without exceeding a budget of $100,” the team writes.

The project is comprised of five square pads organized in the shape of a human head and upper body, with each square surrounded by bright LED ribbons that emit light based on a pre-conifgured pattern. Think of the system as a life-size Simon or Whack-A-Mole: When a pad lights up, the trainee must hit it. If the user fails to strike the pad within a set deadline, the next punch in the sequence proceeds. The game, which is controlled by an ATmega1284P, keeps tabs of the user’s activity in terms of reaction, accuracy and other relevant statistics.

In an effort to keep costs at a minimum, the students created their own force sensors consisting of two square pieces of fine aluminum windscreen with foam structures placed in between. One of the foam pieces was made from conducting ESD foam, while the other was a piece of half-inch thick insulating foam rubber with quarter-inch slits cut approximately half an inch apart, for approximately 12 slits per sensor.

force1

“In each of the screen pieces, we thread (copper) wire through the (aluminum) screen’s holes in a ‘Z’ pattern and bond the metals together with conducting glue. The jailbar foam is then hot-glued to the ESD foam, and then the composite foam is sandwiched via hot glue between two of the wire-threaded screens. The screens are then covered on their exposed sides with cardboard that has been rolled with a wine bottle to reduce its brittleness (by popping any trapped air pockets). We used four 10” by 10” sensors to create the ‘body’ of a figure, and a 9” by 9” sensor for the head.”

The sensors are then mounted against a wall, or in the Cornell project’s case, a back of a metal exterior door. When a user punches a sensor, it compresses and as a result, causes the resistance between the two pieces of aluminum screen to change. This greater the change in resistance, the more powerful the hit.

Meanwhile, feedback to the user and the programming interface is done by serial communication. The team interfaced with a PC using a USB-RS232 cable and PuTTY.  The code for the system can be divided into three distinct categories: initialization, user input via PuTTY (or other serial terminal) and game play.

Interested in learning more about the project as well as the team’s outcome? You can read the entire log of their build here, or watch a demo of the boxing trainer below.