Skip to content

Buzzer never sounds on rev4: pifinder_setup.sh routes only PWM ch1, not ch0 #579

Description

@brickbots

Problem

pifinder_setup.sh:64-65 writes a single-channel PWM overlay:

grep -q "dtoverlay=pwm,pin=13,func=4" /boot/config.txt || \
   echo "dtoverlay=pwm,pin=13,func=4" | sudo tee -a /boot/config.txt

That routes GPIO13 = PWM channel 1, which is the display backlight. The rev4 buzzer is on GPIO12 = PWM channel 0, which this overlay never routes.

Result: on a card provisioned by pifinder_setup.sh, the buzzer is silent — no startup, shutdown, keypress or low-battery tone — even though the hardware is fine and Settings → User Pref → Volume is set.

How it shows up

python -m PiFinder.bringup reports the buzzer as NOT ROUTED. That is the tool working correctly: it is a card provisioning fault, not a board fault. The risk is that a builder reads it as a bad solder joint and reworks a perfectly good part.

Suggested fix

Use the two-channel overlay so ch0 (buzzer) and ch1 (backlight) are both routed:

dtoverlay=pwm-2chan,pin=12,func=4,pin2=13,func2=4

Both pins are ALT0 (func=4) for their PWM function.

Needs care on upgrade: an existing card already carries the single-channel line, so the setup script should replace it rather than append a second, conflicting dtoverlay=.

Scope

Affects rev4 only (v3/v2.5 have no buzzer). Found while documenting the rev4 sound feature — the user docs currently describe tones that will not play on an affected card.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions