Installation
Installation Guide
This guide walks you through the complete process of building and installing your Moto32 control unit, from ordering PCBs to final motorcycle installation.
Prerequisites
Before you begin, ensure you have:
- Basic soldering skills (SMD experience recommended)
- Multimeter for testing
- Soldering iron with fine tip (or hot air station)
- Basic hand tools for motorcycle installation
- Computer with USB-C cable for programming
- Understanding of motorcycle electrical systems
Step 1: Order PCBs
Option A: PCBWay (Recommended)
The easiest way to get started is to order through PCBWay, our manufacturing sponsor:
- Visit the Moto32 PCBWay Project Page
- Click "Add to Cart"
- Choose your options:
- Quantity: Minimum 5 PCBs (standard for prototypes)
- PCB Thickness: 1.6mm (recommended)
- Surface Finish: ENIG (best for durability) or HASL
- Copper Weight: 1 oz (standard)
- Optional: Add PCB Assembly Service
- Upload BOM and Pick & Place files from the repository
- PCBWay will source and solder all components for you
- Complete checkout and wait for delivery (typically 7-14 days)
Option B: Other PCB Manufacturers
You can also use any PCB manufacturer:
- Download Gerber files from the GitHub repository
- Upload
Gerber_Canarin_MUX_PCB.zip
to your chosen manufacturer - Select PCB specifications:
- Layers: Multi-layer (check Gerber files)
- Dimensions: Auto-detected from Gerber
- Thickness: 1.6mm
- Color: Your choice (black/blue recommended)
- Surface Finish: ENIG or HASL Lead-Free
Popular alternatives:
- JLCPCB
- OSH Park
- Eurocircuits
- PCBWay (without assembly)
Step 2: Source Components
Download BOM
Get the complete Bill of Materials from the repository:
# Clone the repository
git clone https://github.com/jaksatomovic/motogadget-clone.git
cd motogadget-clone
# BOM file location
BOM and Pick N Place/BOM_Canarin_MUX.csv
Key Components
The most critical components are:
Component | Part Number | Qty | Purpose | Supplier |
---|---|---|---|---|
ESP32-S3-WROOM-1-N8R2 | ESP32-S3-WROOM-1 | 1 | Main MCU | LCSC: C2913205 |
DMP4015SK3Q-13 | DMP4015SK3Q-13 | 8 | MOSFET outputs | LCSC: C461089 |
AP63203WU-7 | AP63203WU-7 | 1 | Buck converter | LCSC: C303432 |
CH340C | CH340C | 1 | USB-UART | LCSC: C75219 |
TYPE-C-31-M-12 | TYPE-C-31-M-12 | 1 | USB-C connector | LCSC: C165948 |
Where to Buy
Recommended Suppliers:
Step 3: PCB Assembly
Tools Required
- Soldering iron with fine tip (or hot air rework station)
- Solder paste (for SMD components)
- Tweezers (fine point, ESD-safe)
- Magnifying glass or microscope
- Flux (no-clean recommended)
- Isopropyl alcohol (IPA) for cleaning
- Multimeter
- ESD mat and wrist strap
Assembly Process
Assembly Order:
- Small passives first (0402 resistors and capacitors)
- Apply solder paste with stencil or syringe
- Place components with tweezers
- Reflow with hot air or hot plate
- Larger passives (0603 capacitors)
- ICs and active components
- ESP32 module (careful with alignment)
- MOSFETs (watch orientation)
- Buck converter IC
- USB-UART chip
- Connectors and mechanical parts
- USB-C connector
- Pin headers
- Inspection and cleaning
- Check for solder bridges under microscope
- Clean with IPA
- Initial testing (see Step 4)
Assembly Tips
- Work in a well-lit, static-free environment
- Apply flux generously for better solder flow
- Use hot air at 350°C for reflow (adjust based on solder paste)
- Double-check ESP32 module orientation before soldering
- Verify polarity of diodes and MOSFETs
- Take breaks to avoid fatigue-induced mistakes
- No solder bridges between pins
- All components properly oriented
- USB-C connector securely attached
- No cold solder joints or lifted pads
- Connect USB-C cable to computer
- Measure voltages:
- 3.3V rail: Should be stable at 3.3V ±0.1V
- ESP32 power pins: 3.3V present
- Check for excessive heat on any components
- LED indicators (if populated) should light up
- Install ESP32 support in Arduino IDE (see Firmware Guide)
- Select ESP32-S3 Dev Module as board
- Upload a simple "Blink" sketch
- Verify code uploads successfully
- Check serial output at 115200 baud
- Connect LEDs with resistors to each output
- Upload test firmware (available in repository)
- Verify each output can switch on/off
- Check for proper logic levels (LOW = active)
- Measure output current capability
- Choose mounting location
- Under seat (most common)
- Behind headlight nacelle
- In side panel
- Protected from water and vibration
- Measure wire lengths needed
- Plan wire routing to avoid moving parts
- Select connectors for easy removal
- Document your wiring for future reference
- Disconnect battery (negative terminal first)
- Mount Moto32 unit with vibration-damping mounts
- Run power wires with appropriate gauge (14-16 AWG)
- Install inline fuse (10A recommended) near battery
- Connect ground to clean frame ground point
- Route signal wires for switches and sensors
- Connect output wires to loads (lights, horn, etc.)
- Secure all connections with heat shrink or connectors
- Double-check all wiring against your diagram
- Reconnect battery (positive first, then negative)
- Turn ignition to ON position (don't start engine)
- Check for smoke or unusual smells (if any, disconnect immediately)
- Verify Moto32 powers up (LED indicators if present)
- Test each function individually:
- Lights (headlight, tail, brake)
- Turn signals
- Horn
- Check for proper ground connections
- Verify no voltage drop under load
- Test with engine running for electrical noise immunity
- All lights function correctly
- Turn signals flash at proper rate
- Horn sounds clearly
- Kill switch cuts ignition
- No flickering or dimming under load
- All connections are secure
- No loose wires or sharp edges
- Emergency stop procedures tested
- Connect USB-C cable
- Open Arduino IDE or PlatformIO
- Configure pin mappings for your setup
- Set input debounce times
- Configure auto-cancel timers (if used)
- Upload firmware
- Turn signal flash rate
- Auto-cancel sensitivity
- Brake light delay
- Headlight modulation
- Custom sequences
- Check 12V input voltage at connector
- Verify ground connection
- Test buck converter output (should be 3.3V)
- Check for reverse polarity damage
- Verify MOSFET orientation during assembly
- Check gate drive signals with oscilloscope
- Test MOSFET with known good component
- Verify firmware output pin configuration
- Install CH340 drivers for your OS
- Try different USB cable (must support data)
- Check USB-C connector solder joints
- Verify 3.3V present on CH340 chip
- Hold BOOT button while connecting USB
- Select correct board in Arduino IDE
- Check serial port selection
- Verify ESP32 module is properly soldered
For detailed assembly instructions with photos, see the Hardware Assembly Guide.
Step 4: Initial Testing
Before installing on your motorcycle, thoroughly test the unit:
Visual Inspection
Power-Up Test
Programming Test
Output Test
Test each MOSFET channel:
Step 5: Motorcycle Installation
Pre-Installation Planning
Before installing, plan your wiring:
Wiring Connections
Power Input:
12V+ (Battery) ────[Fuse 10A]────> Moto32 12V Input
Ground (Frame) ──────────────────> Moto32 GND
Typical Output Assignments:
Output | Function | Notes |
---|---|---|
OUT1 | Headlight | High beam |
OUT2 | Headlight | Low beam |
OUT3 | Tail light | Running light |
OUT4 | Brake light | Brake switch input |
OUT5 | Turn signal | Left |
OUT6 | Turn signal | Right |
OUT7 | Horn | Momentary |
OUT8 | Ignition coil | Kill switch input |
Installation Steps
First Power-Up on Motorcycle
Final Testing
Before riding:
Step 6: Configuration & Tuning
Upload Production Firmware
Replace test firmware with your final configuration:
See Firmware Configuration for detailed instructions.
Fine-Tuning
Adjust settings based on real-world use:
Troubleshooting
Unit Won't Power Up
Outputs Don't Work
USB Not Recognized
ESP32 Won't Program
For more help, see the Troubleshooting Guide or ask on GitHub Issues.