|
5 years ago | |
---|---|---|
.. | ||
Gerber | 5 years ago | |
KiCad | 5 years ago | |
Pictures | 5 years ago | |
README.md | 5 years ago |
README.md
Tonuino-PCB based on Wemos' Lolin32
Introduction
After I've been asked many times to provide a PCB, I finally did so :-) It makes use of Wemos' Lolin32 which is the predecessor of Lolin D32. D32's advantage over Lolin32 is especially, that a voltage-divider for measuring battery's voltage is already integrated (fixed-wired to GPIO 35). However, as I wasn't aware of that when buying Lolin32 and because of now, that multiple Lolin32 are here on my desk, my reasonable intention was to use them. So things would have been a bit easier with D32 but in the end it works the same way with Lolin32.
Features
- Fits Wemos Lolin32 (not Lolin D32, Lolin D32 pro or Lolin 32 lite!)
- Outer diameter: 56 x 93mm
- JST-PH 2.0-connectors for buttons, rotary encoder, Neopixel, RFID and battery (not 2.54mm pitch!)
- 2.54mm-connectors for MAX98354a and uSD-card-reader
- Mosfet-circuit that switches off MAX98357a, Neopixel, headphone-pcb and uSD-card-reader automatically when deepsleep is active
- All peripherals are solely driven at 3.3V! Keep this especially in mind when choosing uSD-reader. If in doubts use one without voltage-regulator (link below).
- If headphone-pcb is used, MAX98357a is automatically muted when there's a headphone plugged in and vice versa.
- If
HEADPHONE_ADJUST_ENABLE
is enabled and a headphone is plugged in, an alternative maximum volume is activated. I added this feature because headphone-pcb makes use of an amp that (probably) "allows" children to damage ears. This maximum volume can be set and re-adjusted via webgui.
Prerequisites
- If no headphone-pcb is connected, make sure
HEADPHONE_ADJUST_ENABLE
is not active. - I used 390/130 kOhms-resistors as voltage-divider. However, make sure to use a multimeter to determine their exact values in order to achieve a better battery-measurement. They can be configured in
settings.h
asrdiv1
andrdiv2
. Hint: for Lolin D32's battery-measurement 100k+100k were used. However, I decided to change the ratio from 50/50% to 25/75% to have a "better" signal. 100/100 might be work as well; didn't test it.
Things to mention
- RFID: In order to avoid buying a 6pin-JST-PH-connector I used 2x3pin. This is because I already had ten of them (see link below). Accidently, on my PCB-layout, I switched the direction of one of these two connectors. However, it's just an visual issue.
- In contrast to Lolin D32, Lolin32 doesn't feature an integrated voltage-divider. That's why on the lower left there's a JST-PH2.0-connector to connect the LiPo-battery. Make sure to connect (+) to the left und GND to the right. From there you need to solder two short wires (5cm or so) onto the pcb with a JST-PH2.0-connector attached on the other side. This one needs to be plugged into Lolin32. Please note: Lolin's JST-PH2.0-connector needs (+) left side and GND right side. Don't be confused if black/red-colouring of the JST-wires used seems "weird" because is reversed (black => (+); red => GND).
- Better don't solder Lolin32 directly to the PCB. I recommend to make use of female connectors instead (link below).
Hardware-setup
The heart of my project is an ESP32 on a Wemos Lolin32 development-board. Make sure to install the drivers for the USB/Serial-chip (CP2102 e.g.).
- MAX98357A (like Adafruit's)
- uSD-card-reader 3.3V only
- RFID-reader
- RFID-tags
- Neopixel-ring
- Rotary Encoder
- Buttons
- Speaker
- uSD-card: doesn't have to be a super-fast one; uC is limiting the throughput. Tested 32GB without any problems.
- JSP PH-2.0-connectors
- Female connector
- (optional) IDC-connector female 6pin for headphone-pcb
- (optional) IDC-connector male 6pin for headphone-pcb
Parts
- 1x IRF530NPbF (N-channel MOSFET)
- 1x NDP6020P (P-channel MOSFET)
- 1x 1k resistor
- 1x 10k resistor
- 2x 100k resistor
- 1x 130k resistor (can be replaced by 100k)
- 1x 390k resistor (can be replaced by 100k)
- 4x JST-PH2.0-connector (2 Pins)
- 3x JST-PH2.0-connector (3 Pins)
- 1x JST-PH2.0-connector (5 Pins)
- Female connector as socket for Lolin32, uSD-reader and MAX98357a
- (optional for headphone-PCB) 1x IDC-connecor female (6pin)
- (optional for headphone-PCB) 1x IDC-connecor male (6pin)
Where to order?
I ordered my PCBs at jlcpcb. You have to order at least 5 pcs, which is only at 2$ + shipping. It took two weeks to arrive. If you want to have a look at the PCBs first (without having KiCad installed), visit Gerberlook and upload gerber.zip
from the Gerberfiles-folder.
Do I need to install KiCad?
Unless you don't want to change anything: no! All you need to provide are the gerberfiles (gerber.zip
) to your manufactur (e.g. jlcpcb). However, all Kicad-files used are provided as well.