🛠 Son sur CM4 : DAC I2S/PCM (PCM5102) sans prise jack
Objetivos
El CM4 no tiene ningún conector de audio (ni ADC/DAC integrados), pero expone una interfaz PCM (I2S) en sus pines. Este tutorial conecta un DAC I2S económico (PCM5102) al conector HAT de la IO Board y configura la tarjeta como salida de audio predeterminada mediante un overlay de device tree — la vía estándar en todo el ecosistema BCM2711.
Material
- 1 × CM4 en IO Board, con Raspberry Pi OS de 64 bits iniciado
- 1 × DAC I2S PCM5102 (módulo «I2S stereo DAC» de ~5 €), alimentado a 5 V
- Cableado HAT: GPIO18=SCLK (bit clock), GPIO19=LRCLK (word clock), GPIO21=BCLK/DIN (datos), 5 V y GND — verificar el pinout exacto del módulo (algunos invierten BCLK/LRCLK)
- Altavoz amplificado o auriculares en la salida del DAC
Código completo
# 1) Activer I2S et charger le driver du DAC
sudo raspi-config nonint do_i2s 0 # active device tree I2S
{ echo 'dtparam=i2s=on'; echo 'dtoverlay=hifiberry-dac'; } | sudo tee -a /boot/firmware/config.txt
sudo reboot
# 2) Vérifier la carte audio
aplay -l # attendu : snd_rpi_hifiberry_dac
cat /proc/asound/cards
# 3) En faire la sortie par défaut
cat > /etc/asound.conf <<'EOF'
pcm.!default {
type plug
slave.pcm "hw:1,0"}
EOF
# 4) Test sonore
speaker-test -D plughw:1,0 -c 2 -t sin -f 440 --duration 3
Verificación esperada
aplay -l lista snd_rpi_hifiberry_dac; speaker-test produce un tono limpio de 440 Hz en el altavoz; un archivo wav se reproduce con aplay musica.wav sin opciones. dmesg | grep -i hifiberry no muestra errores de detección.
Errores frecuentes
- Buscar el conector jack del Pi 4B: el CM4 no lo tiene; sin un DAC externo,
aplay -lsolo muestra HDMI — esto es normal. - SCLK/LRCLK/DIN invertidos: el síntoma clásico es silencio total o un zumbido mono; intercambiar LRCLK y BCLK en el módulo DAC.
- Overlay ausente: sin
dtoverlay=hifiberry-dac, el bus I2S funciona en vacío y no aparece ninguna tarjeta ALSA. - Alimentar el DAC a 3,3 V cuando requiere 5 V: volumen inaudible o distorsionado; verificar el pinout del módulo comprado.
Otros tutoriales para esta placa
- Premier démarrage d'un CM4 Lite depuis la microSD de l'IO Board
- GPIO du CM4 : comprendre les banks 1,8 V / 3,3 V avant de câbler
- Basculer le Wi-Fi du CM4 sur l'antenne externe U.FL (dtparam=ant2)
- Bootloader EEPROM du CM4 : maîtriser BOOT_ORDER via usbboot
- Ajouter une RTC au CM4 (PCF8523 sur I2C1 via dt-blob)
- Horodatage industriel : PTP IEEE 1588 sur le PHY Ethernet du CM4
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash