Basics: Project 126a
Project name: ISD1820 voice module and IR sensor
Tags: Arduino, Arduino Nano, ISD1820 voice module, ISD1820, EG Infrared sensor, Infrared Sensor, IR sensor, IR motion sensor, Obstacle avoidance IR sensor
In this project, you needed these parts (Dear visitors. You can support our project buy clicking on the links of parts and buying them or donate us to keep this website alive. Thank you):
- ISD1820 voice module 1 pc
2. Jumper cables F-F 8 pcs
3. Arduino Nano and Mini-B USB cable 1 pc
4. IR sensor 1 pc
5. Breadboard 1pc
We will learn about ISD1820 voice module and how to use it with Arduino board. It is clear that the ISD1820 voice module can work independently without any microcontroller. But controlling the record and play back function with the help of a microcontroller like Arduino for example, gives you an opportunity to expand the functionality of the module to complex application level. Imagine a situation where you are designing a security system which should automatically record the voice upon detection of a movement. This would be possible only if you Interface ISD1820 voice module with Arduino (or any microcontroller).
Understanding the ISD1820 voice module
ISD1820 is a small Voice Recorder and Playback module that can do the multi-segment recording. The user can achieve a high quality of recording (for 8 to 20secs) for each application with the adjustment of the on-board resistor. ISD1820 is designed with embedded-Flash memory, which can hold data for up to 100 years and erase/record the life cycle up to 100,000.
The ISD1820 is based on the ISD1820 IC, which is a single chip Voice recorder IC for single message record and playback.
This ISD1820 reproduces high-quality, natural voice and audio from the recorded audio by Mic or driven through Microcontroller. Because of its dual operation mode (Standalone and Microcontroller driven), we can easily use this as per requirement and with a slight change of the onboard resistor, we can get flexibility in the sampling frequency of the recording duration & quality.
If you want change record duration, an external resistor is necessary to select the record duration and sampling frequency, which can range from 8 – 20 seconds (4‐12kHz sampling frequency). The Voice Record Module of our provides default connect 100K Ohm resistor by a short cap. So the default record duration is 10s. See the table below.
|80 KΩ||8 Sec||8.0 KHz||3.4 KHz|
|100 KΩ||10 Sec||6.4 KHz||2.6 KHz|
|120 KΩ||12 Sec||5.3 KHz||2.3 KHz|
|160 KΩ||16 Sec||4.0 KHz||1.7 KHz|
|200 KΩ||20 Sec||3.2 KHz||1.3 KHz|
In this module, Voice signals can be fed through differential onboard microphone input. For outputs, the module provides an 8Ω 0.5W speaker out directly from the board.But if you want to drive more powerful speakers, you can connect the output of this module to an external amplifier IC like LM386, D2283, D2322, TA7368, MC34119.
- With the internal audio amplifier, this board can drive 8 Ohm 0.5W speakers directly.
- An on-board microphone.
- Dual operating modes: Standalone mode, Microcontroller Driven mode
- Push‐button interface, playback can be edge or level activated
- Record up to 20 seconds of audio
- Automatic power-down mode (standby mode)
- Dimensions (LxWxH) in cm 8 x 6 x 3
- Push-button interface, playback can be edge or level activated
- On-chip 8Ω speaker driver
- Signal 3V Power Supply
- Can be controlled both manually or by MCU
- Sample rate and duration changeable by replacing a single resistor
- Microcontroller based audio playback
- Sound recorder
- Security Systems
- Accident voice recordings
- Record message during collisions
There are two modes to play the voice in the voice chip:
1. Playback, Edge-activated: If the module detects the HIGH signal on the pin, then the device starts the playback cycle. Playback cycle continues until an End-of-Message (EOM) marker is encountered or the end of the memory space is reached. After completion of the playback cycle, the device automatically powers down itself and into the standby mode.
2. Playback, Level-activated: If the module detects the LOW to HIGH signal on this pin, then a playback cycle is initiated. Playback continues until PLAYL is pulled LOW or an End-of-Message (EOM) marker is detected, or the end of the memory space is reached. The device automatically powers down to standby mode upon completion of the playback cycle.
How to use the ISD1820 voice module without microcontroller?
- Connect GND to ground.
- Connect VCC to 3.3V power supply.
- Connect small 8Ω Speaker at the output of the Module i.e. across SP+ and SP-pins.
- Push the record button (REC) on the module and the module starts recording. Continue to push the button until you record the complete message (about 10 Seconds, for example).
- In order to playback, you can use either PLAYE or PLAYL. Push the PLAYE button one time and the entire message is played back.
- You need to push and hold the PLAYL button and the message starts playing and if you want to stop the play back at any time, release the button.
- If you activate the PE Jumper, the playback is in endless loop mode.
Please see the datasheet for more details here.
Understanding the Arduino Nano
You can read more about it here.
Signals and connections of the ISD1820 voice module
FT (FeedThrough) – this mode enables the microphone to drive the speaker directly.
MIC (Microphone In) – the microphone input transfers its signals to the on‐chip pre-amplifier.
REC/REC (Button) – The REC input is an active‐HIGH record signal. The module starts recording whenever REC is HIGH. This pin must remain HIGH for the duration of the recording. REC takes precedence over either playback (PLAYLorPLAYE) signal.
P-E/PLAY-E (Button) – Playback, Edge‐activated: When a HIGH‐going transition is detected continues until an End‐of‐Message (EOM) marker is encountered or the end of the memory space is reached.
P-L/PLAY-L (Button) – Playback, Level‐activated, when this input pin level transits for LOW to HIGH, a playback cycle is initiated.
SPI – The SP+ and SP‐ pins provide a direct drive for loudspeakers with impedances as low as8Ω.
VCC – power supply pin. Supplies power for the module. Connect it to 3.3V pin of your Arduino board.
GND – ground pin. Connected to GND pin on Arduino board.
Buttons ‘REC’, ‘PLAYE’ and ‘PLAYL’:
- button ‘REC”: press this button to record a voice message via the on board microphone. Releasing this button will end the recording. The chip holds 10 seconds of recorded sound.
- button ‘PLAYE’: press this button and the chip will play the entire recorded message.
- button ‘PLAYL’: press this button and the chip will play the entire message as long as the button remains pressed.
Arduino or jumper controlled functions:
- Jumper ‘FT’: connect the two pins and the spoken words will be played by the speaker (‘feed through – megaphone function’). No recording will occur.
- Jumper ‘P-L’: if set HIGH the recorded message will be played as long as this pin stays HIGH.
- Jumper ‘P-E’: setting this pin HIGH for a short time (100 ms) starts a one-time playing of the entire message.
- Jumper ‘REC’: if set HIGH recording will happen as long as this pin stays HIGH. As storage capacity is 10 seconds of sound it does not make sense to set this jumper HIGH for longer than that period.
The feature that jumper pins are available that can be set HIGH or LOW means that we can use a microcontroller board to control the ISD1820. The ISD1820 board can be used with traditional Arduinos and with ESP8266 boards (3.3V).
Signals and connections of the Arduino Nano
You can read more about it here.
ISD1820 voice module ->Arduino Nano
SP+ connected to terminal of the speaker
SP- connected to the terminal of the speaker
VCC -> 3.3V
GND -> GND
REC -> D2
PLAYE -> D3
IR sensor -> Arduino Nano
VCC -> 5V
GND -> GND
OUT -> D4
Step by Step instruction
- Do wiring.
- Open Arduino IDE.
- Plug your Arduino Nano board into your PC and select the correct board and com port.
- Verify and upload sketch1 to your Arduino Nano.
- When there is no object in front of the IR Sensor, its output is LOW and Arduino does nothing. When there is an object in front of the IR Sensor, its output becomes HIGH and Arduino then starts recording a message by making the REC Pin HIGH for about 5 Seconds. During this time, the LED connected to Pin 13 is lit up to indicate that the module is recording a message. After recording the message, the message is played back by making the PLAYE pin HIGH for about 6 Seconds.
- If you upload sketch2 when you wave across IR sensor it starts recording for 10 Seconds, when PLAYE button pressed it playbacks the recorded voice.
We have learnt about the ISD1820 voice module and how to use it with Arduino Nano.
Thank you for reading and supporting us.
- See attachments on the beginning of this project description.