Introduction: Ultrasonic Batgoggles

Picture of Ultrasonic Batgoggles

Wish you were bat? Want to Experience Echolocation? Want to try to "see" with your ears?

For my first Instructable, I will show you how to build your own ultrasonic batgoggles using an Arduino microcontroller clone, Devantech ultrasonic sensor and welding goggles for around $60 or less if you already have standard electronics components. You could also skip the electronics and make a simple bat-mask perfect to wear to the next Batman movie. In that case, the cost would only be about $15.

These goggles allow you to experience what it is like to use auditory cues like a bat and is intended for children in a science center setting to learn about echolocation. The goal was to keep costs as low as possible, avoid making the form of the interaction to be generic or unrelated to its educational purpose and to ensure that the physical form of device embodies the subject matter. For a more thorough discussion of its design, please see the project webpage.

To keeps costs and size low, an Arduino clone is built used however, but this project works just as well with pre-built Arduino microcontrollers.

These goggles were built for "Dynamic User-centered Research and Design" course in the Arts, Media & Engineering program at Arizona State University.

Step 1: Necessary Materials

-Arduino or comparable microcontroller* (if you have the money you can buy the Arduino mini/nano or use a boarduino, otherwise I will show you how to make a small and cheap Arduino clone for this project.)
-Welding goggles (Mine are "Neiko" brand and are easily found on eBay as "Flip up welding goggles" for 3-10 dollars shipped, this specific type works really well)
-Devantech SRF05 Ultrasonic Sensor (or other comparable sensor -- however, the SRF05 has a very low power consumption of 4mA and great resolution from 3 cm to 4 meters, it is about $30)
-something to make ears out of (I used plastic cones, see also: "How to build a better bat costume")
-some type of enclosure for electronics
-3/8" split seam flexible black convoluted tubing (to hide connecting wires)
-piezo buzzer that can run on 5v-9v
-assorted wires
-plasti-dip spray can (black)

Microcontroller Electronics (these components can be skipped if using a pre-built controller)
- Arduino programmed Atmega8 or 168 DIP chip.
- a spare Arduino board or ArduinoMini USB programmer
- Small PC board (available at Radioshack)
- 9V battery connector (available at Radioshack)
- 7805 5v voltage regulator
- 16 MHz crystal (available @ sparkfun)
- two 22pF capacitors (available @ sparkfun)
- 10 microF electrolytic capacitor
- 1 microF electrolytic capacitor
- 1k resistor and 1 LED (optional but highly recommended)
- 2N4401 transistor (optional)
- female and male headers (optional)
- 28 pin DIP socket or two 14 pin DIP socket s(optional)
- small breadboard for prototyping (optional)

The electronics components can also be obtained from or

Tools and supplies you may need
-soldering iron
-hot glue gun
-news paper
-masking tape
-wire strippers etc.

Step 2: Design Some Ears

Picture of Design Some Ears

You are free to use your imagination to build your ears. No bat-goggles should be the same!

I used plastic cones that are used for physical therapy, which we happened to have a large supply of in our lab. But this tutorial gives another nice option for bat ears.

I first drew an oval with a sharpie and cut it out with a Dremel. I saved the cutoff piece to use for the inside of the ear.

Step 3: Cut Ears

Picture of Cut Ears

I trimmed the cut-off pieces of the cone with the Dremel, so that they were smaller and hot glued them to the inside of the larger cone pieces. They did not fit exactly but after holding them in place by hand the hot glue held it in place quite well. If you leave yourself enough space under the ears, you could easily embed the electronics inside the ear, one ear for the controller, and one for the battery. Unfortunately, I did not leave enough space and had to use an external enclosure.

Please take care not to burn yourself while using a hot glue gun!!! You can also easily melt the plastic cones by accident.

Step 4: Prepare Goggles

Picture of Prepare Goggles

The goggles that I purchased were a very un-batlike shiny aqua color. To make the goggles more batty, take the lenses out (remove the nose piece first), sand them, and spray with Plasti Dip spray to give them a nice leathery rubber texture. Before spraying, I masked the interior of the goggles and the parts that touch the skin with masking tape. I also did not apply any paint to the nose piece because the paint reduces the flexibility of the goggle material a little bit and the nose piece is necessary to hold the goggles together.

You will also want to sand and spray the ears as well. Sanded plastic dust is nasty for your lungs and eyes so please wear a mask and safety glasses for these steps.

I sprayed about 3 coats with about 10-15 minutes between coats to get an even texture. When wet, the paint appears glossy, but it dries to a matte texture.

Step 5: Assemble Electronics

Picture of Assemble Electronics

These steps are optional if you use an already built Arduino microcontroller. However, since you are only using a small amount of its capabilities it makes more sense to make a barebones version of an Arduino that is much smaller and cheaper to reproduce. This section might be slightly difficult for someone with no electronics experience, but should be easy for anyone who has assembled a simple electronics kit. A "schematic" sketch for the electronics is attached. The schematic is highly derived from David A. Mellis's Atmega8 Standalone schematic. If there is interest I will make a dedicated Instructable for this step. The decoupled power circuit is from Tom Igoe's Physical Computing book.

I included picture of the PC board version (with sensor/buzzer not connected) as well as a prototyping version built on a breadboard for reference. The breadboard version also shows how to connect the Arduino board as a USB programmer for the microcontroller chip. Since I used a DIP socket for the chip, I can also remove the chip and put it in an Arduino board to program it, but it can be tricky to pull the chip out without bending all the pins -- thats why i included the female header pins for the tx/rx. Even though the board is very cramped, you can see that all of the pins of the controller have a solder pad available to connect to. Since they aren't necessary for this project I did not solder female headers to the unused pins but if they were, you would have the full capabilities of an Arduino Diecimilia except on-board USB in a very small package. The width of the board is approximately one half of the Diecimilia board and about the same length. (here is a similar setup.) It is optional to use a transistor to power the buzzer, the Arduino can provide enough current from the pin itself. However, using the transistor allows you to use other sound making devices other than a buzzer if you have one.

Step 6: Prepare Buzzer and Sensor Wires

Picture of Prepare Buzzer and Sensor Wires

The ultrasonic sensor and buzzer need long wires to run from the goggles to the electronics. The ultrasonic sensor requires 4 wires(5v, ground, echo, trigger) and the buzzer requires two wires (digital output from controller, ground). With some planning you could use a 5 wire ribbon cable, if you have one and share the ground connection between the buzzer and the sensor. I only had a 4 wire ribbon so I used that for the ultrasonic sensor and used a two wire cable for the buzzer. Since the buzzer has two connectors i soldered a row of female headers to the two wires at the correct spacing, this way I can easily remove the piezo buzzer if necessary. The sensor has some solder holes to solder to which you should go head and use. Make sure to use the correct side, the holes on the other side are for programming the sensor and won't work!

Step 7: Finish Wires

Picture of Finish Wires

Next solder male header pins to the other end of the wires. (These will connect to the microcontroller.)

Step 8: Upload Code

Picture of Upload Code

To upload the code, connect the 5v, ground, TX, RX pins on the PC board to those same pins on a chip removed Arduino board using some wires. Then connect the reset pin on the PC board to the where pin 13 would go in the DIP socket on the Arduino board. If this is confusing, please see the image which this replicates, except with an Arduino Mini. Next simply past the attached code in the Arduino editor (or brows to and open the .pde file in Arduino after downloading) and select the appropriate serial port and Arduino chip you are using and press the upload button.

