
2s 18650 battery pack
Does it make sense? Does it need a fuse or is BMS enough for protection?

Does it make sense? Does it need a fuse or is BMS enough for protection?
I'm a beginner. I wish I had access to electronics when I was a kid 30+ years ago. But now I'm building a toy for my own kids and it's my first project more complex than connecting a couple of LEDs and sensors on a breadboard. But I believe this should work 😂.
Actually, version 1 worked for a while (almost a year). It was ugly, but it worked. There were too many wires (and really bad maintainability), awful soldering, 2x18650 batteries with a built-in charger and protection but no balancer, and it worked for a while before one battery died. The LEDs were powered directly by Arduino pins, limiting the number of available Arduino pins and increasing the total current almost to the limit.
It started when I found someone else's project: STL files for a 3D model of a DUPLO-compatible train, a simple electronic circuit, and a simple Arduino program. I modified the 3D model slightly, added RGB LEDs, a tilt sensor, a battery voltage meter, and wrote my own more advanced and feature-rich Arduino program. I have some basic programming experience, and AI is incredibly helpful when you know how to use it properly.
Features (version 1):
Planned changes (version 2):
Future versions:
If you see any issues on the circuit diagram let me know. I have no idea when a where I should use capacitors. I should use at least one with a DC motor, right? (there were none in version 1).
Links:
Original project: https://cults3d.com/en/3d-model/game/locomotora-sofia-controlada-por-infrarojos-con-control-de-velocidad-por-ultrasonidos-y-motor-superior-multiusos-lego-duplo
My project (version 1): https://makerworld.com/en/models/1854728-arduino-train-compatible-with-duplo-tracks#profileId-1983131
My Arduino code (version 1): https://github.com/avatorl/Arduino/tree/main/duplo-train