Nachdem ich bereits verschiedene PCBs veröffentlicht habe, ist nun der nächste an der Reihe. Diesmal für den Lolin D32 pro, was den Vorteil mit sich bringt, dass ein ESP32-WROVER verbaut ist. Bei meinem hier ist sogar der WROVER-E drauf - die neueste Revision also.
Features
- Passend für Wemos Lolin D32 pro (Lolin32, Lolin D32 oder Lolin32 lite passen nicht!)
- Die Außenmaße sind 52 x 99mm
- Es werden JST-PH 2.0-Konnektoren für Taster, Drehencoder, Neopixel, RFID und Batterieanschluss verwendet. Wichtig: Es handelt sich hier um 2mm-Abstand und NICHT das klassische 2,54mm-Lochraster!
- Der Anschluss für MAX98357a besitzt dagegen einen normalen Lochrasterabstand, so dass das Ganze zum Breadboard passt. Achte drauf, die Pinleiste auf die richtige Seite zu löten, so dass Pin-Kompatibilität gewährt ist.
- Ein Mosfet-Schaltkreis schaltet die Spannung von MAX98357a, Kopfhörerplatine (optional), RFID, und Neopixel ab, um Strom zu sparen, wenn der ESP32 im Deepsleep ist.
- Sämtliche Peripherie wird mit 3.3 V betrieben! Den Neopixel betreibt man damit streng genommen außerhalb seiner Spezifikation, aber er funktioniert dennoch.
- Falls die Kopfhörerplatine verwendet wird, so wird der MAX98357a auf lautlos gestellt, wenn ein Kopfhörer eingesteckt ist und umgekehrt.
- Falls
HEADPHONE_ADJUST_ENABLE
einkompiliert wurde, erkennt der ESPuino das Einstecken und kann, sofern über die WebGUI entsprechend konfiguriert, die Lautstärke begrenzen. Dies macht deshalb Sinn, da der als Verstärker verwendete TDA1308 die Musik auf dem Kopfhörer recht laut machen kann. - Pin-Header für Reset (JST PH 2.0) und Serial (normaler Lochrasterabstand).
Vorraussetzungen
- Ist keine Kopfhörerplatine angeschlossen, so muss
HEADPHONE_ADJUST_ENABLE
deaktiviert werden. - Zum Messen der Batteriespannung muss
MEASURE_BATTERY_VOLTAGE
aktiviert sein. Ein Spannungsteiler mit zwei Widerständen à 100 kOhm ist bereits integriert und fest mit GPIO35 verdrahtet. Diese Werte werden in der Develboard-spezifischen Konfigurationsettings-lolin_d32_pro.h
alsRdiv1
und undRdiv2
konfiguriert. Leider ist der analoge Eingang des ESP32 auch nicht gerade ein Präzisionsinstrument und speziell im oberen Spannungsbereich läuft das Ganze in ein Plateau, wie man hier lesen kann. Sollte die gemessene Spannung systematisch falsch sein, so kann man sie mittelsoffsetVoltage
korrigieren. AuchreferenceVoltage
lässt sich anpassen. Suuuuper genau ist es nicht, aber 0,1 V Genauigkeit ist aus meiner Sicht mehr als ausreichend. - In
settings.h
muss HAL=4 gesetzt sein. - Deaktiviere
SD_MMC_1BIT_MODE
undSINGLE_SPI_ENABLE
. - Aktiviere
RFID_READER_TYPE_MFRC522_SPI
. - Gleiche deine Konfiguration nun mit nachstehender Tabelle ab
ESP32 (GPIO) | Hardware | Pin | Comment |
---|---|---|---|
MFET 3.3V | SD-Board | 3.3V | |
GND | SD-Board | GND | |
4 | SD-Board | CS | |
23 | SD-Board | MOSI | |
19 | SD-Board | MISO | |
18 | SD-Leser | SCK | |
MFET 3.3V | RFID-Leser | 3.3V | |
GND | RFID-Leser | GND | |
21 | RFID-Leser | CS/SDA | |
13 | RFID-Leser | MOSI | |
15 | RFID-Leser | MISO | |
14 | RFID-Leser | SCK | |
MFET 3.3V | MAX98357 | VIN | |
GND | MAX98357 | GND | |
25 | MAX98357 | DIN | |
27 | MAX98357 | BCLK | |
26 | MAX98357 | LRC | |
— | MAX98357 | SD | Info: liegt hier GND an so schaltet MAX auf lautlos |
— | MAX98357 | GAIN | PullUp mit 100k auf 3.3V bewirkt weniger Verstärkung |
34 | Drehencoder | CLK | Tausche CLK mit DT, wenn du die Drehrichtung anpassen möchstest |
39 | Drehencoder | DT | Tausche CLK mit DT, wenn du die Drehrichtung anpassen möchstest |
32 | Drehencoder | BUTTON | |
3.3 V | Drehencoder | + | |
GND | Drehencoder | GND | |
33 | Taster(next) | ||
GND | Taster (next) | ||
2 | Taster (previous) | ||
GND | Taster (previous) | ||
36 | Taster (pause/play) | ||
GND | taster (pause/play) | ||
MFET 3.3V | Neopixel | V | |
GND | Neopixel | G | |
12 | Neopixel | DI | |
5 | N-channel Mosfet | Gate | |
35 | Spannungsteiler / BAT | ||
22 | Kopfhörerbuchse | Optional: wenn auf GND gezogen, dann wird Kopfhörerlautstärke aktiviert |
Anmerkungen
- Löte den Lolin D32 pro nicht direkt auf den PCB auf, sondern verwende weibliche Konnektoren als Sockel. Die Kontaktierung funktioniert gut.
- Falls du einen LiPo-Akku verwendest, dann stelle sicher, dass dieser einen integrierten Tiefeentladeschutz besitzt. Dies ist GANZ GANZ GANZ wichtig! Nutze z.B. einen Solchen.
Benötigte Teile
Herz dieses PCBs ist der ESP32 auf einem Wemos Lolin D32 pro Development-Board. Wichtig: Bevor dieser genutzt werden kann, muss zuerst der passende Treiber installiert werden für den USB/seriell-Chip darauf.
- MAX98357A
- RFID-Leser
- RFID-Karten
- Neopixel-Ring
- Drehencoder
- Taster
- Lautsprecher
- µSD-Karte: Muss keine super schnelle sein. Mit 32 GB läuft das Ganze auf jeden Fall.
- JSP PH-2.0-Konnektoren
- Weibliche Verbinder
- (optional) IDC-Verbinder weiblich 6pin für Kopfhörerplatinen-Anschluss
- (optional) IDC-Verbinder männlich 6pin ür Kopfhörerplatinen-Anschluss
- (optional) Mikroschalter als Reset-Button
- LiPo-Akku (2500 mAh) mit JST PH 2.0mm-Konnektor
Teileliste
- 1x IRL3103 (N-channel MOSFET)
- 1x NDP6020P (P-channel MOSFET)
- 1x 1k Widerstand
- 2x 10k Widerstand
- 2x 100k Widerstand
- 4x JST-PH2.0-Konnektor (2 Pins)
- 1x JST-PH2.0-Konnektor (3 Pins)
- 1x JST-PH2.0-Konnektor (5 Pins)
- 1x JST-PH2.0-Konnektor (6 Pins)
- Weibliche Verbinder zum Sockeln des Lolin D32 pro
Hinweis zur Lautstärke
Der 100k-Widerstand ganz oben auf dem PCB ist dafür da, um die Lautstärke etwas zu reduzieren. Mir persönlich war ohne diesen Widerstand der ESPuino in den unteren Lautstärkestufen zu laut. Es gab jedoch auch schon Stimmen, die das anders sehen. Insofern meine Empfehlung: Lass’ den obersten 100k-Widerstand zuerstmal weg und schau, ob es für dich ok ist. Falls es zu laut ist, dann löte ihn im Anschluss erst ein.
Wo bestellen?
Wende dich vertrauensvoll an mich, wenn du gerne einen solchen PCB hättest.
Kann man da einen Kopfhörer anschließen?
Nein, aber mit der passenden Kopfhörerplatine dazu geht es: Kopfhörerplatine basierend auf UDA1334 / PJ306b.
Probleme?
Es gab vereinzelt (siehe unten in der Diskussion) Berichte, dass der von mir verlinkte MAX98357a keinen Ton von sich gegeben hat. Zum 22.9.2021 habe ich daher den Link angepasst in der Hoffnung, dass es nun keine Probleme mehr gibt.