Audio Voice Recording ISD1820 Module With Microphone + Loudspeaker

AED 28.10

Low stock


The ISD1820 Voice Record and Playback Module provides a simple way to record up to 10 seconds of audio and then play it back under MCU or manual control.


  • ISD1820 Voice Record and Playback Module


  • Record and playback up to 10 seconds of audio.
  • Pushbutton and MCU controllable
  • Edge or level activated playback
  • Built-in microphone
  • On-chip 8-ohm speaker driver
  • Duration and sample rate can be modified up to 20 seconds with resistor change
  • Auto power-down mode
  • 2.6 -5V operation

With the built-in microphone, you can record one message that is up to 10 seconds long.  This can be extended up to 20 seconds with a resistor change.  The message can be rerecorded up to 100,000 times and is non-volatile.

A small built-in audio amplifier can drive an 8-ohm speaker.

Main chip: ISD1820
Size: 38 mm * 42.5 mm
Operating voltage: 3 ~ 5 v DC
1 PCS * ISD1820 Module
1PCS * Loudspeaker

1PCS * Free cables

The main features of the module are shown below.  The main features such as Record, PlayE and PlayL can be activated by Jumper

RECRECORD – Pin is active HIGH to start recording and must remain high while the recording is in process.  The red LED will light while recording.  Once the pin goes LOW or it runs out of memory, an End-Of-Message (EOM) marker is automatically recorded.

Pressing and holding down the pushbutton will also record a message.  Release the button to stop the recording.

PLAYEPLAY Edge – Pin is edge activated when it transitions to HIGH.  The recording will play until the EOM is reached.  The pin can be set LOW while message plays and it will not terminate the message.  When EOM is reached the red LED will flash.

Pressing the pushbutton will play the entire recorded message.

PLAYLPLAY Level – Pin is an active HIGH.  When the pin goes HIGH, the message will play until the pin is set back to LOW or the EOM is reached.

Pressing the pushbutton will play the recorded message until the button is released or the EOM is reached.

PTREPEATREPEAT Jumper– if moved to the right will play the recorded message continuously.
FTFT Jumper– if enabled it will e enable a Feed-Thru mode of operation.  In this mode of operation, any audio picked up by the mic will be sent directly out to the speaker
LEDLED Output – Normally HIGH, goes LOW when LED is lit
VCCVCC can range from 2.6 to 5.5V.  Only one VCC pin needs to be connected
GNDThe ground should be common with the uC.  Only one GND pin needs to be connected
NCNo Connect

The ISD1820 chip has a Resistor Controlled Oscillator input (ROSC) input.  A resistor placed between the ROSC pin and ground sets the oscillator frequency and therefore sample rate and thus the maximum duration of the audio.  As per the table below, a tradeoff can be made between using a shorter duration recording, but with a higher sample rate and bandwidth or the duration can be extended up to 20 seconds with a lower sample rate and bandwidth.

The module ships with a 100K resistor in location R4 that is connected to the ROSC pin on the ISD1820P chip.  It is put into the circuit with the jumper at location P2.  100K is what sets the 10-second duration for the recording.  R4 can be replaced, or the jumper can be removed and a different value can be jumpered from the header pin next to R4 to ground to change the recording characteristics per the table below.

ROSCDurationSample RateBandwidth
80K Ohm8 Secs8.0kHz3.4kHz
100K Ohm10 Secs6.4kHz2.6kHz
120K Ohm12 Secs5.3kHz2.3kHz
160K Ohm16 Secs4.0kHz1.7kHz
200K Ohm20 Secs3.2kHz1.3kHz

It is also possible to record at one rate and playback at another.  That will serve to speed up or slow down the playback which might be useful for creating sound effects.  A pot can be wired in for this purpose.

The power output is sufficient to drive a small speaker or the output can be used to drive the input of an audio amplifier if a louder sound is desired.

Code for Audio ISD1820 Recording Module With Microphones + Loudspeaker :

int Rec = 12;
int Play = 13;
void setup()
pinMode(Rec, OUTPUT);
pinMode(Play, OUTPUT);
void loop()
digitalWrite(Rec, HIGH);
digitalWrite(Rec, LOW);
digitalWrite(Play, HIGH);
digitalWrite(Play, LOW);