Two-Faced: a Direction-Controlled, Dual-Tone 4WD RC Car With a Color-Coded Web Joystick
by HumanixTechLab in Circuits > Robots
167 Views, 1 Favorites, 0 Comments
Two-Faced: a Direction-Controlled, Dual-Tone 4WD RC Car With a Color-Coded Web Joystick
๐บ Watch the full build video here:Two-Faced: A Direction-Controlled, Dual-Tone 4WD RC Car With a Color-Coded Web Joystick
What if a car looked like two completely different machines just by flipping it around โ and the controller driving it was just as colorful? That's exactly what this build is. One side wears a deep green diamond pattern, the other a stark white-on-black pattern โ same chassis, two distinct identities. Pair that with a fully color-coded web joystick where every function lights up in its own color when active, and you get a project where color isn't decoration โ it's the design language for the whole machine, from the chassis paint to the control panel glow.
This is a 4WD WiFi-controlled RC car, built around an ESP8266 NodeMCU and an L298N motor driver, controlled entirely through a custom web-based joystick โ no app, no separate remote. Just open a browser, type in an IP address, and drive.
Supplies
๏ธ Hardware Used
ESP8266 NodeMCU 1
L298N Motor Driver 1
BO Motors (Yellow) 4
Wheels 4
18650 Li-ion Batteries 2
Switch 1
LEDs (Red + White) 4
Resistors (100ฮฉ) 2
BC547 2
Chassis 1
The Two-Faced Chassis
The chassis is built from PVC sheet, finished in two completely different color treatments on opposite faces:
- Face A: deep green diamond/checker pattern on black
- Face B: stark silver diamond/checker pattern on black
Same build, same dimensions, same wiring underneath โ but depending on which side faces you, it reads as a different car entirely. Frame height sits at 4cm against ~7cm wheel height, giving roughly 3cm ground clearance on both sides for smooth turning and stunt handling.
Power & Drive
2ร 18650 Li-ion cells in series for power
4ร BO motors, wired as left-pair / right-pair through an L298N motor driver (left โ Channel 1, right โ Channel 2)
Single power switch + dedicated charging port on the rear panel
Lighting: Red on One End, White on the Other
Since the ESP8266 can't drive multiple LEDs simultaneously at full current, a Darlington pair circuit handles LED switching โ white LEDs up front, red LEDs at the rear. This isn't just function โ it's another color layer on top of the chassis itself: red, white, and green all present on the physical hardware before the UI even comes into play.
The Color-Coded Control Panel
This is where the "every function has its own color" idea fully comes together. The web joystick UI assigns a distinct color to every control, and that color brightens/glows when the function is active:
No two functions share a color, and no function is colorless โ so a driver can recognize what's active at a glance, by color alone, without reading labels.
Main Driving Controls
๐ผ FWD / ๐ฝ REV
The large blue directional control on the left is used for vehicle movement.
- FWD โ Drives the car forward.
- REV โ Drives the car backward.
- Large buttons make one-handed operation easy, even outdoors.
โ๏ธ LEFT / โถ๏ธ RIGHT
The green directional control on the right is used for steering.
- LEFT โ Turns the vehicle left.
- RIGHT โ Turns the vehicle right.
- Works seamlessly while driving forward or backward.
- Large buttons make steering easy and accurate, even on a smartphone screen.
Note: Steering speed depends on the M2 mode. With M2 OFF, the car turns smoothly for precise control. With M2 ON, it turns much faster, making quick spins and drifting possible.
โ ๏ธ Hazard Mode
When Hazard is enabled:
- Rear LEDs blink continuously.
- The Hazard button glows bright red.
- The web interface blinks in real time to match the physical car.
- Useful during demonstrations or emergency indication.
๐ก Lights
The Lights button controls the vehicle headlights.
- OFF โ LEDs remain off.
- ON โ Front LEDs illuminate continuously.
- Button changes to bright white when active.
๐ก M1 โ Power Mode
M1 changes the driving power of the vehicle.
M1 OFF
- Motors run at approximately 50% power.
- Smooth acceleration.
- Ideal for indoor driving and beginners.
- Conserves battery power.
M1 ON
- Motors run at 100% power.
- Maximum torque.
- Recommended for:
- Off-road driving
- Grass
- Sand
- Steep climbs
- Heavy loads
๐ท M2 โ Steering Performance
M2 controls the turning speed of the RC car.
M2 OFF
- Slower steering.
- Smooth, controlled cornering.
- Better precision.
M2 ON
- Maximum turning speed.
- Fast rotation.
- Ideal for:
- Quick U-turns
- Drifting
- Aggressive driving
- High-speed maneuvering
๐ STOP (Master Safety Lock)
The STOP button is designed as a master safety switch.
When STOP is activated:
- All motors stop immediately.
- Hazard mode is disabled.
- Lights are disabled.
- Driving controls are ignored.
- M1 and M2 functions are locked.
- The car remains inactive until STOP is released.
This provides an additional layer of safety and prevents accidental movement.
Why This Interface?
Instead of using a dedicated Android application, the controller runs entirely inside a standard web browser. This makes the project:
- โ Cross-platform (Android, iPhone, Windows, Linux, macOS)
- โ No app installation required
- โ Instant connection through Wi-Fi
- โ Real-time button feedback
- โ Beginner-friendly interface
- โ Easy to customize by editing the ESP8266 web page
This browser-based dashboard makes controlling the RC car intuitive while also providing advanced driving modes for different terrains and driving styles.
Wiring & Code
Pinout: D1/D2/D5/D6 โ motor control ยท D0/D7 โ speed control ยท D3/D8 โ LED control
L298N's onboard 5V regulator powers the ESP8266 directly โ no separate buck converter needed
Full Arduino code, circuit diagram, and pin reference: GitHub repo โ download and flash directly, no code edits required
Connecting & Driving
Power on the car
Connect your phone to WiFi network CAR_v1.0
Tap "Connect anyway" if your phone warns about no internet โ this is expected, the car runs its own local network
Open a browser, go to 192.168.4.1
The color-coded joystick loads โ drive directly from the browser
Field Testing
Tested across smooth flooring, rough outdoor terrain, and gravel to confirm 4WD traction and turning radius hold up under real conditions โ not just a tabletop demo.
Closing
Two colors on the outside, six colors on the control panel, one unified idea: color isn't an afterthought here, it's how the whole machine communicates โ what it is, and what it's doing. Full build files, code, and wiring are linked below. Let me know what you'd build next with this approach!
๐บ Watch the full build video here:Two-Faced: A Direction-Controlled, Dual-Tone 4WD RC Car With a Color-Coded Web Joystick