Posts with «arduino hacks» label

How to Control Your Cheap RC Car with a Computer

[Jon] wrote in to tell us about his programmable RC car, and the Howto guide that he’s made. According to him, this project can be constructed with $9 worth of parts plus an Arduino and a small toy car. So around $50 if you’re starting from scratch.

At it’s core, this project is about using the Arduino to allow your computer to send signals to the toy car. For this, [Jon] has included JAVA code that should be able to run on Mac, Linux, and PC operating systems. The Arduino code is also included.

Most small RC cars like those used in this project switch on at full speed or turn off, but this project allows the PC/Arduino to give the car PWM signals to control the speed. As pointed out in the video after the break, this can be a bit jerky at slow speed, but still a neat effect. A decent amount of soldering is required to get this project working, but it may be a good project especially if you have some of the parts already available!


Filed under: arduino hacks, toy hacks
Hack a Day 29 Aug 13:01
arduino  arduino hacks  c car  r  toy  toy hacks  

No secret knocks required at [Steve's] house – your subway pass will do

[Steve] is often host to all sorts of guests, and he was looking for an easy way to let his friends come and go as they please. After discovering that his front door came equipped with an electronic strike, he decided that an RFID reader would be a great means of controlling who was let in, and when.

Giving all your friends RFID cards and actually expecting that they carry them is a bit of a stretch, but lucky for [Steve] he lives near Boston, so the MBTA has him covered. Just about everyone in town has an RFID subway pass, which pretty much guarantees that [Steve’s] cohorts will be carrying one when they swing by.

He crafted a stylish set of wooden boxes to contain both the RFID reader and the Arduino that controls the system, matching them to the Victorian styling of his home. A single button can control the setup, allowing him to add and remove cards from access lists without much fuss. For more granular control however, [Steve] can always tweak settings from the Arduino serial console.

The card system is both stylish and useful – a combination that’s hard to beat.


Filed under: arduino hacks, home hacks
Hack a Day 22 Aug 16:01

Arduino WiFi shield available, costs $85 USD

Over on the Arduino blog, the release of the official Arduino WiFi shield was just announced. On the spec page for this WiFi shield. we can see this new board isn’t a slouch; it’s powered by a 32-bit ATMega 32UC3 microcontroller, has provisions for WEP and WPA2 encryption, and supports both TCP and UDP with the Arduino WiFi library. It also costs €69/$85/£55 from the Arduino store.

Now that the announcement of the Arduino WiFi shield is over with, we’ll take this opportunity to go through a few other WiFi adapters for the Arduino that don’t cost an arm and a leg.

The WiFly shield – available from Sparkfun – is a WiFi adapter with the same form factor as the ever popular XBee modules. Of course, it’s possible to make your own breakout board; the WiFly only needs a TX, RX, power and ground connection to connect your Arduino project to the Internet.

We’ve seen a few projects use the WiShield from async labs. It’s a WiFi module packaged in the familiar Arduino shield form factor, and costs $55 USD.

For the hardcore hackers out there, you could always get a bare Microchip WiFi module and get it to work with an AVR as [Quinn Dunki] attempted to. In all fairness, [Quinn] was trying to de-Arduinofy the WiFi library; if you’re cool with Arduino code swimming around in your project, this method will probably work.

There’s also the very, very cool Electric Imp. Basically, it’s an SD card with a built-in WiFi module. After configuring the Imp by holding it up to patterns flashing on your smartphone screen, this device serves as a transparent bridge to the magical ‘cloud’ we’ve been hearing about. The Electric Imp was supposed to have been released in late July/early August, and we’ll put a post up when this cool device actually launches.

Of course we’re neglecting the simplest solution to getting WiFi running on an Arduino project: just use a wireless router. Really, all you need is a pair of TX and RX pins and a copy of OpenWRT. Easy, and you probably have the necessary hardware lying around.

We’re missing a few methods of Arduinofying a WiFi connection (or WiFying an Arduino…), but we’ll let our readers finish what we started in the comments.


Filed under: arduino hacks, wireless hacks
Hack a Day 21 Aug 20:30

Lite Brites fade, but LED clocks are forever

Ahh, the Lite Brite.

What could be more fun than pushing dozens of little plastic pegs through a piece of black paper in order to create a pixelated, though colorful image? Well, I can think of quite a few things more engaging than that, and luckily so can [Lonnie Honeycutt] over at MeanPC.

While contemplating what to build with a pile of LEDs, his daughter came into the room with her portable Lite Brite. He thought that the pegs she was using looked awfully similar to the LEDs on his desk, so he did some test fitting and was surprised to see that they fit almost perfectly.

[Lonnie] thought that the toy would make an excellent clock, and his daughter happily agreed to let Dad do some tinkering. A few hours, an Arduino, and some Charlieplexing later, he had a nice looking clock that his kids were sure to enjoy.

If you’re interested in seeing more about how constructed, be sure to check out his YouTube channel and Instructable, where he happily provides all of the build details.


Filed under: arduino hacks, led hacks, toy hacks

Making the Arduino sleep the long sleep

Earlier this week, I showed you [Naim Busek's] kickstarter for his turn signal helmet. In that article I explained that, while the helmet is a neat idea, I was really interested in what [Naim] had told me about his power consumption.  To put it the shortest way, he has made his arduino sleep so efficiently, it can be waiting for input longer than the battery’s optimum shelf life.

After that article, [Naim] wrote in to give me the details on what he did to achieve such an efficient system. You can read his entire explanation, un altered here.


Have been searching off and on for a particular app note that I wanted to share with you but could not for the life of me find it. Seeing your post I bit the bullet and spent the last few hours searching and finally located it. The document is Designing With Logic from Texas Instruments. The interesting part is Figure 5 (will explain why a little later).

A dive into the low power operation of Arduino hardware

Started with the basics. Made sure all LED driver pins were in the off state by default. The removed the load resistors for all of the feedback LEDS I could not switch off like the one connected to VCC that wastes power any time the battery is connected. As an implementation note, I actually turned SMT resistor sideways and left them connected by one pad. Makes it easy to reinstall it if I want them later.

I had planned to not use the onboard voltage regulator from the beginning because the quiessent current it use is huge 100+ uA. The shield I designed and built used a lower current (50mA vs. 250mA) regulator since I was planning to use it only for the control electronics and sensors. The high current LEDs would run directly off of the higher voltage without any regulation. Since the micro and sensors draw 12-15mA max when fully on 50mA was way more than enough.

The expected current draw for my system was:

  • Voltage regulator: ~5-6uA
  • ATMega328p: ~1uA
  • CMA3000 (@10Hz w/ wakeup): ~10uA

Total: ~16uA

Note: The testing below was done on both an Arduino Pro Mini and an Arduino Fio with similar results. The bike helmet prototype was built on top of an Arduino Fio.

To get the device into low power I started with the Arduino example sleep sketch and went through the guidelines from the datasheet to try and figure out why it was drawing so much power. The Arduino was using ~420uA when the chip is while the data sheet claims

Knowing that I went ahead and bypassed disconnected the supply from Arduino battery input, connected it to the input of my ultra low quiescent voltage regulator and connected the output of that directly to the Arduino VCC. Current system draw went UP to ~155uA. WTF???

Next thing I looked for was pullups on the digital lines for I2C and/or SPI. Not just pins configured as outputs and driven the wrong way but also looking at what weak pullups were intentionally (or accidentally) enabled. I have seen this catch out a number of Arduino developers. If the output value of a pin is configured high, when it is switched to being an input it does not just switch to being a high impedance input. If the digital output register is set a weak pullup (for the AVR Rpu = 20-50kOhms) is enabled on that pin. If a peripheral then decides to make that signal on that input low, the system suddenly sees an increase of VCC/Rpu of current that would not be there if the pullup were not enabled. Whenever I see a system that is some weird multiple of VCC/Rpu off of where it’s sleep current is supposed to be I will look for an input pullup that should not be enabled. In this case with a 3.3V rail a pullup would cause 60-150uA draw. Reviewed all of my code, probed the pins and did not find anything configured wrong. Happy that I didn’t screw anything up but unhappy that i Still have 140uA (of 150uA) disappearing into the ether and sucking my battery dry.

Then I started looking for some of the more obscure types of failures that could be causing this. One of those things that I discovered (then had a crash course on how to fix) is something call “back-powering of digital output pins” or sometimes “pin powering” or “port powering” of a device. Now back to Designing With Logic. Looking at Figure 5, if a chip that has digital I/O is powered down (VCC disconnected) then voltage is applied externally to that I/O that voltage can cause D1 on the input or D3 on the output to reverse bias, allow current to flow and feed the internal VCC of the chip with that voltage (minus a diode drop). Then really weird things can start happening. Most current digital chips can easily run at 1.8V (0.9V for some of the newer ones) so if a an external pin is driven at 3.3V and enough current can sneak through the diode, the part will happily keep running on the 2.7-3.0V it gets internally. Found this out the hard way with a peripheral that would never shut down and reset. Was right on the edge and drew too much current to startup by back powering but once running would happily keep running by back powering. Gave it 3.3V and it turned on took it away and it just kept on running. Was super confusing, since could turn it on but not off???

While the output of the regulator is not a digital I/O pin I got to thinking that something might still be going on with the output circuitry. So I cut the output trace from the regulator on the Fio (I just removed the regulator completely from the Pro Mini) and the current draw dropped to 34uA. This gave me a more than 10x decrease in sleep current for a 10x battery life increase. Running off of 1900mAHr AA batteries it should sleep, still doing 10Hz sampling to detect motion, for 6-7 years. With the 9V batteries in my prototype at 590mAHr it is just shy of two years.

At this point I moved forward with the kickstarter comfortable that I could hit the lifetime targets I had set. The current was still about double my back of the envelope calculations but was not going to be a showstopper. It was still weighing on me that there was something in the system that I did not know exactly how and why it was happening. Just yesterday when I was thinking about this again, I found the spark fun tutorial Adventures in Low Power Land. While I had independently done the same initial steps while going through this process I did not get to the point of looking at the brown out detection (BOD) and changing the fuses. Given that the BOD consumes 15-20uA I am now very happy with my 34uA sleep meaning that with BOD disabled I should be at 14-19uA. :) For 1900mAHr battery that gives a 10-12 year sleep time. That is well beyond the 5-7 year shelf life of a normal alkaline battery. Any time I am exceeding the storage the storage life and approaching the self depletion time of the battery I am very happy. :)


Filed under: arduino hacks, HackIt
Hack a Day 18 Aug 17:01

Birth of an Arduino

Hey look, an Arduino without its clothes on. This one’s just started its journey to becoming the ubiquitous prototyping tool. The image is from [Bunnie's] recent tour of the fab house where Arduino boards are made.

As it says on every true Arduino board, they’re made in Italy. [Bunnie's] trip to the factory happened in Scarmagno, on the outskirts of Torino. The process starts with large sheets of FR4 copper clad material, usually about 1 by 1.5 meters in size. The first task is to send the sheets through a CNC drill. With all of the holes done it’s time for some etch resist; the image above is just after the resist has been applied. A robotic system takes over from here, running the panels through the chemicals which first etch away the copper, then remove the resist and plate the remaining traces. From there it’s off to another machine for solder mask and silk screen.

There are videos of each step available. But our favorite piece is the image at the end that shows a pallet with stacks of completed PCB panels which are headed off to be populated with components.

[via Reddit]


Filed under: arduino hacks
Hack a Day 15 Aug 12:01

Robot cares for grave stones while honoring the dead

This robot was built to care for the graves and honor the dead in the Jewish tradition. It is called “Stoney” and was developed by [Zvika Markfeld] based on a concept by [Itamar Shimshony] who is working toward an MFA degree. The image above shows it in action as part of an installation; to our knowledge it has not been used for actual grave sites. But the concept is not a joke; it’s something that makes the observers think.

The base of the robot is an iRobot Roomba on top of which is built a platform for a robot arm. The arm has easy access to two palettes, one holds small stones, and the other flowers. There is also a small box which holds a rag. It navigates around the grave, placing stones, flowers, and using the rag and a water dispenser to symbolically clean the headstone. All of this is controlled by an Arduino Mega board which controls another Arduino running the arm, as well as the microcontroller in the Roomba.

The details of the ritual, as well as the components of the robot are well explained in the clip after the break.


Filed under: arduino hacks, robots hacks

Making a game with capacitive touch

Hackaday has seen a ton of builds make use of the Arduino CapSense library of late, so it was only a matter of time before we posted a capacitive sensing game controller that is able to move sprites around a screen.

For this build, the controller is made out of small strips of Aluminum foil, wired straight to an Arduino with a few resistors. Once embedded inside a wonderful enclosure that brings about pangs of nostalgia it’s time tow write the game.

For the game portion of the build, Processing was brought into the mix to create a SpongeBob-themed ‘capture all the jellyfish in jellyfish fields’ game. By taping the contacts for the d-pad, the player can move SpongeBob around to catch jellyfish. If you’d like to give the game a go, you can play it in your browser on the project page.

This isn’t the first – or the last – CapSense build we’ll see on Hackaday, but it is the first one dedicated to making a DIY (albeit Nintendo inspired) video game controller. If six buttons aren’t enough, you’ll just have to wait for the PS3 version.

 


Filed under: arduino hacks
Hack a Day 09 Aug 00:00

Yet another Arduino blinkenlight thing, actually pretty cool

On the Tasmanian Linux User Group mailing list, [Hoolio] read someone complaining about the eventual downfall of their upcoming hackerspace as becoming a club of Arduino fanboys. [Hoolio] asked what was wrong with the Arduino, and this terrible, terrible Tasmanian replied, “there’s far too much boring blinkenlights and not enough actual cool stuff.” [Hoolio] took this as a challenge and created his own Arduino blinkenlight project that emulates Space Invaders on a 5×5 matrix of LEDs

The board is just a buzzer, 25 LEDs, 10 transistors, and a pot and button. Before the game begins, a LED chaser is traced out on the perimeter of the display, its speed controllable by the pot. When the button is pressed the game begins, allowing [Hoolio] to move his ship left and right with the pot and fire his lazor with the button.

Yes, it’s a game written for an array of blinkenlights for the Arduino. This doesn’t diminish the build, though. If this were put in a fabulous beige and transported back to 1978, we’d look on the LED version of Space Invaders as fondly as Mattel’s Football.

You can see [Hoolio]‘s game demo after the break.


Filed under: arduino hacks

Learn a new language with the Babel Fish

The Babel fish from Hitchhiker’s Guide to the Galaxy is one of the strangest things in the universe. After inserting a Babel fish into your ear, it feeds off brain wave energy and excretes a matrix from the conscious frequencies into the speech areas of the brain. It’s invaluable as a universal translator, but until Earth is targeted for demolition we’ll have to make do with [Becky] from Adafruit’s Babel fish language toy.

[Becky]‘s Babel fish is still able to feed off the energy given off by language, but in this case the energy comes from a set of RFID cards on which Chinese characters are written. After waving these RFID flash cards in front of the Babel fish, a wave shield connected to the Arduino plays a recording of how the logogram on the flash card should sound when pronounced.

While it’s not a biologically engineered fish that simultaneously proves and disproves the existence of god, every human endeavor – learning a language included - needs more [Douglas Adams] references. You can check out [Becky]‘s Babel fish demo video after the break.


Filed under: arduino hacks