DFPlayerMini volume increase

Arduino UnoR3 with DFPlayerMini (with lib from https://github.com/PowerBroker2/DFPlayerMini_Fast) increases volume from initial to max in steps of three or four. Is this caused by any previous .volumeAdjustSet() or some fancy fade in on certain modules I read about? If so, how to reset that?

#include <Arduino.h>
#include <DFPlayerMini_Fast.h>
#include <SoftwareSerial.h>
SoftwareSerial softSerial(10, 11); // RX, TX

DFPlayerMini_Fast MP3Player;

void setup()
{
  Serial.begin(115200);
  softSerial.begin(9600);
  while (!MP3Player.begin(softSerial))  //, true))
    delay(500);
  MP3Player.volume(5); // Set initial volume
  MP3Player.playFromMP3Folder(4);
}

void loop()
{
  char buf[4];
  Serial.print("Starting volume: "); Serial.println(lowByte(MP3Player.currentVolume()));
  Serial.print("Current volume: ");
  while (MP3Player.isPlaying())
  {
    sprintf(buf, "%2d ", lowByte(MP3Player.currentVolume()));
    Serial.print(buf);
    delay(500);
  }
  Serial.println();
  while (Serial.available() == 0) ;
}

Output of the above:

Starting volume: 5
Current volume: 5 8 12 16 19 23 26 30 30 30 30 30 30 30 30 30 30 30 30

Mny txs in advance

Check the documentation for the library! Information ought to be found there.

You format is requesting an int (2 bytes on Uno) but the function lowByte() is supplying a byte (1 byte). Just print the value directly without sprintf()

Works just fine for me with an Uno R3 and real DFplayerMini (not a clone) with 1.2K/2.2K level converter between Uno pin 11 and DFplayer Rx pin. 4 mp3 files in MP3 folder, 4th file plays, volume stays at 5.

@ Railroader: lib function does just what the module manual says. The problem is not the initial volume but the auto increase.
@blh64: sure could, but with a return range of 0 to 30 it's zero for the MSB always. Anyway, it's beside the point.
@van_der_decken: "level converters" ?? are in, as the UART is TTL anyway, this is just to eliminate some warble. And what's your experience with clones, as I don't have a "real" module, it seems.

The DFplayer Mini operates on 3.3V level signals.

The Uno R3 outputs a 5V level signal.

Therefore, level converter on the Rx line.

My experience with clones is that the poor man pays twice. Once for a cheap clone, then a second time for the real thing that works.

Sounds like a VOL+ button is pressed (bad wiring/coding for the button).

No buttons, but good point, will check the board it' mounted on, maybe there is some spurious voltage across the strips.

Bingo, bulls eye, on the nose. Tiny solder bridge between pins 10 and 11 (GND and I/O2).
Thanks for the nudge!

writing bad code is never beside the point

Another unsolicited "bad code" cry from the c-crowd. If I need a byte and get a byte I use a byte and have done so for more than 50 yrs programming. So, still not helpful (see #7). Case closed.