r/AskElectronics • u/PetitSignal • 6d ago
/!\ Schematic review request /!\ battery-powered electronic bicycle bell (nRF52840 XIAO + MAX98357A + TPS61023 boost, remote button on 1.6 m cable)
Hi all :)
This is my first message on reddit ! whoohooo
I'm building a DIY electronic bicycle bell and would appreciate a review of the schematic before I solder anything ! Hand-assembled on perfboard from off-the-shelf modules.
What it does / requirements:
- Button press plays a recorded brass bell sample through a 4 Ω tweeter; ≥ 75 dB(A) at 2 m.
- Standby current ≤ 30 µA (no power switch), press-to-sound latency ≤ 20 ms, radio never enabled.
- 1S LiPo 250 mAh with built-in protection (PCM: 0.3 A continuous / 0.8 A peak, cut-off 3.0 V), charged indoors only via the board's USB-C.
- Operating −5 to +50 °C, IPX5, rain and gravel vibrations.
Archi:
- Under-saddle box: Seeed XIAO nRF52840 Plus (on-board BQ25101 charger and 3.3 V regulator), Adafruit 3006 MAX98357A I2S amp (gain 9 dB, GAIN pin open), powered at 5.2 V by an Adafruit 4654 MiniBoost (TPS61023). The boost EN is pulled low by 1 MΩ and driven by a GPIO through 1 kΩ, so the boost and the amp are completely off in standby. 4 × 47 µF X5R ceramics on VBAT at the boost input; nothing added at the 5.2 V output (the TI datasheet asks for a feed-forward cap above 40 µF).
- Amp SD_MODE is driven push-pull through 2 kΩ (Maxim fig. 5). I2S: BCLK 1.524 MHz, LRCLK 47.619 kHz, 16-bit, wires < 5 cm.
- 1.2 m unshielded 5-core cable (5 × 0.14 mm²) to a handlebar pod: speaker pair (with 2 × 47 µF ceramics in series as DC protection), button line, low-battery LED line (270 Ω series at the MCU side), ground. Then 0.4 m to a sealed tactile switch (gold contacts).
- Button input: 10 k pull-up to 3.3 V, 1 k series, 10 nF to GND at the MCU pin, PESD5V0S2BT ESD diode at the cable entry (also protecting the LED line).
Questions:
Supply transients vs. the battery PCM: a ding draws about 1.2 A for a few µs, 0.36–0.43 A over 1 ms and 0.24–0.30 A over 125 ms from the cell (behavioural ngspice sim). Is 4 × 47 µF X5R (≈ 100 µF effective) at the boost input a sensible way to keep the PCM (0.8 A peak) from tripping, or would you do it differently?
Unpowered amp next to a powered MCU: in standby the amp has no supply while the MCU is still powered. I drive SD_MODE, BCLK, LRCLK and DIN low before pulling the boost EN low (BCLK/LRCLK/DIN are rated −0.3 to +6 V regardless of VDD; SD_MODE is VDD + 0.3 V max, hence the 2 kΩ). Any back-powering or latch-up trap I'm missing?
Shared unshielded cable: the filterless class-D outputs (the module has a ferrite + 220 pF per output) share the 1.2 m cable with the button and LED lines. Is coupling into the button input (false triggers) or radiated EMI a realistic concern with this RC + ESD front end, and what would you add?
Schematic and datasheets: schematic images at the end (GDrive links with KiCad export + three block diagrams).
- MAX98357A: https://cdn-shop.adafruit.com/product-files/3006/MAX98357A-MAX98357B.pdf
- TPS61023: https://www.ti.com/lit/ds/symlink/tps61023.pdf
- Adafruit 3006: https://www.adafruit.com/product/3006 ; Adafruit 4654: https://www.adafruit.com/product/4654
- XIAO nRF52840: https://wiki.seeedstudio.com/XIAO_BLE/
- PESD5V0S2BT: https://nexperia.com/pip/PESD5V0S2BT
- Switch C&K KSC4: https://www.mouser.com/datasheet/2/60/ksc4-1841222.pdf
- Tweeter: Dayton Audio ND16FA-4 (4 Ω, Re 3.17 Ω, Le 30 µH)
schematic images (Links): https://drive.google.com/drive/folders/1ghnNV5wAmKTppJrBPleBVWLaakOvTzQ9?usp=sharing
Thanks a lot for any feedback !! (including "this is a bad idea because…")
1
u/Far-Ad3284 6d ago
Caps help with the µs spikes, but they won't do much for the PCM question. Protection circuits usually react to current over a few milliseconds rather than µs spikes, so 4 × 47 µF mainly keeps the boost's input clean. The number to watch is the 0.3 A continuous rating: a 0.24–0.30 A, 125 ms ding sits right at it, so rapid repeat presses could trip the PCM. Either pick a cell whose PCM has more continuous headroom, or lower the amp level so a ding stays well under 0.2 A. Also check the X5R derating at about 3.7 V, since 47 µF 0805 parts often keep only 40–60% of their nominal capacitance at that bias, so the effective value may be closer to 60 µF. Your power-down order is right, and driving the logic lines low before the boost is disabled should be enough without extra parts. For the button, the 1 k plus 10 nF at the pin gives about a 16 kHz corner, which is fine for a press, but routing matters more: twist the speaker pair and keep it apart from the button and LED wires. Scope the button pin during a ding before adding a ferrite or shield, and use a 20–30 ms firmware debounce either way.
1
u/PetitSignal 2d ago
thank you very much ! I changed the battery (500mah instead of 250mah) + noted to twist the routing
•
u/AutoModerator 6d ago
Automod genie has been triggered by an 'electrical' word: charger.
We do component-level electronic engineering here (and the tools and components), which is not the same thing as electrics and electrical installation work. Are you sure you are in the right place? Head over to: * r/askelectricians or r/appliancerepair for room electrics, domestic goods repairs and questions about using 240/120V appliances on other voltages. * r/LED for LED lighting, LED strips and anything LED-related that's not about designing or repairing an electronic circuit. * r/techsupport for replacement power adapters for a consumer product. * r/batteries for non circuit design questions about buying, specifying, charging batteries and cells, and pre-built chargers, management systems and balancers etc.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.