Make Your Own Spy Bug (Arduino Voice Recorder)

35,087

151

27

About: Awesome Electronics Tutorials, Projects and How To´s

In this project I will show you how I combined an Arduino Pro Mini with a couple of complementary components in order to create a voice recorder which could also be abused as a spy bug. It has a run time of around 9 hours, is small and super easy to use. The recording quality might not be the best, but it should be suitable for many purposes. Let's get started!

Step 1: Watch the Video!

The video gives you all the information you need to create your own Spy Bug. During the next steps though I will present you some additional information.

Step 2: Order Your Parts!

Here you can find a parts list with example sellers for all the components that you will need.

Amazon.com:

1x Arduino Pro Mini: http://amzn.to/2Eh0YnW

1x LiPo Battery: http://amzn.to/2E30BcU

1x TP4056 LiPo Charge/Protection Board: http://amzn.to/2s77dWo

1x Micro SD Card Adapter: http://amzn.to/2GMEY2G

1x Electret Mic + MAX9814 Amp: http://amzn.to/2GLB5uJ

1x Tactile Switch: http://amzn.to/2Eh15Qo

1x 5mm Red LED: http://amzn.to/2GNotDt

1x 2kΩ Resistor: http://amzn.to/2GNouY3

Ebay:

1x Arduino Pro Mini: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x LiPo Battery: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x TP4056 LiPo Charge/Protection Board: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x Micro SD Card Adapter: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x Electret Mic + MAX9814 Amp: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x Tactile Switch: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x 5mm Red LED: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

1x 2kΩ Resistor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...

Amazon.de:

1x Arduino Pro Mini: http://amzn.to/2FHf9PY

1x LiPo Battery: http://amzn.to/2DZnbY5

1x TP4056 LiPo Charge/Protection Board: http://amzn.to/2EE8pTT

1x Micro SD Card Adapter: http://amzn.to/2nHrsVd

1x Electret Mic + MAX9814 Amp: http://amzn.to/2FHzW60

1x Tactile Switch: http://amzn.to/2BTCxYg

1x 5mm Red LED: http://amzn.to/2BTCyLO

1x 2kΩ Resistor: http://amzn.to/2nKX5NN

Step 3: Build the Circuit!

Here you can find the schematic and pictures of my finished Spy Bug. Feel free to use them as a reference.

Step 4: Upload the Code!

Here you can download the Arduino code for the project. Use an FTDI breakout to upload it to the Arduino Pro Mini. And don't forget to download/include the TMRpcm library:

https://github.com/TMRh20/TMRpcm

Step 5: Success!

You did it! You just created your own Spy Bug!


Feel free to check out my YouTube channel for more awesome projects:

http://www.youtube.com/user/greatscottlab

You can also follow me on Facebook, Twitter and Google+ for news about upcoming projects and behind the scenes information:

https://twitter.com/GreatScottLab
https://www.facebook.com/greatscottlab

Share

Recommendations

  • Woodworking Contest

    Woodworking Contest
  • Party Challenge

    Party Challenge
  • Classroom Science Contest

    Classroom Science Contest

27 Discussions

0
None
GiorgosK92

Question 2 months ago

Greetings,

What format was the sd card fat32 or fat?

thank you in advance

0
None
GiorgosK92

Question 2 months ago

Greetings,
What role is playing the while loop in first 4 lines in void loop?

Thanks

0
None
Amine19

Question 3 months ago

what parameters make the recording time encrease or decrease, plz , i need to record up to 12hours for my school project

0
None
sanjay sonkar

10 months ago on Step 4

exit status 1

'class TMRpcm' has no member named 'startRecording'

how to fix this error

pls help Great scott

1 reply
0
None
LeonardoV46sanjay sonkar

Reply 4 months ago

In the Arduino IDE go to Sketch/Include Library/Add .ZIP Library, now that you have added the Library to the Arduino IDE go to \Documents\Arduino\libraries there you will find the TMRpcm library, modify the pcmConfig.h file, around line 75 is a #define ENABLE_RECORDING just uncomment that line and the one below that is #define BLOCK_COUNT 10000UL, save the .h file and compile again.

1
None
paclevkov

7 months ago

There is config file in the library. Scroll down and find Recorder option, uncomment it to set the library to Recorder mode. Then the code will compile successfully.

2 replies
0
None
KunalB33paclevkov

Reply 4 months ago

Can you please explain this in detail.I'm not getting what you're saying. I'm stuck at this project

1
None
paclevkovKunalB33

Reply 4 months ago

Sure, after downloading the library, open the folder TMRpcm, in the main root, you can find pcmConfig.h file. Open it with text editor program. Scroll down to line 75(different lines can be found on different versions, mine is 75), you will see that, there is commented row: //#define ENABLE_RECORDING.
Uncomment it, delete the tho "//" symbols, it should look like this:
#define ENABLE_RECORDING.
Save the file
as last step.

0
None
TristanS50

Question 5 months ago

When I record my WAV files come out with no data. I cannot play any of the files I get. What could be wrong?

0
None
AlperD8

Question 6 months ago

Can i use max 4468

0
None
JOSEPHW144NathanR124

Answer 8 months ago

you could always add that functionality yourself..

0
None
SonakulK

Question 10 months ago

i dont have microsdcard, it work?

0
None
arduinonewbie

Question 11 months ago on Introduction

Thanks for the great tutorial. Being a newbie in arduino, I followed the instructions precisely and I'm able to record voice. I use Arduino Uno and the SparkFun Electret Microphone Breakout. I haven't incorporated the batteries yet and the system is powered by my laptop through a usb cable. Unfortunately, there is a continuous popping sound in the recorded wav file. Any ideas why this happens?

0
None
tomik986TM

Question 1 year ago

Can I ask anyone, when I am recorded a .waw file it has 5000kB or length of 9:21:26 and I don't know why. Thanks everyone who answered.

1 answer
0
None
zonkerharristomik986TM

Answer 1 year ago

Did you maybe "startrecording", but not use "stoprecording" until 9 hours later?

1
None
Bikramghuku05

Question 1 year ago

It is showing error that tmpcm does not have any members named startrecording and stoprecording

1 answer
1
None
onlun79Bikramghuku05

Answer 1 year ago

You need to edit the header file (pcmConfig.h) to enable the recording function.