How to Make a Fake Geiger Counter

What sound effect can enhance a mad scientist's lab at Halloween?  The ticking of a geiger counter!  And imagine...What if you had a fake geiger counter you could wave over anything, and whenever you wanted, set off furious clicking? 

That's what I built for our Halloween party last year.  We had a guided tour, where the resident mad scientist took people around in a small group.  When they got to the toxic waste dump, they were "checked out" with the fake geiger counter...and wouldn't you know it?  Some of them were already exposed before they came.  Tsk, tsk.

It turns out that a low-key, realistic effect like this will creep people out much more than a lot of traditional stuff (I speak from experience.)  A skeleton popping out of the ground?  Eh.  A zombie munching on an arm?  Cute.  I've been exposed to radiation?!  AAAHHHHHH!

After searching the web, it seems that no one has created a live geiger counter sound effect generator.  You can find short sound clips of geiger counters, but they're only a few seconds long and they sound like a recording, plus if you used one it would repeat the same pattern over and over.  I wanted a hand-held device that would generate the sound effects live.

This is an extremely accurate simulation of the real thing.  I've shown it to people who work with radiation in their jobs, and they've all said, "Yup, that's what it sounds like."

Check out this video:

There are two parts to making this - the electronics and the geiger counter prop itself.

Electronics Sound Effects Overview

This is powered by an Arduino.  When you turn it on, it makes a slow, "background radiation" clicking sound effect.  Press the button and the sound effect rapidly ramps up to an alarming rate.  Release the button and the clicking goes back to normal.  There's also an optional LED that acts as a power light and flickers with the clicking, but the unnerved Trick-Or-Treaters didn't seem to notice it.

The Arduino generates a randomized clicking on one of its pins.  This is sent to a small LM386 amplifier which boosts the volume, and powers a mini 8 ohm speaker.  I tried connecting the Arduino directly to the speaker, but even with a capacitor, you can barely hear the clicks, so I added the LM386 circuit.

UPDATE, 5/22/2013:
I've found a pre-made mini audio amp that is better than the LM386, and is really cheap.  See the last step.

Step 1: Electronics Schematics

This is quick to assemble on a breadboard.  Note that you should click on the schematic and view the original size, so you can read all the notes clearly.

Electronics parts:

- Arduino.  I used the "Diavolino" from Evil Mad Science: 
If you use this you'll also need an FTDI cable to program it, see their site for details.  Not only is it inexpensive but the Evil Mad Science people have lots of other cool kits.  Check out their Larson Scanner!
- Battery box.  The Diavolino can use one that holds 3 AA batteries and this lasts much longer than a 9V.

- LM386 Low Voltage Audio Power Amplifier.  This is a classic chip, available at Radio Shack, Jameco, etc.
- 220nf capacitor
- 220uf electrolytic capacitor
- 8 ohm speaker.  I had a few surplus speakers, but none of them were good enough.  I finally used a quality one that's loud, Jameco Part no. 135589.

- Pushbutton, momentary on.  One of these:
- 2.2k resistor

- LED.  I used red.  This is optional but adds a nice touch.
- 330 ohm resistor

- On/off switch.  This is spliced into one line from the battery box to the Arduino.

After testing the circuit, I built the LM386 amp on a small Radio Shack project board, and included the connections for the button as well.  This was to save space in the project box.

Step 2: Program the Arduino

A little background and credit where credit is due...

This project started when "joshua17ss2" on asked if there was a circuit to make geiger counter clicking sounds.  After some discussion, "Hooked on Scares" (who knows his stuff and has his own controller board at suggested some code.  I discussed this with a friend of mine, who is a network software engineer, and he got intrigued by the problem.  After a couple of weeks of coding in his off time, we had the result I've got here.  Of course, when he did it, he said, "What's this Arduino stuff?" and coded it in straight C for the Atmega chip.  After Halloween, I spent time over a few nights wrapping my head around what he'd done and porting the code to the Arduino environment, which turned out to only be a few changes. 

If you want to run this on an Atmega chip without the Arduino bootloader, you can find the changes needed in the comments.

So, program the Arduino with this code, hook it up to the LM386 amp, speaker, and the button, and you'll be good to go.

Step 3: Assemble It

These days, a geiger counter is a small square box.  But we wanted something a bit more interesting (and threatening), so I made this look like one of the older models with a handle.  Do a Google image search for "geiger counter" if you want examples.

Parts needed:

- Project box.  The one I had on hand is 5 1/2" long, 3 1/4" wide and 2 1/2" high.  Made by Serpac, I got several at Jameco.
- 1/2" PVC parts.  From the hardware store.  There are two end caps, two 90 degree elbows, and some straight parts.
- Lid from a can of spray paint, used for the sensor area (the speaker is hidden here).

This was pretty simple, I got it all done in an afternoon.  We were in a rush to complete a bunch of stuff for Halloween, so this isn't as neat as it could be (you can see hot glue here and there, and the holes in the sensor aren't as straight as I'd like, and they could've been cleaned up a bit), but it was used at night and no one noticed or cared.

