Analog volume control on Arduino with DFPlayer

Thread Starter


Joined Jan 17, 2018
Hello. I'm working on a project that utilizes a DFPlayer (detailed found here ) with an Arduino Mega. My project (schematic attached) is a combination of mp3 playback activated by capacitive touch buttons as well as a clock feature. The schematic I included only shows the audio side, which I setup and tested first. It works great, however I want to use a potentiometer to control the audio levels. For the purpose of testing this side of the project I used a Arduino Uno.

As it stands now the only way I know of controlling the audio levels are by the following methods.
1) Have one set level for audio used in code. This is fine for testing, but not desirable for use of the project
2) Use 2 push buttons on the UI connected to the IO1 and IO2 of the DFPlayer, and then code for it. This is my backup plan, but not what I would prefer to have the potentiometer on the UI.
3) The only method I have seen online with similar projects was people using amplifier boards with a build in pot or a pot connected to that amp board. The DFPlayer already has a amplifier build in, so that will cause problems.

So either I can't do this at all because of the product I'm using or I am missing something simple I can do on the test board for wiring in a potentiometer. I have posted on the manufactures forums, but it has very low traffic. I was hoping someone here could suggest something I have not thought of or found in related projects.

Appreciate any positive suggestions or feedbackms2.jpg .


Joined Jul 29, 2018
You can still use the DFPlayer with an external amplifier, just use the DAC outputs. Feed them to a dual pot (left and right) then use the pot outputs (individually for stereo or mixed with 2 resistors for mono) to feed a small amplifier. Otherwise you will have to use the Arduino's ADC to read a pot and send volume commands to the DFPlayer.