Tutorial: Using Atmel Studio 6 with Arduino projects

The Atmel Studio 6 start screen.

In our previous Atmel tutorial, we talked about how to set up the powerful AVR Studio 5 IDE to incorporate Arduino libraries and projects. As flexible as AVR Studio 5 is, it had a few issues, and Atmel has been hard at work hustling the next major version out the door. Now, rebranded as Atmel Studio 6 (no longer just for AVRs!), the new version promises to be better, faster, and easier to use. Here, we’ll show you the quickest way to get up and running if you want to use Arduino code with all of the new features.

Note: This article explains how to set up the Atmel Studio 6 IDE for use with Arduino projects, step-by-step.  It also notes on general setup for working with Atmel devices, background on the pros/cons of working with AVR Studio, and a few other tips.  A table of contents is below; feel free to skip to any section that interests you.

Continue reading

AVR math optimization

Following up on our previous post on understanding floating point math and speed of operations on 8-bit AVRs, we ran across an excellent article today on Arduino math optimization. Alan walks through his implementation of an exponential moving average algorithm. An exponential moving average normally requires floating point arithmetic, but due to the lack of native support on 8-bit AVRs, Alan worked out a way to do it with fixed point math.

After some experimentation, he was able to get his version running quite a bit faster than the floating point version, and offers a detailed writeup and tips along the way. Just as we found in our brief testing, the easiest AVR math optimization is to avoid division, since these processors don’t have a native divide instruction. If you’re looking to squeeze every last drop of performance out of your 8-bit chip and can’t (or won’t) upgrade to something more powerful, check this out for some good ideas.

Link: Sensor smoothing and optimised maths on the arduino

Original source: Hackaday

The top 5 Arduino projects for advanced hackers

As the Arduino surges in popularity, people keep dreaming up crazier and more complex ways to use it. We’ve rounded up five of the most impressive Arduino projects on the web to show what’s possible with such a versatile and inexpensive platform. Be warned – these projects aren’t for beginners, but if you’re looking for a challenge and something to brag about, they could be just the ticket.

Continue reading

Arduino open source tracking device leverages Kickstarter

A new Kickstarter project aims to provide a low-cost, open source platform for building a GPS tracking device. The author, Wayne Truchsess of DSS Circuits, explains that a few years back, his brother in law had a PS3 stolen during a long power outage in the depths of winter. Not wanting to repeat history, Wayne bought a fake PS3 case on eBay and developed his own prototype position tracker to put inside it.

The tracker consists of a GSM cellular modem, a GPS unit, and an accelerometer, all tied to an Arduino and a LiPo battery to provide brains and power, respectively. Normally, the device lies in wait, asleep to save power. If it detects motion, it turns on the modem and alerts a preconfigured phone number via SMS. The owner can then respond with various commands to turn position tracking on or put the device back to sleep.

Continue reading

Data logging with Arduino

Super sweet sensor sexiness over the serial stream.

Tom Igoe’s blog code, circuits, and construction has posted a tutorial on how to log data from your Arduino and put it into your platform or format of choice. As Tom explains, there’s a few common pathways once you’ve read a sensor or accepted some other form of input:

  • Serial transmission to a personal computer, and serial capture to a file.
  • Saving data to an SD card mounted on the Arduino.
  • HTTP upload to pachube.com via an Ethernet shield or Ethernet Arduino.

Continue reading

Faster code Fridays: Understand division and speed of operations

Hello there and welcome back! Faster code Fridays is our weekly series that doesn’t ever fall on a Friday, unless our laziness becomes so strong that it interferes with our disregard for naming conventions. We figure we’ll forgetfully publish one of these things on a Friday at some point. Even a broken clock is right twice a day, eh?

If you’re a first-time visitor, Faster code Fridays highlights code optimization techniques that are useful for embedded systems. Embedded applications often deal with time critical applications that require maximum performance and minimum execution time. In fact, good coding practice is often more apparent when working with microcontrollers, because you don’t have four 4GHz cores and 8Gb of RAM to get you out of trouble. We’ll use Arduino-compatible code for most of our examples, though these techniques are applicable to AVR, PIC, or any number of platforms.

Continue reading

Faster code Fridays: Avoid floating point math

Everyone seems to have a snazzy weekly feature these days, and we didn’t want to feel left out.  Unfortunately, we could only think of a few catchy names for our series, and it’s not Friday today.  Oh well.  Consider it a preview publication.

Embedded systems often deal with time critical applications that require maximum performance and minimum execution time.  Writing efficient code requires solid study of language and platform fundamentals, and there’s no substitute for concentrated practice.  However, there are small tips and tricks to squeeze the last drop of performance out of your programs.  Faster code Fridays highlights these techniques so you can implement them into your repertoire. We’ll use Arduino-compatible code for most of our examples, though these techniques will work on a number of platforms.

Alright already, we’ll all float on

Continue reading

DIY Arduino oscilloscope using Nokia 3310 LCD screen

Filear.com posted a cool hack that can be done in an afternoon if you have the parts handy.  The author built a DIY oscilloscope using an Arduino Pro Mini and the LCD from a Nokia 3310.  The Arduino is wired up to sample from an ADC port and writes those values to the screen to create a waveform.  Two potentiometers control the sampling speed and input voltage for approximate time and amplitude scaling just like the real thing.

Continue reading

Enough Already: The Arduino celebrity news assassin

My Arduino is more powerful than your Situation.

Our friends over at Make magazine put together some awesome projects, and this is one of our favorites.  Last year, hacker extraordinaire Matt Richardson released this Arduino project that will monitor your TV closed caption signal for a list of keywords and mute the television when it finds a match.  From his description on Make’s site:

I don’t know about you, but I’m a little sick of hearing about the same people on TV over and over again. I came up with this Arduino-based solution to mute my TV so that I don’t have to hear about Donald Trump’s feud with whomever or Charlie Sheen’s most recent rant.

Continue reading