Assemble the handle from the PVC tubing.  Drill holes in both end caps, one to mount the button and the other for the wire to come out inside the box.  Solder long wires onto the button.  After spray-painting the handle black, thread the wires through the hole in the cap, screw the button in place, put the cap on the end of the handle, then thread the wires through the rest of the handle.

Drill a hole in the project box for the PVC tube, push the end of the handle through the hole, thread the wires through the other end cap, and use the second end cap to hold the handle in place.  Hot glue around the base of the handle where it meets the project box will keep it from slipping.

For the sensor, cut the lid of the spray paint can down so it's shorter (this is 3/4" tall), then drill a bunch of holes in it in a pattern.  I also spray painted it silver.  When you figure out where the sensor will mount, drill a hole for the speaker wire behind it.  Hot glue the speaker in place in the lid, thread the wires from the speaker through the hole in the body, and hot glue the sensor assembly in place.

Drill holes for the on/off switch and the LED.  Wire them up and mount them to the lid.

Finally, tape the battery box into the bottom, connect up all the wires to the Arduino and the LM386 amp, and close it up.

Step 4: Here's the Result

Step 5: Update, 5/22/2013

A friend let me know about this very cheap, very tiny, audio amplifier board.  It's based on the PAM8403 chip and can easily be found if you search for "PAM8403 Super Mini Digital Amplifier Board" or "Mini Digital Power Amplifier Board 3W+3W DC AMP".  It costs less than $5.00 and can be found as low as $3.25.

You can use it instead of the LM386 board, and it will take less time to make, and will be louder.  The top photo is a closeup, and you can see how small it is really is next to an USQuarter on the breadboard.

To hook it up, power goes to 5+ and GND in the center (the GND next to L+), the speaker goes to R+ and R- on one end, and then the sound from the Arduino connects to RIN on the other end of the board.  The board supports stereo (and is pretty good at it!) but for this use, we only need one channel.  I found no difference in this application if I connected the GND next to the RIN to the ground of the circuit.

Make It Real Challenge

Participated in the
Make It Real Challenge

5 People Made This Project!


  • Planter Challenge

    Planter Challenge
  • DIY Summer Camp Contest

    DIY Summer Camp Contest
  • Barbeque Challenge

    Barbeque Challenge

22 Discussions


2 years ago

hey jeff
could you post a picture of the circuit scheme with the PAM?
having a bit of trouble trying to guess it out.

1 reply
Jeff Haasjonthan.kidishman

Reply 2 years ago

Zoom in on the photo of the PAM board next to the breadboard (it is upside down compared to the diagram that shows the connections).
Referring to the photo, from top to bottom:

The first two are the sound from the Arduino...
Black goes to GND. Green is the signal (sound input from the Arduino).

Next is power from the Arduino:
The red wire is 5V from the Arduino, black is GND to the Arduino.

The bottom two are the speaker connections. These are red and black but when you use a little speaker like this it really doesn't matter which one goes where.

Main tip is to make sure that the sound input from the Arduino goes into the same channel as the sound out to the speaker - so GND and RIN for the input and then R+ and R- for the speaker connection.


2 years ago

Maybe we chose this as a bar too high for our first arduino project. step two you gloss over just how to get the program onto the board. saying you can put it directly onto the chip. so how...

1 reply
Jeff HaasCrystalL65

Reply 2 years ago

If you're not familiar with any Arduino concepts, go to the tutorials at one of these websites and work through hooking it up, loading a simple blinking LED program onto it, etc.



Jeff Haas

3 years ago

Phil, whenever you connect a button to a microprocessor (Arduino, Basic Stamp, etc.) you need the resistor. Here's a link to a tutorial on the Arduino website, it explains what's going on:

1 reply

3 years ago

Hi all

I've just made one of these with an Arduino UNO, and it works fine, except sometimes seems to spontaneously go into "detection" mode i.e. as if the button has been pressed, but it hasn't. I can't read this style of Arduino code - anyone have any suggestions?

1 reply
Jeff HaasPhilM49

Reply 3 years ago

Double-check the way you've got the button set up - it needs the pull-up resistor connected as in the diagram. Otherwise you might be false triggers.


3 years ago on Introduction

it's interesting that you have to resort to an Arduino. there really seems to be no analog schematic for a geiger counter sound effect. i guess one would need a source for shot noise with adjustable frequency, but it really does not appear to exist.

1 reply
Jeff HaasSouthpole

Reply 3 years ago on Introduction

There were no analog circuits I could find when I first started this project. Your comment got me to search again...I turned up two newer projects that create similar sound effects, but with much less control and fidelity to the sound of a real geiger counter.