The code works by playing beeps and then varying the inter-beep interval based on the distance measured by the sensor. So, if you are close to an object, the inter-beep interval decreases and the beeps occur faster. If you are far away from an object, the inter-beep interval increases so the bleeps occur more slowly. The controller checks the distance every 60ms, so the inter-beep interval changes dynamically. Currently it is scaled so 1 inch makes a 10ms difference in inter-beep interval. This makes the goggles work better for closer distances, but can be increased to work better for further distances. I tried an exponential scaling that increased the range at closer distances(using fscale but it didn't seem to change the response much in exchange for tons of code, so I scrapped it.) Since the time it takes to read the distance depends on the distance of the object being sensed (the sensor returns pulses up to 30ms long) the code measures the time it took to get the reading and compensates the delay times by that amount.

Every line on the code is commented and is (hopefully) self-explanatory.

Step 9: Put Electronics in an Enclosure

Picture of Put Electronics in an Enclosure

Cut the convoluted tubing so it is the right length from the goggles to someones hand or pocket. Put the wires connecting to the ultrasonic sensor and piezo buzzer inside the split seam convoluted tubing.

Drill a hole in your enclosure that can fit the convoluted tubing. I did this using a trial and error approach starting with a small size and increasing the diameter until the tubing fit just right. Run the wires through the hole then squeeze in the convoluted tubing. My cables are slightly long so I had to fold them around to fit. Some Velcro holds the circuit board to the enclosure.

Step 10: Connect Wires

Picture of Connect Wires

Now you can use the male header pins at the ends of your wires and connect to the appropriate pins on the PC board (use the schematic!). If you are using your own Arduino then just use the same pin mappings as in the schematic.

Step 11: Close Enclosure

Picture of Close Enclosure

This enclosure had screws to hold it shut but other enclosures (altoids tin?) could just snap shut. Since I wasn't sure if it was working, I used tape to keep it closed for now.

Step 12: Attach Ears

Picture of Attach Ears

To attach the ears we have to first put two vertical slots with the dremel in the ears for the strap to pass through.

Step 13: Attaching Ears Continued

Picture of Attaching Ears Continued

After running the straps through the ears, I used Velcro to affix the ears to the goggles. This ended up being somewhat unstable, but highly adjustable to get them pointed to the right way. Gluing them would have been more permanent, but the Velcro has survived several demos.

The ultrasonic sensor somehow was the perfect fit to be shoved onto the locking mechanism for the flip up capability of the goggles. You have to pull the rubber goggle frame out of the plastic lens piece slightly from the top to make space then the sensor fits right in. The sensor does pop out sometimes, so a little glue could fix it for good. Unfortunately this method of attachment makes it impossible to flip the lenses up anymore.

Step 14: Experience Echolocation

Plug in a battery put the enclosure in your pocket and explore! The close you get to objects in your line of sight, the faster it beeps, the further you get, the slower it beeps.

Please do not wear these in hazardous environments or in traffic! These goggles are for educational purposes only and meant for controlled environments since they are intended to block your peripheral vision and regular vision so you are more reliant on auditory cues.

I am not responsible for any injuries as a result of wearing these goggles! Thanks!

Since this is based on Arduino, you could easily add a Zigbee or blueSMIRF module to interfaces these with computers wirelessly. Future work might be adding a dial to adjust the sensitivity and adding a on/off switch.


nurdee1 (author)2016-07-27

How do you do the hook up if you have a Arduino Uno and you are not building the board yourself

Batman20 (author)2015-03-23


MayurR (author)2014-10-22

Hi, erm - can't see the link to build one...

suneth (author)MayurR2014-10-22

The steps are listed in the instructable, have you gone through all the steps?

Raphango (author)2013-08-13

Excelent first instructable! thanks for your initiative! Keep going with inovative ideas! Congratulatios, again! ;)

billbillt (author)2013-05-25

great idea

doomsdayltd (author)2011-07-26

i would personally go with a smaller more compact version of this, but the ears would most likely be mounted by straps.

el greeno (author)2010-03-09

I was a bit sad not to find this ending up with a 'DareDevil' type visual output.

On a DareDevil theme, have you heard about this boy???

lokivoid (author)2009-12-15

Whats the point of the ears and goggles? looks a range finder module running the manufactures sample code.

I was expecting something cool like converting the Ultrasound ping data into a visual medium.

eyesee (author)2009-09-20

Very cool

palak.nayyar (author)2009-08-02

hey i dont know anything about aruduino programmed atmega8 please let me know about it....or refer me related website... the way ur project is just awsome.

suneth (author)palak.nayyar2009-08-02

See my previous comment about the Arduino. Here is another website that sells a similar board.

