Zum Inhalt

INMP441 am WLED Controller anschließen#

Mit einem digitalen I2S-Mikrofon reagiert WLED auf Musik und Geräusche im Raum. Dieses Tutorial beschreibt den Anschluss eines INMP441 an den cod.m WLED Controller V0.10.

Dafür braucht es keinen Eingriff in die Schaltung: Auf der Rückseite der Platine liegen Lötpads, über die freie GPIOs sowie 3,3 V und GND zugänglich sind. Sie sind dort mit ihrer GPIO-Nummer beschriftet.

Rückseite des cod.m WLED Controller V0.10 mit den beschrifteten Lötpads
Rückseite des Controllers – rechts die Reihe der beschrifteten Lötpads

Voraussetzungen

  • cod.m WLED Controller V0.10 (ESP32)
  • INMP441-Breakout-Modul – im Dreierpack für 5 bis 7 € zu haben
  • WLED ab Version 0.15 – die offiziellen Builds enthalten den Usermod AudioReactive bereits
  • Lötkolben mit feiner Spitze, dünne Litze (z. B. 0,14 mm²), ruhige Hand

Warum der INMP441#

Der INMP441 ist ein digitales I2S-Mikrofon mit integriertem Analog-Digital-Wandler. Er liefert ein sauberes digitales Signal und ist damit analogen Mikrofonen wie dem MAX4466 deutlich überlegen – der ADC des ESP32 eignet sich für Audio nur bedingt und reagiert empfindlich auf Störungen aus der Stromversorgung.

Weitere Hintergründe stehen in der WLED-Dokumentation zu Audio Reactive.

Lötpads auf der Rückseite#

Fünf der Lötpads werden gebraucht:

Lötpads für den INMP441 auf der Rückseite des cod.m WLED Controller V0.10
Lage der benötigten Lötpads, Blick auf die Rückseite
Pad INMP441 Funktion
3V3 VDD Versorgung 3,3 V
GND GND Masse
IO27 SCK Bit Clock
IO26 WS Word Select (L/R Clock)
IO25 SD Datenausgang des Mikrofons

Die Pads sind auf der Platine beschriftet. In derselben Reihe liegen außerdem IO12 und IO14, die hier nicht gebraucht werden.

Anschlüsse am Mikrofon#

Das Mikrofonmodul trägt die Bezeichnungen auf der Seite mit der Schallöffnung. Die obere Reihe ist dort kopfüber beschriftet – beim Verdrahten lohnt ein zweiter Blick.

Pinbelegung des INMP441 und Zuordnung zu den Lötpads des Controllers
Beschriftungsseite des INMP441 mit der Zuordnung zu den Pads des Controllers

L/R wird nicht zum Controller geführt, sondern direkt am Modul auf GND gebrückt. WLED wertet ausschließlich den linken Kanal aus; ohne diese Brücke bleibt das Signal stumm.

Die Schallöffnung liegt auf der Beschriftungsseite

Der INMP441 ist ein Bottom-Port-Mikrofon: Der Schall tritt durch das kleine Loch neben dem Mikrofonsymbol ein, nicht durch das Bauteil auf der Gegenseite. Diese Seite zeigt später nach außen – die Litzen deshalb auf der Bauteilseite anlöten, dann stehen sie beim Aufkleben nicht im Weg.

IO12 nicht verwenden

GPIO 12 bestimmt beim Start des ESP32 die Flash-Spannung. Liegt dort beim Einschalten ein High-Pegel an, startet der Controller unter Umständen nicht mehr. Für das Mikrofon deshalb IO27, IO26 und IO25 nehmen.

Verdrahten#

  1. Controller spannungsfrei machen und aus dem Gehäuse nehmen.
  2. Fünf Litzen ablängen, abhängig von der gewünschten Positionierung – so kurz wie möglich, 5 bis 10 cm reichen in der Regel. Je länger die Leitungen, desto eher fängt man sich Störungen ein.
  3. Am Mikrofonmodul anlöten: VDD, GND, SCK, WS, SD sowie die Brücke von L/R nach GND.
  4. Die Litzen an die Pads auf der Controllerrückseite löten. Die Pads sind klein und liegen 1,8 mm auseinander – wenig Lötzinn verwenden und anschließend auf Brücken zwischen benachbarten Pads prüfen.
  5. Verbindungen vor dem ersten Einschalten durchmessen, insbesondere zwischen 3,3 V und GND.

Einbau ins Gehäuse#