The advantage of an Arduino is that there is software control over the effect, including the ramping up and down of the clicking when the button is pressed. Also, some physics formulas were used to get the right type and rate of clicking.

And since I posted this in 2012, Arduino clones have become very inexpensive, which makes this way of doing it less trouble than wiring up a circuit yourself.

Hi Jeff,
Thanks for this project! I'm wondering, if I use the mini digital amplifier board, do I still need the capacitors and if so, where do I place them? Thanks for the help, I'm planning on making this using an actual old style Geiger counter for my mad scientist lab this year!

2 replies

Good question. I just re-tested this - you don't really need the capacitors if you're using the small audio amp.

I solder short wires to the audio board and power it from the Arduino. The 5V and GND in the center go to those connections on the Arduino, and the RIN (for Right speaker in) takes the connection from pin 10. Then R+ and R- on the audio board go to your speaker. An old computer speaker works fine, but I tried a few, and the best was the heaviest, because it had the biggest magnet on the back. If the speaker is in a closed compartment, it will sound better, since all the sound will be reflected out.

And please post a video of your completed project! It will be interesting to other people here to see how you modified the old Geiger counter.

Thanks so much for the quick reply! I'll be sure to post pics or video of my completed project, I'm just waiting on the speaker to come in and then I'll get started on it! Thanks again.


4 years ago on Introduction

I would like to make one, but I am a noob at Arduino. Someone gave me an Adafruit Gemma board. From what I can tell, it's basically a severely stripped-down version of the regular Arduino boards. Can it be used for this project?

When I try to load you code, it gives me an error message. I assume it's either an error on my part, or the Gemma board can't run the code..

'TCCR1B' was not declared in this scope.

FUMH43DH2MYLUI4.ino: In function 'void stop_timer1()':

FUMH43DH2MYLUI4:45: error: 'TCCR1B' was not declared in this scope

FUMH43DH2MYLUI4.ino: In function 'void start_timer1()':

FUMH43DH2MYLUI4:50: error: 'TCCR1B' was not declared in this scope

FUMH43DH2MYLUI4:50: error: 'WGM12' was not declared in this scope

FUMH43DH2MYLUI4.ino: In function 'void set_compare_timer1(uint16_t)':

FUMH43DH2MYLUI4:62: error: 'OCR1AH' was not declared in this scope

FUMH43DH2MYLUI4:63: error: 'OCR1AL' was not declared in this scope

FUMH43DH2MYLUI4.ino: In function 'void ioinit()':

FUMH43DH2MYLUI4:156: error: 'TCCR1A' was not declared in this scope

FUMH43DH2MYLUI4:157: error: 'TCCR1B' was not declared in this scope

FUMH43DH2MYLUI4:163: error: 'WGM12' was not declared in this scope

FUMH43DH2MYLUI4.ino: In function 'int main()':

FUMH43DH2MYLUI4:178: error: 'TIMSK1' was not declared in this scope

1 reply
Jeff Haasakumabito

Reply 4 years ago on Introduction

The Adafruit Gemma has a different processor than a standard Arduino. It's designed to be a very small board that is used in "wearable" projects and sewn to clothing. The processor has much less memory and doesn't support all the same features as the chip on a regular Arduino.

If you want to do this project, you'll need to get a standard Arduino or Arduino clone.


6 years ago on Introduction

i have just finished building this but it's r quiet any ideas as to why?? or a solution to make it louder, need it for mid next month and my knowledge is lacking Thanks

4 replies
Jeff Haasdanisparx

Reply 6 years ago on Introduction

Make sure you use the amp, if you don't use that, you get a very quiet clicking sound. I also had to try a few different little speakers to get one that performed well.

danisparxJeff Haas

Reply 6 years ago on Introduction

i made the amp as per your design then i also checked a couple of other sites about the LM386 chip and found the gin could be adjusted witn a cappy between 1 and 8 and then a pot in series but even trying that i cant get any real sound from it??


Reply 6 years ago on Introduction

ok maby when i follow all the design and check my work properly ill realise to ground pins 2 and 4 lol that helped but im still not loud enough?? im going to be using it at a party so need a lil more volume if u know a way to max this or should i build another one and drive one into the other amp??

Jeff Haasdanisparx

Reply 6 years ago on Introduction

Glad to hear you fixed the amp. I made a lot of the same kinds of errors when I was first building circuits.

I'm on the road right now, so I can't test this, but I think you could take the output from the LM386 amp and put it through a set of computer desktop speakers, instead of into the small 8 ohm speaker. It depends on if you want to make a hand-held device or just need the sound effect for the background.

You can also try the more advanced versions of the LM386 circuit on the datasheet and see if they give you enough volume, but I think that might not be as easy as using the computer speakers.