In this project I use an Atmega8 that is pre-programmed with the Arduino bootloader. If you have access to a ATMEGA programmer you can load the bootloader yourself.

palak.nayyar (author)2009-08-02

hi ! i want to make such goggles for my final year project... i wanna know that if its components are easily available in indian market? please let me know.... thanks

suneth (author)palak.nayyar2009-08-02

I am sure most of the parts should be available or could be shipped to India. You could use a different ultrasonic sensor and any version of the Arduino microcontroller.

This site seems to have some Arduino clones in India:

danbar (author)2008-12-29

hey could u please tell me mail me the electric components cause I can't identify the number and models please my e mail is

dombeef (author)danbar2009-04-25

Wait are you trying to get free components?

suneth (author)danbar2008-12-29

which components are you having trouble finding?

danbar (author)suneth2008-12-29

i dont know the name in english cause im mexican but mmm the black rectangle and the other thing with 3 legs that is also black but have some metal on top could u please tell me thei name in english and the number please

suneth (author)danbar2008-12-31

the black rectangle: [ ATmega168 with Arduino Bootloader]

or you can use any of these arduino boardsany of these arduino boards

the one with three legs: 7805 voltage regulator

danbar (author)suneth2008-12-31


codz30 (author)2008-10-18

should make a distance output, firgure out when signals are sent, speed = distance/time, then output distance :)

astro boy (author)2008-07-06

convert the beeps into an lcd screen or a set of LEDs and have 1=4m 2=3.5m 3=3m 4=2.5m 5=2m and so on and make it beep fast if your 5-10cm away from something that would make it more awesome and easer to understand

pkrautter (author)2008-06-24


yogeshmithraji (author)2008-06-12

just fantastic.But I think it would not reach the public. Make it less terrifying

HuggyBear (author)2008-05-26

This is exactly the same thing they use for backing up warnings on cars: the closer the car gets to the object the faster the pulse becomes. Things like this that seem useless, usually have practical applications.

Errr blind people... Umm using them in applications where you can't see whats going on like plumbing and working with stuff in walls, these would be cheaper to manufacture that fibre optic micro cameras...

-Aj- (author)killerjackalope2008-06-02

