11 Arduino projects that require major hacking skills—or a bit of insanity

Raspberry Pi has received the lion's share of attention devoted to cheap, single-board computers in the past year. But long before the Pi was a gleam in its creators' eyes, there was the Arduino.

Unveiled in 2005, Arduino boards don't have the CPU horsepower of a Raspberry Pi. They don't run a full PC operating system either. Arduino isn't obsolete, though—in fact, its plethora of connectivity options makes it the better choice for many electronics projects.

While the Pi has 26 GPIO (general purpose input/output) pins that can be programmed to do various tasks, the Arduino DUE (the latest Arduino released in October 2012) has 54 digital I/O pins, 12 analog input pins, and two analog output pins. Among those 54 digital I/O pins, 12 provide pulse-width modulation (PWM) output.

Arduino's array of inputs and outputs proves crucial in projects from building robots to 3D printers, said Jason Kridner, co-creator of the BeagleBone line of products that combine Raspberry Pi-like horsepower with Arduino-like capabilities.

Pulse-width modulation, for example, is important for driving motors in particular directions and telling them how fast to go, Kridner recently explained to Ars. "If you wanted to do that with a Raspberry Pi, you'd essentially have to add an Arduino," he said. (The Raspberry Pi does have one pin capable of outputting a PWM signal, and software can add PWM capability to the other pins with some limitations.)

These projects take some serious skill—and, in a couple cases, a disregard for one's own safety.

Giving “sight” to the blind with Arduino and the human tongue

Tongueduino.

When a person loses the ability to see, the senses of hearing, touch, and smell are relied on even more to navigate one's surroundings. But the tongue could be used for the same purpose, with the help of an Arduino-fueled contraption called the Tongueduino.

Devised by MIT researcher Gershon Dublon, Tongueduino sends information to a pad that has electrodes spread across a grid. This pad is placed into the user's mouth. "When hooked up to an electronic sensor, the pad converts signals from the sensor into small pulses of electric current across the grid, which the tongue 'reads' as a pattern of tingles," New Scientistreported in February.

"The tongue is known to have an extremely dense sensing resolution as well as a high degree of neuroplasticity, the ability to adapt to new input," according to the MIT Media Lab video embedded above. "Research has shown that electrotactile tongue displays can be used as vision prosthetics for the blind. Users quickly learn to read and navigate through natural environments."

With Tongueduino, "[s]ignals map spatially and intensity maps to the number of pulses within a frame," the video states. In one example, a Tongueduino user is able to identify the pixels and lines drawn on a 3x3 grid by a colleague on a computer across the room.

The ultimate goal is to move beyond simple vision replacement toward greater sensory augmentation. A connection to a magnetometer could provide a user with "an internal sense of direction, like a migratory bird."

Dublon spent a year testing Tongueduino on himself. Having honed the design and upgraded the pad from a 3×3 grid to a 5×5 grid, he is now beginning to test it on a dozen volunteers.

Exterminate, annihilate, destroy! (Yes, it’s a Dalek)

This one goes out to all the Doctor Who fans. Perhaps the Doctor's most iconic enemy, the alien mutants in robotic shells known as Daleks are simultaneously terrifying and hilarious.

I have used an Arduino Uno to monitor two ultrasonic sensors in the base of the Dalek and send the results over the USB serial interface to a Raspberry Pi which then plays an MP3 clip. I used a separate Arduino board to provide sound to light functionality to drive the dome lights.

I could have achieved the results I needed using just the Arduino or the Raspberry Pi but it seems to me that the Arduino is better suited to low-level functions interacting directly with sensors and motors and so on, whereas the power of the Raspberry Pi is that it is a fully functional Linux computer for tasks requiring more computational power, and where I can easily use existing skills to leverage the Internet later on. Eventually I plan to put motors in the dome and a webcam in the eye so that the Dalek can look directly at people that approach. I also want to have a Web interface to be able to control behavior.

Putting together the electronics was faster than building the bulk of the robot, made mostly of plywood, cardboard, and papier-mâché. Grove got the Dalek ready for this past Halloween, saying "[t]he construction took five months, with some time spent working on it almost every weekend."

The finished Dalek was absolutely worth the effort. Not only does it look like a Dalek, it's also able to utter the evil robot species' evil catch phrase:

For those of you who don't watch Doctor Who and wonder why anyone would spend so much time building a Dalek, here's your answer:

