I found a method that does not require soldering at Baidu tieba. In FM mode, long press the number 7 key, then the display will show a blinking two digit number. Turning the volume knob will change the number and also the speaker loudness. Short press the 7 key to save the value.
===========================================
I have been using my new PL-330 radio everyday. I got annoyed by two things related to its digital volume control,
- It sets the volume to at least 10/30 for alarms, which is too loud for me.
- The lowest volume, 1/30, is too loud when I use earphones of low impedance.
So I opened the case to see if I can fix it. Immediately I saw a 16 pin chip. It is a CD1622CB, a clone of SONY's CXA1622 power amplifier.
According to CXA1622 datasheet (shown below), pin 14 controls the gain, i.e. the volume. The gain is greatest if pin 14 is connect to GND, and 0 if pin 14 is connected to pin 15.
On the PCB, a capacitor (labeled 1C25) sits between pin 14 and GND. I measured the voltage on pin 14 while I rotated the volume knob. The results matched the datasheet. I also shorted pin 14 and pin 15, the speaker got muted.
So to reduce the speaker volume, I need to raise the voltage on pin 14. This can be achieved by adding a suitable resistor between pin 14 and pin 15. I experimented with 4.7k, 10k, and 22k. I found 10k most suitable. So I soldered it on.
And now I can use a volume of 6/30 with earphones. And alarms are no longer annoying.
UPDATE
I found the volume levels were not granular enough after the resistor mod. So I removed the resistor and soldered an 1 Watt 20 Ohm resistor in series with the speaker.