(fibre's whats in your diet ;) ) fiber optic micro cameras are AWESOME!! who cares about the cost! BWAAA

killerjackalope (author)-Aj-2008-06-03

They're not really they're rubbish compared to the wireless spy cams that are almost as compact and much better resolutions, that and you can put them anywhere, I used to know a guy that owned a shop that did all that stuff, we put spy cameras in the most random objects and places just to see if it could be done, the best was adding it to an old slr with the innards gutted to repair another one...

-Aj- (author)killerjackalope2008-06-03

lol ok. yeah ive got a small 2.4 ghz wireless camera with a res of 640x480 (standard tv res) its only the size of a 9v battery. range of 500m (1500ft) los. Could make it smaller if i stripped off the case.

killerjackalope (author)-Aj-2008-06-04

Those are sweet and you can get higher quality ones aswell, they're a great thing for movings stuff and the likes of parachuting and cycling videos...

Itsgoofytime (author)2008-06-02

Run around in public with these on.

rdaumar (author)2008-06-01

the strobe light i wanted is the 2 in 1 strobe led light schematic diagram...

rdaumar (author)2008-06-01

hello... good day.... anybody can give me a schematic diagram of 2 in 1 strobe light with PCB-layout? your help is highly appreciated. thank

AndyGadget (author)2008-05-27

I really like this one - Great 'ible. You say the ultrasonic sensor has a (spec.) range of up to 4 metres. Can you get a decent beep-interval change anywhere near this? I've always been disappointed with the range of ultrasonic sensors (although I've not used ones as expensive as yours.)

suneth (author)AndyGadget2008-05-27

The ranging of the sensor itself is good, for example, if you have it send the readout to your computer monitor. In terms of the interval change, it becomes much less noticeable due to the mapping that I have used. For purposes of demonstrating the technology I made the mapping work better at closer intervals. If you used a different form of feedback the range would be quite good (something continuous like pitch of a continuous tone, or some kind of display).

AndyGadget (author)suneth2008-05-27

If you've got a potential range like that, I think you do need a long and short range signalling as other people are suggesting. For long range, how about counting feet in base 5, indicated once per second? Low beep for the fives, high beep for units, so twelve feet would be 'brr brr bip bip', eight feet would be 'brr bip bip bip'. For less than three feet, either rising tone or increasing rate pulses as discussed. I think you could get used to that with a bit of practice.

AndyGadget (author)AndyGadget2008-05-27

In another comment you mention the spread of the signal. Wouldn't a short cardboard tube or cone on the sensor allow you to pick up signals more selectively (with the loss of some sensitivity). This may give a better indication of objects directly in front of you, rather than trying to cover your full optical field of view.

suneth (author)AndyGadget2008-05-28

Interesting suggestion about the ranges. That might work well.

Here is the spread of the signal from

I haven't tested using a cone to narrow a signal, but I think it might just confuse the sensor because the "pings" would reflect off the inside of the cone.

AndyGadget (author)suneth2008-06-01

Good point. I remember the microwave antennas I used to deal with had RF absorbing material in the horns. For ultrasonics, I suppose the equivalent would be a fuzzy felt material.

the_burrito_master (author)2008-05-31

wow very cool I'm going to give you a vote!

Jeremyrooker (author)2008-05-31

Ok so I have no idea what i'm talking about, but I hope I can inspire someone...

Imagine this concept with multiple "ears" and only one output. Each "ear" had its own area it would be sensitive to, and then instead of beeps it would come out as different colors on a lcd screen. Each "ear" would make a pixel so you could "See" distances. The more "ears" the less pixelated it would be.

ORR have multiple "Ears" listing for specific audio phenomon, One for listing for amout of sound reflected-indicating texture or matieral of surface(cloth or tissue reflecting less than solid surface)- and another for sensing increased or decreased frequencies- indicating movement. In this senario, distance could be light and dark, movement would be indicated in colors. a wall far away= faint and dim, a ball bouncing t'wards you would be a bright red circle, and it bouncing away would be a darker blue circle.

hypermechanic (author)2008-05-30

To bad we don't have hollow jaws like dolphins. If a ultra sound version with LCD goggles could be made it would be cool.

ac1D (author)2008-05-28

Would it be possible to use the "ultrasonic" for ppl who don't see/don't have good eye?

jongscx (author)ac1D2008-05-28

Lidar or a small-scale radar (or a combination of all these would probably be best).... Then integrate them into a usable system, so that there is a fail-over backup/redundance, create an AI or algorithm to combine those signals, then get a good UI for it so that use is essentially first-nature (You don't want obstacle avoidance to be second nature really)... At which point it might be worth your while to just skip it and go for cybernetic ocular implants. A really problem with using an ultrasonic ranging system would probably be that the system would be very susceptible to environmental changes (air density and conduction of sound affected by temperature, moisture, etc) and the system may not be accurate enough for something so important.

mwwdesign (author)jongscx2008-05-29

Check this out:

This kid uses his own ultrasonic system! No hardware required.

jongscx (author)mwwdesign2008-05-29

O_O... that's ridiculous... and awesome... it's Ridiculously Awesome!!! Reminds me of Toph from Avatar... only this kid is for real. (although that "this is a fire hydrant... etc." might be a little bit cheated as he's familiar with that environment)

damasta (author)jongscx2008-05-30

it's not ultrasonic, just sonic he has to hear the echo to "see"

mwwdesign (author)damasta2008-05-30

Correct! You got me fair and square. ;)

whiteoakart (author)jongscx2008-05-30

He uses his clicking in unfamiliar environments, as well. It really is quite amazing and gives you an idea of the potential and flexibility of the human brain. Oh, and before someone comments, it is a MYTH that we only use 10% of our brain. We use pretty much all of it.

Zujus (author)ac1D2008-05-28

Interesting idea indeed.

About This Instructable




More by suneth:Ultrasonic Batgoggles
Add instructable to: