- Explored the CardShuffler project structure and architecture
- Discussed TB6612FNG motor driver usage (PWM control on GPIO 2, 3)
- Created wiring diagram:
docs/wiring-diagram.txt - Committed the wiring diagram
- Updated ST7735 pin names in wiring diagram to match display board labels (SCL, RES)
- Added
MOTOR_MAX_SPEED 65inconfig.hto limit PWM for FA-130 motors - Applied max speed limit in
motor_set_speed(),motor_ramp_to(),motor_ramp_both() - Added bootloader reboot on long press (
reset_usb_boot) - Saved all component photos locally in
docs/, updated README to use local paths - Added TB6612FNG, LX-LCBST, LiPo, FA-130 motor photos
- Updated wiring diagram: TB6612FNG powered directly from LX-LCBST 5V
- Fixed README: pin assignments (Encoder BTN=GP4, Extra=GP16, A=GP15, B=GP14)
- Fixed README: renamed "Custom" strategy to "Random"
- Added missing components to Hardware table (FA-130, LX-LCBST, Li-Po)
None — all changes committed and pushed.
- RP2040-Zero — microcontroller
- ST7735 128x160 — SPI display (3V3, GPIO 5-10)
- KY-040 — rotary encoder (GPIO 4, 14, 15, internal pull-ups)
- TB6612FNG — motor driver (GPIO 2-3 PWM, VCC+VM from LX-LCBST 5V)
- 2x FA-130 — DC motors ∅20mm, 1.5–3V, PWM limited to 65% (~3.25V)
- LX-LCBST — boost converter 3.7V → 5V
- 1S Li-Po — 3.7V 500mAh+ battery
card-shuffler.png— шафл-машинкаst7735.png— дисплейrp2040-zero.jpg— микроконтроллерky040.png— энкодерtb6612fng.jpg— драйвер моторовmotor-fa130.jpg— моторlx-lcbst.jpg— boost converterlipo.jpg— аккумуляторdisplay-menu.gif— меню на дисплее
Card Shuffler firmware for RP2040-Zero:
- 6 shuffle strategies: Quick, Riffle, Strip, Wash, Box, Random
- State machine: MENU → SHUFFLING → STOPPING
- PWM motor control (25kHz) with soft start/stop ramping
make # build
make flash # build and flash