Ein vollständig eingeschlossenes Mikrofon hört kaum etwas – der Schall muss von außen an die Öffnung des INMP441 gelangen. Bewährt hat sich, ein Loch in die Gehäuserückseite zu bohren und das Modul von innen so aufzukleben, dass seine Schallöffnung genau dahinter sitzt.

  1. Position festlegen. Das Modul mit der Beschriftungsseite – dort sitzt die Schallöffnung – innen ans Gehäuse halten und die Stelle anzeichnen.
  2. Bohren. 2 bis 3 mm Durchmesser reichen. Langsam bohren und das Gehäuse dabei unterlegen, sonst reißt der Kunststoff auf der Austrittsseite aus. Grat mit einem größeren Bohrer von Hand entfernen.
  3. Ausrichten und kleben. Das Modul so aufsetzen, dass die Schallöffnung mittig über dem Loch liegt. Kleber nur an den Ecken oder am Rand der Platine auftragen – niemals über der Öffnung.
  4. Aushärten lassen, bevor der Controller wieder zusammengebaut wird.

Tipps aus der Praxis

  • Kleber: Heißkleber oder doppelseitiges Schaumklebeband funktionieren gut und lassen sich wieder lösen. Sekundenkleber ist ungeeignet – die ausgasenden Dämpfe schlagen sich auf der Mikrofonmembran nieder und dämpfen sie dauerhaft.
  • Dicht, aber nicht verstopft: Ein umlaufender dünner Kleberrand um die Öffnung verhindert, dass der Schall seitlich am Mikrofon vorbeigeht. Das verbessert die Richtwirkung spürbar.
  • Abstand zur Elektronik: Möglichst weit weg vom Schaltregler (Richtung Stecker) und von der LED-Datenleitung. Beides strahlt ein, und ein paar Zentimeter machen hörbar etwas aus.
  • Vorher testen: Erst provisorisch befestigen, Pegel einstellen und hören, ob die Reaktion stimmt. Geklebt wird danach.

Konfiguration in WLED#

  1. Webinterface aufrufen, Config → Usermods öffnen und im Bereich AudioReactive zum Abschnitt Digitalmic scrollen.
  2. Bei Type den Eintrag Generic I2S wählen.
  3. Die Pins eintragen:

    • Pin I2S SD auf 25
    • Pin I2S WS auf 26
    • Pin I2S SCK auf 27
  4. Pin I2S MCLK auf unused stehen lassen. Der Master Clock wird nur von Line-In-Adaptern gebraucht, nicht vom INMP441.

  5. Speichern.
  6. Den Controller hart resetten – über den RST-Taster auf der Platine oder durch Trennen der Versorgung. Der I2S-Treiber wird nur beim Start eingerichtet; ohne Neustart bleibt die alte Konfiguration aktiv. WLED weist mit requires reboot! neben dem Feld darauf hin.
WLED AudioReactive Einstellungen für den INMP441
Abschnitt Digitalmic mit den Einstellungen für den INMP441

Pegel einstellen#

Nach dem Neustart sollten die LEDs auf Geräusche reagieren. Zum Einstellen hat sich dieses Vorgehen bewährt:

  1. Effekt Gravimeter wählen, Regler auf Standard lassen.
  2. Unter Config → Usermods → AudioReactive Gain hoch setzen (etwa 200), Squelch auf 1, AGC aus. Speichern.
  3. Die LEDs reagieren jetzt auf fast alles, auch auf Umgebungsgeräusche.
  4. In ruhiger Umgebung Squelch schrittweise erhöhen und jeweils speichern, bis die LEDs im Ruhezustand stillstehen. Bei digitalen Mikrofonen liegt der Wert meist zwischen 1 und 20.
  5. Gain auf etwa 40 senken, Musik in normaler Lautstärke abspielen und nachregeln, bis die Reaktion passt.
  6. Optional AGC auf Normal stellen – die Verstärkung wird dann automatisch an die Lautstärke angepasst.

Wenn es nicht funktioniert#

Keine Reaktion. Zuerst prüfen, ob nach der Pin-Änderung wirklich ein Hardware-Reset erfolgt ist. Danach die Brücke von L/R nach GND kontrollieren.

Controller startet nicht mehr. Prüfen, ob versehentlich GPIO 12 verwendet wurde oder ob eine Lötbrücke zwischen benachbarten Pads besteht.

LEDs zucken in der Stille. Squelch erhöhen. Bleibt es dabei, sind die Leitungen zu lang oder verlaufen zu nah an der LED-Leitung.

Nur ein Controller soll das Mikrofon tragen. WLED kann die Audiodaten im Netzwerk verteilen: ein Gerät auf Send, alle anderen auf Receive. Details dazu in der WLED-Dokumentation.