Dalek destruction.

A 3D-printed flying quadcopter drone

3D printing and flying drones are among the two most popular activities for Arduino owners. Here we have a project that combines both activities into one.

Numerous people have purchased quadcopter drones and then outfitted them with Arduino-based control systems. Instead of just buying a quadcopter, a team at the University of Victoria in British Columbia built one from scratch using parts spewed out by a 3D printer.

The parts fit together like this:

Quadcopter 3D printed parts.

But there was more work to be done after that, which is where the Arduino and a "9 Degrees of Freedom" sensor stick entered the picture.

The 9 Degrees of freedom sensor stick (9DOF) contains three sensors: an accelerometer, a gyroscope, and a magnetometer. Each sensor can be communicated with using I2C from analog pins 4 and 5 on the Arduino Uno. We powered the sensor stick using the 5 volts out available on the Arduino Uno. I2C also requires pull-up resistors on the data (SDA) and clock (SCL) buses. We used two pull up resistors soldered to the 5 volt output of the Arduino shield and SCL/SDA. To prevent the sensor from receiving too much noise during flight, the sensor was soldered to an Arduino ProtoShield on the pins. The other end of the 9DOF was glued to the shield. The source code for the project is based on the AeroQuad [open source quadcopter].

And yes, the 3D-printed, Arduino-powered quadcopter did take flight. Here it is:

42 Reader Comments

What is the difference between the Arduino Due and the Arduino Mega 2560, since they both have 54 io pins? The Due is a 32 bit ARM processor that runs at 84Mhz and is 3.3 volt only. The Mega 2560 is a ATmega 2560 8bit running at 16Mhz and is 5 volt. So there is considerable difference between the two.

Considering how cheap they are, the capabilities of even 8-bit microcontrollers is really impressive. I think the last step in making them a hobbyist's dream was the widespread adoption of flash ram for the program code, making them easy to program and reprogram with inexpensive equipment.

Not too long ago I used a $2 PIC microcontroller, this $15 RFID reader, and some spare parts laying around to make an RFID garage-door opener. Cheap and cheerful and I learned a lot.

I haven't done much with the Arduino kits simply because they are often overkill for what I want to do, when you can spend $50 on the AVR Dragon programmer to program chips for very simple boards.

The quadro-copter demo really made me think about how the growing adoption of these micro computers and 3d printers really could begin to change the technology landscape.

A hobbyist with a 3d printer, cheap computers, 3d software, and time to tinker, they could cheaply build out something with no firm limit on revisions and keep tweaking till it works. Seems like freeing up the traditional manufacturing hurdles might allow some people to really explore some pretty out of the box concepts.

I've bought one Arduino, and its purpose in life is to act as a CEC interface to my HDMI devices in the home theater. I'm surprised it's not more common (or at least wasn't a couple of years ago when I did mine) as it allows wire control of your devices from the PC instead of the unreliable IR blasting typically done. I later added IR control to it as well to receive IR commands and translate them to CEC.

I originally tried just using the serial port on my PC (as CEC runs very very slowly), but I needed the dedicated microcontroller to get the timing right even on a protocol that is so slow.

I've bought one Arduino, and its purpose in life is to act as a CEC interface to my HDMI devices in the home theater. I'm surprised it's not more common (or at least wasn't a couple of years ago when I did mine) as it allows wire control of your devices from the PC instead of the unreliable IR blasting typically done. I later added IR control to it as well to receive IR commands and translate them to CEC.

I originally tried just using the serial port on my PC (as CEC runs very very slowly), but I needed the dedicated microcontroller to get the timing right even on a protocol that is so slow.

Where's the $5 shipped link? I can't find anywhere selling it for that. Also, do you know if it's got any Linux support?

They used to sell them for $4.30 including free worldwide express shipping, but I guess they found that too expensive and bumped the price to $10. If that includes shipping, it's still a pretty sweet deal.

Where's the $5 shipped link? I can't find anywhere selling it for that. Also, do you know if it's got any Linux support?

They used to sell them for $4.30 including free worldwide express shipping, but I guess they found that too expensive and bumped the price to $10. If that includes shipping, it's still a pretty sweet deal.

Mine was delivered for $5 just last month.Must be a very new development.

A sensory augmented Dalek with levitation capabilities provided by a 3d printed copter and has outer-space capabilities. At least it kills mosquitoes and tries to solve world hunger via proper irrigation practices.

Wait, what do you mean you programmed it to get humans drunk and put vibrators in their pants?

And why is it capable of deploying bionicles that climb trees?

We need to cancel this project clearly nothing good will come of-WHY IS IT LAUNCHING FLAMING PUMPKINS AT ME AAHHH-NO CARRIER

The Tongueduino and the ArduSats represent some serious projects, way beyond hacking, while the rest was done because somebody had too much time on their hands, not because it solved a heretofore intractable problem. There's a large number of much more sensible projects one can tackle using a microcontroller.

I actually didn't know about the spectruino used in the ArduSat and checked it out. Sadly, that box is way overpriced for what it is doing compared to other commercially available handheld spectrometers.

Comparison of Launchpad and Arduino. Essentially the Launchpad is great if your project is battery powered or you are looking to go cheap. If not, the extra capabilities of the Arduino win out. I am not real sure why Arduino has gotten so much love in comparison.

Comparison of Launchpad and Arduino. Essentially the Launchpad is great if your project is battery powered or you are looking to go cheap. If not, the extra capabilities of the Arduino win out. I am not real sure why Arduino has gotten so much love in comparison.

It's the software stack.

With TI you're pretty much stuck with hobbled single-platform toolchains unless you spend $$$ for commercial licenses. And those are "contact us for details" commercial licenses, which is an annoying barrier all by itself.

AVR has solid cross-platform GCC support and a decent command line programming* utility called avrdude. This made it relatively easy to produce a cross-platform development environment for Arduino, which is very ugly and underpowered by commercial standards but is trivially easy to start using for the hobbyist.

* In this context, programming means downloading the executable program, not something related to writing programs.

Definitely agree with the article - Arduino is the superior choice if you're an electronics guy/gal. There are so many things you can do with a D/A and A/D that aren't possible with digital I/O. The convenience of not needing to roll an extra digitizer board (and get it to interface correctly) or stick to sensors with digital outputs is a very nice thing. It's an analog world as they say ...

Definitely agree with the article - Arduino is the superior choice if you're an electronics guy/gal. There are so many things you can do with a D/A and A/D that aren't possible with digital I/O. The convenience of not needing to roll an extra digitizer board (and get it to interface correctly) or stick to sensors with digital outputs is a very nice thing. It's an analog world as they say ...

But there are a lot of cool things that need the horsepower of a Raspberry Pi or Beaglebone, or access to a full network stack that running a linux variant provides.

I'm working on 2 different projects with the Beaglbone I just bought (thanks Ars), and neither would translate well to the low resource world of Arduino.

Main characteristic of the Arduino that sets it apart from the Raspberry Pi is that there is no operating system (part from one you might add). So access to physical ports occur much more direct. While with the Pi you would require elaborate Linux low level driver knowledge to affect the detail level if you develop something new.

The Arduino and Pi represents different scopes; the Pi is a Linux environment that run on tiny hardware;the Arduino is a "to-the-point" IO controller where the Arduino IDE and macro language makes it very easy to get going building real low cost IO controllers for many of the cases where the Pi would be a massive overkill in features and architecture (and actually not give you the base level detail design freedom).

In the interest of full disclosure, I should say that my entire interest in serious electronics design comes from an Arduino I was given for my birthday, so I'm rather biased. Also, what follows is a bit of mostly-shameless self-promotion.

The Arduino is a great little board for just about anything that doesn't require a traditional (either text or graphic) user interface, and even then, you can program in a simple one if you can spare the processing cycles. The article highlights the Due, but my favorite is still probably the Duemilanove (the 2009 model). It only has 13 digital IO pins (2 of which are used for serial communication, if you're talking to the computer) and 6 analogue input pins (2 of which are used for the I2C protocol, if you're using devices which communicate that way), but sometimes, that's all you need. In fact, I'm using a Duemilanove (in so much as I'm using the schematic and most of the components, including firmware on the microprocessor) as a controller for half of a functioning (if technically incorrect, albeit first attempt) Voigt-Kampff machine.

If you're looking to get started with an Arduino or electronics in general, I would highly recommend one of the starter kits. Adafruit has one for $65, and Sparkfun has one for $60. Both shops have more expensive (and content-loaded) starter kits, but those are generally good for introduction use.

Main characteristic of the Arduino that sets it apart from the Raspberry Pi is that there is no operating system (part from one you might add). So access to physical ports occur much more direct. While with the Pi you would require elaborate Linux low level driver knowledge to affect the detail level if you develop something new.

