Introduction: Smartphone-Controlled FPV Car (No Code)
This tutorial shows how to build a smartphone-controlled FPV (First-Person View) car using Grablo's visual programming blocks. Stream live video to your phone and control the car with an on-screen joystick—drive your robot from anywhere, even outdoors using mobile hotspot!
What You'll Build
A smartphone-controlled FPV car with:
- Real-time camera streaming to your smartphone
- Intuitive joystick control via mobile dashboard
- Differential drive steering using wheel speed differences
- Outdoor capability using mobile hotspot
Supplies
Required Components
- Raspberry Pi (any model with camera support)
- Raspberry Pi Camera Module or USB webcam
- L298N motor driver
- 2x DC motors with wheels
- Robot chassis (Arduino-compatible car chassis works great)
- Power bank for Raspberry Pi (5V/2A minimum)
- 2x 18650 batteries (in series) for motors
- Jumper wires
Wiring: Refer to attached wiring diagram
⚠️ Critical Notes:
- Keep Raspberry Pi and motor power supplies separate
- Connect common ground between Raspberry Pi and L298N
Step 1: Quick Start
- Download and install Grablo software on your Raspberry Pi
- Wire components according to circuit diagram
- Get this project
- Open Grablo app on your smartphone browser
- Enter Raspberry Pi's IP address and run
To build it yourself, continue to Step 2.
Step 2: Create Dashboard
Create Project & Dashboard
- Go to https://app.grablo.co
- Click "Create Project"
- Name your project
- Create a new dashboard
Add Widgets
- Camera Widget: Create a new camera with default settings.
- Joystick Widget: Create X and Y variables, assign to joystick. Keep min/max at -100/100.
💡 Tip: Adjust mobile dashboard layout for smartphone control. You can fine-tune it later on your phone.
Step 3: Create Logic
Control 1 - Start Camera
Start the camera once when the project begins.
- Condition (Once): Run once at startup
- Action (AI Camera): Start camera, leave AI Analysis empty
Control 2 - Motor Control
Control wheel speeds based on joystick input.
- Condition (Always): Run continuously
- Action 1 (I/O Device Control): Set left motor speed
- Action 2 (I/O Device Control): Set right motor speed
Motor Speed Formula
For differential drive steering without a servo:
- Left wheel: Y + (X × 0.4)
- Right wheel: Y - (X × 0.4)
The 0.4 ratio prevents overly sensitive turning. Adjust to your preference.
Step 4: Connect to Wi-Fi
With Monitor/Keyboard: Click the Wi-Fi icon in the top right corner.
Without Monitor (SSH):
- Connect via SSH using Putty
- Run sudo raspi-config
- Select System Options → Wireless LAN
- Enter Wi-Fi name and password
For Outdoor Use (No Wi-Fi):
- Turn on your smartphone's hotspot
- Connect Raspberry Pi to hotspot
- Find Raspberry Pi's IP in hotspot settings → Connected devices
- Use that IP address to connect
Step 5: Launch Your Project
That's it—you're done!
Launch Your Project
- Open Grablo app on your smartphone browser
- Select your project
- Click Connect and enter Raspberry Pi's IP address
- Hit RUN and drive!
Expected Results
When you run your project:
- Camera feed appears in real-time on your phone
- Push joystick forward: car moves forward
- Push joystick backward: car reverses
- Steer left/right: car turns using differential drive
- Release joystick: car stops
- Works anywhere with Wi-Fi or mobile hotspot
Step 6: Video Tutorial
Watch the complete build process in action!
Step 7: Expand Your Project
Add more functionality:
- Distance sensor for collision avoidance
- Voice control (STT) and voice output (TTS)
- LED effects
Troubleshooting
No camera feed:
- Check camera connection and settings
- Try different camera index for USB camera
Car not responding:
- Verify GPIO wiring and battery charge
- Check Wi-Fi/hotspot connection
Steering feels wrong:
- Adjust X-axis ratio (0.3~0.5)
- Swap motor direction (True/False)
Resources
- Website: https://grablo.co
- Download: https://grablo.co/download
- Web App: https://app.grablo.co
- Docs: https://doc.grablo.co
- Support: support@grablo.co





