Troubleshooting
Quick Fixes (Try These First)
Section titled “Quick Fixes (Try These First)”- Try a different USB cable (data cable, not charge-only!)
- Use boot mode entry (hold button while plugging in)
- Try a different USB port
- Restart your computer
- 6-second button reset (hold side button for 6 seconds)
Device Not Detected
Section titled “Device Not Detected”Symptom
Section titled “Symptom”Computer doesn’t see the StickS3 at all. No COM port appears.
Solutions
Section titled “Solutions”Check the cable:
- Must be a DATA cable, not charge-only
- Quick test: can you transfer photos with this cable?
- About 50% of connection issues are wrong cables
Check the driver (Windows):
- Open Device Manager (
Win + X→ Device Manager) - Look under “Ports (COM & LPT)”
- If no port listed → install CH9102 driver
- Download: M5Stack Downloads
- Install with device UNPLUGGED, then restart
Check the driver (Mac):
- Open Terminal
- Run:
ls /dev/tty.* - If no
tty.usbserial-*appears → install CH9102 driver - macOS built-in support varies by version
Try boot mode entry:
- Unplug USB cable
- Hold side button down
- While holding, plug in USB
- Keep holding 2 seconds
- Release button
”Code 10” Error
Section titled “”Code 10” Error”Symptom
Section titled “Symptom”Device Manager shows the device with a yellow warning: “This device cannot start (Code 10)“
Solutions
Section titled “Solutions”- Uninstall the driver:
- Device Manager → right-click device → Uninstall device
- Check “Delete the driver software”
- Restart computer
- Reinstall CH9102 driver from M5Stack Downloads
- Use boot mode entry when connecting
- Try a different USB port (avoid USB hubs)
COM Port Keeps Changing
Section titled “COM Port Keeps Changing”Symptom
Section titled “Symptom”The COM port number is different each time you connect.
Solution
Section titled “Solution”This is normal behavior. Windows assigns COM ports dynamically. Just note the new number each time.
If it causes issues in UIFlow:
- Disconnect device
- Reconnect
- In UIFlow, click “Connect” again and select the new port
Timeout / Write Error
Section titled “Timeout / Write Error”Symptom
Section titled “Symptom”“Timeout” or “Write error” when trying to flash or run code.
Solutions
Section titled “Solutions”- Use boot mode entry: Hold button while plugging in USB
- Close other programs that might use the COM port (other serial monitors, M5Burner)
- Try a different USB cable
- Try a different USB port (front ports sometimes have issues)
- Restart your computer
UIFlow Won’t Connect
Section titled “UIFlow Won’t Connect”Symptom
Section titled “Symptom”Browser can’t see the COM port, or connection fails in UIFlow.
Solutions
Section titled “Solutions”Check browser:
- Must use Chrome or Edge
- Safari and Firefox do NOT support Web Serial API
Check connection mode:
- Look at lower right corner of UIFlow
- Must be set to
USB(notCloud Pair)
Check port availability:
- Close any other programs using the serial port
- Close other UIFlow tabs
- Disconnect and reconnect the device
Browser permissions:
- When UIFlow asks to select a port, choose the correct COM port
- If no ports appear, check driver installation
Screen is Black
Section titled “Screen is Black”Symptom
Section titled “Symptom”Device screen shows nothing. Appears dead.
Solutions
Section titled “Solutions”- Try the 6-second reset: Hold side button for 6 seconds
- Check USB cable: Device needs power via USB
- Try hard reset: Hold button, unplug USB, wait 10 seconds, plug back in
- Battery may be dead: Keep USB connected for a few minutes to charge
- Use boot mode entry and reflash firmware via M5Burner
Escalation Ladder
Section titled “Escalation Ladder”Level 1: Self-Service (2 minutes)
Section titled “Level 1: Self-Service (2 minutes)”- Try the 6-second reset (side button)
- Check this troubleshooting guide
- Re-read the relevant section of the Week guide
Level 2: AI Assistant (5 minutes)
Section titled “Level 2: AI Assistant (5 minutes)”- Use specific question format (device, firmware, exact error, what you tried)
- Include I2C scan results if relevant
- Share minimal code that reproduces the issue
Level 3: Forum / Peer Help
Section titled “Level 3: Forum / Peer Help”- Post to M5Stack Community Forum
- Title format: [StickS3] [UIFlow2.0.x] Specific symptom after specific action
- Include: what you tried, error messages, I2C scan output
Level 4: Instructor / TA
Section titled “Level 4: Instructor / TA”- When you’ve documented steps 1-3 and are still stuck
- Bring: your code, error logs, and what you’ve ruled out
- After 20+ minutes of trying: use TA laptop. No penalty.
Pro Tips from Students
Section titled “Pro Tips from Students”“The ‘ENODEV’ error almost always means the device isn’t getting power. Check that tiny switch on the side of bases!”
“UIFlow 2 hides hardware based on the controller you pick at start. If something’s missing, try raw I2C blocks instead of the ‘friendly’ unit blocks.”
“Keep the USB cable plugged in when using servos or motors. The battery alone can’t handle the current spike.”
“When blocks act weird, switch to Python view. Sometimes the generated code has None where a pin should be.”
“If a sensor worked yesterday and doesn’t today: Did you change ports? Some sensors have fixed I2C addresses and conflict if moved.”
Was this page helpful?