The Arduino and Pi represents different scopes; the Pi is a Linux environment that run on tiny hardware;the Arduino is a "to-the-point" IO controller where the Arduino IDE and macro language makes it very easy to get going building real low cost IO controllers for many of the cases where the Pi would be a massive overkill in features and architecture (and actually not give you the base level detail design freedom).

They're complimentary. A design would have the Arduino doing low-level tasks, while the Raspberry Pi could be the "brains" so to speak.

What is the difference between the Arduino Due and the Arduino Mega 2560, since they both have 54 io pins? The Due is a 32 bit ARM processor that runs at 84Mhz and is 3.3 volt only. The Mega 2560 is a ATmega 2560 8bit running at 16Mhz and is 5 volt. So there is considerable difference between the two.

Speed is the big factor between the two, with the Due being considerably faster. Also, the Due has more memory, 512KB instead of 256KB, which may be rather limiting considering the 32-bit address space on the Due (rather than 8-bits.. this will result in a 4-fold increase on the size of your programs) resulting in smaller programs without an external bank of RAM or flash. Keep in mind, your working memory also contains your program data in these controllers.

Aside from that, the IO power on the pins is limited to 3.3V, meaning you may need to redesign your shields, particularly if you are trying to drive 5V relays.

Programmatically, you probably won't see a huge difference between the two. Neither have enough memory to do what the Pi does with Linux, but, depending on your application, you don't really need Linux and these Arduinos expose a lot of user IO, which is why they are so friendly.

With TI you're pretty much stuck with hobbled single-platform toolchains unless you spend $$$ for commercial licenses. And those are "contact us for details" commercial licenses, which is an annoying barrier all by itself.

Considering how cheap they are, the capabilities of even 8-bit microcontrollers is really impressive. I think the last step in making them a hobbyist's dream was the widespread adoption of flash ram for the program code, making them easy to program and reprogram with inexpensive equipment.

I was the TA for the students who made the quadcopter featured in the article. Back when I took the course (7 years ago now?) we used 68HC11s and it took 5 minutes or so to upload our tiny programs every time we implemented something or fixed a bug. Kids these days have it so easy, etc.

By the way, that quadcopter was designed and built from scratch by two full-time undergrad students in about 10 weeks.

The Irrduino project reminded me of what my dad did with some old equipment he had laying around many moons ago. He got tired of the controller for his sprinkler system always dying and having to be replaced, so he used a Bristol Babcock 3330 RTU to replace it:typical 3330 layout

those things are usually used for industrial control - he had it because he writes software for natural gas pipeline automation, and these things are the heart of those operations. in the 80s they sold for over $10,000 and that was without the add-on controller boards. overkill? probably, but in 2005, those 3330s aren't worth much anymore, but they're still rock-solid reliable. once he mounted that thing in his garage (it's funny seeing a 2-foot square uncovered mass of PCBs hanging on the studs in the garage) he never had to touch it again.

Main characteristic of the Arduino that sets it apart from the Raspberry Pi is that there is no operating system (part from one you might add). So access to physical ports occur much more direct. While with the Pi you would require elaborate Linux low level driver knowledge to affect the detail level if you develop something new.

The Arduino and Pi represents different scopes; the Pi is a Linux environment that run on tiny hardware;the Arduino is a "to-the-point" IO controller where the Arduino IDE and macro language makes it very easy to get going building real low cost IO controllers for many of the cases where the Pi would be a massive overkill in features and architecture (and actually not give you the base level detail design freedom).

+1

People have a hard time getting the difference in applications between a microcontroller and a microprocessor...

Since BBC Worldwide America has forgotten what that first 'B' stands for and blocks your linked video from people in the UK. (idiots)

Yeah, a lot of BBC content on youtube isnt available in the U.K. Its bloody annoying considering we brits have to pay their extortionate licence fee or face their Stazi like doorstop interogation and endless streams of threatening letters demanding to know why your lying about not watching broadcast tv, even if you havnt actually got a tv (seriously, they hound people for months). Weirdly, American netflix has much more BBC content (well, much more of everything really) than the U.K. version as well.

Just because it's fundamentally, objectively and in all other ways wrong to have youtube Dalek videos posted without including this one:The Hitchhiker's Guide to Daleks --http://www.youtube.com/watch?v=aWn_1yOFpfU