Maker Pro
Maker Pro

Continuous Play from WTV020 SD Card Audio Module

epsolutions

Sep 7, 2019
116
Joined
Sep 7, 2019
Messages
116
I have a WTV020 SD card sound module loaded with a single 30 minute audio file that I would like to repeat-play continuously. Although the manual below describes a "loop" mode, I find the wording confusing. It sounds more like a resume after retriggering.

https://dlnmh9ip6v2uc.cloudfront.net/datasheets/Widgets/WTV020SD.pdf

Here is what the manual says on page 10 (cut and pasted).

"7.4.LOOP PLAY AFTER POWER ON After turn on the power, it will play the voice directly, trigger the relative I/O can pause, next trigger will keep playing.In this mode, when the module playing voice 2 and the power was cut off, after turn on power it will play from voice 2 or voice 3(can be customized) Alternative trigger mode: a.Edge tirgger to pause /play b.Level trigger to pause/play."

This refers to the schematic diagrams on pages 21 and 22.

Can someone please explain how this is supposed to work? Or if it is not a proper loop function, what is the simplest circuit I can add to implement one?
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,700
Joined
Nov 17, 2011
Messages
13,700
It seems that loop mode here means that the module repeats the sequence of stored sound files startig from 1 after it has reached the end of the last file. However, the module seems to require a trigger for each sound file. Which means that it will not repeat your audio file in a loop endlessly.

what is the simplest circuit I can add to implement one?
Depends on what is "simple" for you.
You could add a microcontroller to generate a trigger after s set time intervall (a tad longer than your audio file plays. Or use a 555 baased timer circuit to acomplish the same. Problem here: You'll have to adjust the timing each time you change the length of the audio data.
You could also create a circuit that detects silence (check fo presence of audio output) and creates a trigger if the silence persists for longer than a defined period, e.g. 1 s. This will detect the end of the audio playing and restart the player and is independent from the timing of te audio file. Possible issue here is if the audio fle contains periodes of silence longer than your defined timeout, this will be detected as "end of audio" and create a trigger.
 

epsolutions

Sep 7, 2019
116
Joined
Sep 7, 2019
Messages
116
Thank you for deciphering the "loop" explanation.

It seems contradictory that the sequence would reset at the end but a trigger is required to cycle through the individual files. That implies that if there is only one file, as I have, it could be made to loop endlessly. What if I just keep the "play" pin high all the time?

Yes, a LM555 timer would work since the duration of the audio file will be fixed. Since the "play" button is also "pause", I assume the trigger would need to happen after the play cycle is complete.

But if possible I would prefer not to have to add additional circuitry.
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,700
Joined
Nov 17, 2011
Messages
13,700
What if I just keep the "play" pin high all
I doubt this will work. The datasheet refers to edges which implies transistions from low to high and vice versa.
I assume the trigger would need to happen after the play cycle is complete.
No need to "assume", this is clearly shown in the timing waveforms in the datasheet. A trigger while an audio is playing will pause the audio, the next trigger will continue. "Pause", as you stated.
 

epsolutions

Sep 7, 2019
116
Joined
Sep 7, 2019
Messages
116
Pin PO6 is a "busy". It is ordinarily connected to the cathode of an LED that causes the latter to be off when the module is playing and light up when it stops.

I might be able to connect an NPN base to PO6. Emitter to earth. Collector goes to power and "next" pin, with a cap to earth to pull it low when busy goes high. See schematic below. Do you think that might work?

WTV020 Loop Trigger.png
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,700
Joined
Nov 17, 2011
Messages
13,700
In principle a good idea. But I think the logic is inverted: When busy goes low, Next goes high. Bit the timing diagrams is the datasheet suggest that a falling edge is required to triggger the module (plus pushbuttons are connected to gnd). Therefore Why not connect busy directly to next?

But then I had another look at the datasheet. In chapter 7.4.2 it states:
Negative edge trigger. Power on , it will play automatically, negative edge trigger P04 to pause , next tirgger to play from the
pause point. After voices play finished, it will loop .
This suggests that you don't have to use any external circuitry. Simply let the module start in "LOOP PLAY AFTER POWER ON" mode and it should repeat after the audio has finished. Have you tried this?
 

epsolutions

Sep 7, 2019
116
Joined
Sep 7, 2019
Messages
116
I can confirm the circuit in my previous post works, with the added benefit that the module starts playing on power up without the need to press a momentary button. Since "busy" is a high, the trigger to "next" needs to be converted to negative. Hence the transistor, a BC547.

The values I used are as follows.

R1 - 2K7, R2 - 22K, R3 - 1K, C1 - 1uF

If anyone is interested, these modules can be purchased on eBay for about $3. There are some limitations on usage which are described here and elsewhere. https://www.buildcircuit.com/how-to-use-wtv020sd-music-module-with-arduino/

A version with added functions, the SOMO II, is available from 4D Systems but costs $25 per unit.
 
Top