Update 12/20/2014 – The ISD1932 is not suitable for the requirements. I’m exploring these options:
Waiting for chips to arrive in the mail during the holiday season….
———————————————————————————————————————————————————————
While I finish up with the Healthy Shields, I am investigating a new project. I’ll probably say more about it when plans finalize. While it isn’t about hydroponics, it is about using electronics and software to keep those we love safe. I have a passion for both. I am currently prototyping an initial concept. One of the components I am prototyping with is Sparkfun’s Voice Recorder Breakout – ISD1932.
The Goal
At the end of this post, I will have built a tests circuit that will allow me to make an informed decision if the ISD1932 voice recorder IC will be the right IC for my requirements.
Requirements
The requirements for a voice recording IC at this stage of the project require:
- voice recording up to 60 seconds.
- playback on another device such as a smartphone, Mac, or PC.
Thanks to Those That Went Before
I will always be thankful to Chris Gammell. Chris has been instrumental in my growing knowledge of electronics. The Contextual Electronics courses were some of the best learning experience I have had. The hands on, look over the more senior engineer’s shoulder way of transferring knowledge worked well for me. Chris is also an amazing mentor.
Sparkfun for having the ISD1923 Voice Recorder Breakoutboard. I am thankful to be able to get the IC on a breadboard format so that I can easily play with it. The challenge I had was Adafruit has spoiled me into also wanting very detailed tutoring on wiring and programming. With Sparkfun, I have to take more time “hunting and pecking” than I do with an Adafruit Breakout board. This makes sense given my background working with engineers who “back in the daze” would answer my questions with “RTFM.” I must say I appreciate the evolution from RTFM to “Google is your friend” but still..
Ian Lang’s Electronics post on how to wire up the ISD1932. This post saved me a lot of time. A great example of a person I wish to thank for being helpful when sharing what they know.
The Test Circuit
The test circuit uses the Sparkfun ISD1932 Voice Recorder Breakout, an Arduino Uno, a 2” 8ohm speaker, a 4.7µF capacitor, a 100K resistor, wires, and a breadboard.
Wiring Up the Circuit
Here’s an image of the wiring:
Armed with the ISD1932 data sheet and a blog post that goes through setting up the circuit, I configured the ISD1932 to record one (direct) message for up to 40 seconds in length. An explanation of direct, why 40 seconds, one message versus many is given in Ian’s blog post. I will not repeat the information he provided. I set the record length to a maximum of 40 seconds because I did not have a 160KΩ resistor but did have a 100KΩ resistor.
The datasheet discusses running the ISD1932 in either of two modes: direct and address. I didn’t take the time to understand address mode since direct mode did what I want – which is to record one message for the maximum amount of time that can be recorded and played back.
The three things that need to be wired up prior to recording/playback include configuring the IDS1932:
- To record one message.
- set the recording length.
- configuring the ADC.
Configure for One Message
The ISD1932 is capable of recording anywhere from 1 to 8 messages. How many messages is configured by setting the Fixed Message Configuration pins: FMC1, FMC2, and FMC3. See section 6.2 of the data sheet.
I wired FMC1,2,3 to GND for one fixed message.
Configure Message Length
The maximum length of a message is set through a resistor on the ROSC (oscillating resistor) pin. Section 2 of the data sheet lists the resistor values for each ISD model based on the sampling rate:
Configure the AGC Pin
The data sheet notes: “The AGC is designed to operate with a nominal capacitor of 4.7µF connected to this pin.” I didn’t go into any deeper exploration of the AGC since at this point my goal was to understand how the ISD1932 worked.
Hook up Speakers
I hooked up an inexpensive 8 ohm speaker to the SP- and SP+ pins:
Recording and Playback
Recording is made easier because the breakout board includes a microphone.
Testing Without the Arduino
I started testing recording and playback without the Arduino in the circuit. Recording is easily tested by setting the R/P and M1 pins:
- start with both pins not connected
- connect R/P to GND
- connect M1 to GND
- start with both pins not connected
- connect T/P to 5V
- Connect M1 to GND
Testing With the Arduino
I used the Arduino’s 5V power supply to power the ISD1932. Pin 8 output HIGH or LOW depending if I wanted playback (HIGH) or record (LOW). Pin 6 output LOW when I wanted to enable the M1 message pin:
Also easy-peasy.
What’s Next
This is a very quick look at a chip for recording and playback. Building a simple circuit has helped me gain a better understanding of the requirements:
- Record – not playback – is needed.
- Ability to send the recording to another device (e.g.: smartphone) and playback on that device.
- Understanding of what is being said by the person speaking within a 5 foot radius of the person wearing the recording chip.
- how to get the recording from the chip to a smartphone using BTLE as the wireless carrier of the data.
- what needs to happen to format the recorded data so that a smartphone, PC or Mac can play it back.
- other options than the ISD1932 which may be a better choice given the requirements.