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.)
Last December, we featured 10 of the most amazing Raspberry Pi projects, including arcade cabinets, robotics, and a wearable computer. This one goes to 11—as in, we'll show you 11 awesome things hackers and electronics enthusiasts have created with the Arduino.
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
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 Scientist reported 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 3×3 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.
Who fan Andy Grove set out to build one, smartly combining the Raspberry Pi and Arduino:
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:
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:
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 quadcopter project team explains its work here:
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:
Arduino flies to outer space
Arduino + outer space—it sounds cool already, right? That's why two engineers and a physicist designed ArduSat, a Kickstarter-funded project that will launch Arduino-powered satellites into space and let the project's backers run their own experiments on them.
“Once launched, the ArduSat (Arduino–satellite) will be the first open platform allowing the general public to design and run their own space-based applications, games, and experiments, and steer the onboard cameras to take pictures on-demand,” ArduSat's creators wrote.
ArduSat will weigh just one kilogram and be ten centimeters along each edge, while holding about 25 sensors “including three cameras, a Geiger counter, spectrometer, magnetometer, and more.”
ArduSat creators invited backers to submit applications to run on the device. The team suggested programs such as detecting meteor impacts or using cosmic rays “to generate a sequence of truly random numbers,” which might be useful in financial and security fields.
The ArduSat group raised more than $100,000 after setting an initial goal of $35,000. In November, the team reported that it had signed a contract with NanoRacks, a company that helps put payloads into space, to launch one ArduSat in the summer of this year and a second in the fall.
Arduino-powered mosquito killer is harmful to bugs—and possibly humans
When a software engineer rented a room in a “very remote place” infested with mosquitoes, he bought an electric mosquito coil to get rid of them. But he became worried about electricity costs and thought that leaving the coil on all day might be harmful to his health. So he wired up an Arduino and a few other devices to automatically turn the mosquito coil on at night and off in the morning, while also turning the coil off when the temperature is low.
He may not have had to worry about his health. The mosquito killers—which vaporize a fluid containing chemicals harmful to mosquitoes—are at least theoretically harmless to humans and pets.
Moreover, the project itself could have ended up being more dangerous than the health concerns that inspired it. You may not want to try this one at home.
The engineer (who goes by the username “jack1986”) described his project on Instructables. Besides the mosquito killer, which plugs into a wall socket, he used a real-time clock (or RTC module) to report the time, a relay shield for controlling the on/off state of the mosquito coil, the $19 Crowduino Arduino board, a Screw Shield add-on board for connecting wires, and a waterproof temperature sensor.
The first steps were connecting the temperature sensor and RTC module to the screw shield and then connecting the screw shield, Crowduino, and relay shield together. After that, things got a bit dicey.
Jack1986 noted that the mosquito-killing device is “very nice and solid,” so much so that he had to “use violence” to take it apart and access the wires inside. He then connected the wires to the relay shield, but warned Instructables readers that “the high voltage may cause some danger.”
After that, jack1986 programmed the Arduino to turn the mosquito killer on and off at the appropriate times and temperatures.
Finally, though, his time- and temperature-sensing mosquito trap was set, and jack1986 could take a long, pain-free nap:
Before trying this at home, note that it could be dangerous. As jack1986 wrote, “Remember!!!! Don't touch the relay shield!!!! You can put it into a can or make an enclosure for it. The reason my board was exposed is just because I am very lazy.”
Vibrating, erotic underwear turned on by Arduino
You might have recently read about “Fundawear,” men's and women's underwear outfitted with little vibrators controlled by a smartphone. It's for long-distance loving, you know.
One little detail that might have got lost in the excitement of the Fundawear announcement is that Arduino played a crucial role in the product's development. Ben Moir, who designed the underwear for condom manufacturer Durex, explained that his team lined the garments with actuators that vibrate on the command of a smartphone app.
“When it came to miniaturization, the best technology we found were these actuators that they use in phones, so as you touch your phone you feel a little sort of a thump or a little sensation to give you feedback that you've touched your phone,” he said in a video (mildly NSFW). “We used that technology because it was so small and so low-power, and we created an array of touch sensors or touch actuators… [for] the lingerie and the male underpants.”
The phones of two lovers separated by geography connect to one another through a server in the Amazon cloud computing service. Early versions of the device connected to the underwear relied on an Arduino. “We prototyped on the Arduino Mega and once we were happy with that design and everything was working, we moved to a custom circuit board, which is a lot more wearable and [is a] much smaller package,” Moir said.
The Arduino Mega and its ATmega2560 chip used in the project have “up to 54 digital outputs and 256KB of on-board flash memory,” notes an article by Apcmag. A member of the Fundawear project team told Apcmag that “they picked the 2560 because they needed 20 outputs.”
Fundawear isn't actually on sale yet, but if you're not worried about co-workers passing by your cubicle, take a look at the slightly NSFW video we mentioned earlier: