Todays lab session saw me looking into the unreliable behaviour of the ISD1820 Voice Recorder Module when attempting to record whilst the loop switch is active. The datasheet states that the record function takes precedence over every other function, so providing the record pin is high the device should record. Therefore, I assume that the ISD1820 should still record even when one of the play modes is active. This is essentially what is happening when loop mode is switched on, it’s sending 5 volts to the play trigger pin. There were two avenues I wanted to explore in my attempt to solve the issue.
First of all I wanted to see if there was some way of using a transistor to switch off the voltage being supplied to the play trigger pin of the ISD1820 as doing this manually, through flicking the loop switch back and forth, returns the ISD1820 to normal operation. I found a bunch of PN2222 NPN transistors in my components box. I had to refresh my memory on the difference between NPN and PNP transistors. A tutorial on the ‘Learning About Electronics’ website helped to clear up the difference between the two. Essentially an NPN transistor allows current to flow from the collector to the emitter when a certain amount of current is applied to the base. I sketched out a couple of possible circuit configurations but unfortunately couldn’t figure out a way to implement a PN2222 in such a way that would allow current flowing through the loop switch to be cut when record is active. After spending some time on this I decided to cut my losses and explore another potential avenue as to the source of the issue.
I wondered if the record button needed further debouncing as rapid switching of the record function may not be appreciated by the ISD1820! Keen to try this in hardware, I added a second 104 ceramic capacitor in parallel to the one already running from one leg of the record button to ground. Upon doing this, my computer, which was powering the circuit via USB complained of a connected USB device drawing too much power. I must have shorted the circuit in some way. This reminded me of my supervisor warning some young students not to make new connections on a breadboard whilst it’s powered by your computer. I must bear this in mind as I only recently bought my MacBook Pro and wouldn’t want to have to get it repaired so early on. My second attempt at hardware switch debouncing saw me implementing or at least trying to implement a debouncing switch circuit described in ‘Getting Started in Electronics’ by Forest M Mims, the infamous creator of the ‘Atari Punk Console’! Sadly, I couldn’t get this to work either. I’m starting to wonder if I need more patience in my pursuits!
I’ve successfully implemented debouncing with an Arduino board in the past so I decided to follow this route, reminding myself of what needed to be done by following a tutorial on the Arduino website. This worked and ran successfully on the ATTiny85. Sadly the ISD1820 still behaved as erratically as before when recording with loop active.
So, I was able to explore a few things during this session and cross them off the list as it were. I reminded myself of how transistors work and practiced programming the ATTiny85. The next action for me to take is to implement an oscillator based on a CD40106 inverter IC as suggested by Peter Edwards for triggering the sample in a looped fashion. I wonder if some granular style effects might be achieved by decoupling the loop end point from the end of the sample, as well as potentially fixing the erratic behaviour of the ISD1820.