Recording via AnaIn not possible

Hi guys,

I have some issues enabling the Analog-In recording mode with my new VMA02. The test sketch is running fine and I am perfectly able to use all functions like playback, recording, erasing and so on. Unfortunately, I cannot switch the record mode from MIC to AnaIn in the Setup() function. I commented the lines as follows:

[code]void setup()
apc = apc | vol; //D0, D1, D2

//apc = apc | 0x8; //D3 comment to disable output monitor during record

//apc = apc | 0x50; // D4& D6 select MIC REC
apc = apc | 0x00; // D4& D6 select AnaIn REC <------
//apc = apc | 0x10; // D4& D6 select MIC + AnaIn REC

//apc = apc | 0x80; // D7 AUX ON, comment enable AUD

apc = apc | 0x100; // D8 SPK OFF, comment enable SPK

apc = apc | 0x200; // D9 Analog OUT OFF, comment enable Analog OUT

//apc = apc | 0x400; // D10 vAlert OFF, comment enable vAlert

apc = apc | 0x800; // D11 EOM ON, comment disable EOM

Serial.println(“Sketch is starting up”);

I guess the marked line (<------) is how it should work, but it does not. I already tried to use MIC+AnaIn mode, but the AnaIn has not been recorded anyway. The feedthrough works though, so there obviously is a sound signal that should be recorded. Any suggestions?

Best regards, Steffen

We did some testing and it does not seem to be possible to change the source through software, only via the buttons.
There is little documentation available for the ISD chip. We will check with the manufacturer but we doubt they will promptly respond to our request.

I didnt notice the option to change the input signal via the hardware buttons. Which one do I have to press in order to record audio from my MP3-Player for example?

That would be the FT (Feed Through) button.
FYI: Hereby a link to the ISD1760PY datasheet.

I had the same problem but it is solved now!
You can check if the register in the ISD1760 is set correct by the following command:

Serial.print(chip.rd_apc(), BIN);

if not write the the new apc integer to the ISD1760 with the following command:


Before writing the apc register check the value of the variable apc,
Serial.print(apc, BIN);

I moved the calculation off the apc variable from setup() to loop(),
it is possible now to change the register in the program

use the the following commands

after using chip.pu();

Hope it will helps you
regards Pieter

Thanks for sharing this info!