Illustration: RC car computer control – SwellRC RC Cars guide

How to Control an RC Car with a Computer

RC Cars

There are two practical ways to control an RC car from a computer: send commands into your existing transmitter through its trainer port, or replace the receiver with a small microcontroller board that drives the ESC and steering servo over Wi-Fi or Bluetooth. Both are popular maker projects. This guide explains each approach, the parts you need and the safety measures that matter.

Updated: October 20269 min read

Illustration: RC car – controlling an RC car with a computer

How RC signals work

In a hobby-grade car, the receiver sends a pulse signal (PWM) to the ESC and the steering servo, typically one pulse every 20 ms with a width between about 1.0 and 2.0 ms: 1.5 ms is centre or neutral. Anything that can produce those pulses, whether a receiver or an Arduino, can drive the car. Transmitters can also accept a combined signal (PPM) on a trainer port, which is how a computer can “hold the sticks”. The radio side is explained in RC basics.

Method 1: through the transmitter

Many computer transmitters have a trainer (buddy) port that accepts a PPM signal. A microcontroller connected to your computer by USB generates that signal from the commands the computer sends, and the transmitter passes them to the car as if you were moving the sticks.

  • Pros: uses your existing radio link, range and fail-safe; nothing changes in the car.
  • Cons: needs a transmitter with a trainer port; pistol-grip car radios often don’t have one.
  • Parts: an Arduino-compatible board, the correct trainer cable and a little code to generate PPM.

Some transmitters running open firmware also accept control from a computer or companion device in other ways; check your radio’s documentation.

Method 2: an onboard microcontroller

Replace (or sit alongside) the receiver with a board such as an ESP32, which has Wi-Fi and Bluetooth, and generate the PWM signals for the ESC and servo directly.

  1. Power the board from the ESC’s BEC (5–6 V) through a suitable regulator if needed.
  2. Connect the board’s PWM outputs to the ESC signal lead and the steering servo, with a common ground.
  3. Write code that receives commands (from a web page, an app or a game controller connected to the computer) and turns them into pulse widths.
  4. Arm the ESC by sending neutral (1.5 ms) at start-up, as the ESC expects.
  • Pros: works with any car that has a separate ESC and servo; easy to add sensors, cameras and autonomy.
  • Cons: Wi-Fi range is short; you build the fail-safe yourself.

Toy-grade cars with all-in-one boards are harder: you would replace the board with a motor driver and servo or steering motor driver. For a simple start, see making an RC car with Arduino.

Software and input devices

  • Game controller or steering wheel: read it on the computer (for example with Python and a game-input library) and send values over serial, Wi-Fi or Bluetooth.
  • Web interface: an ESP32 can serve a page with on-screen controls you open on a laptop or phone.
  • Autonomous projects: add a camera and use the computer to steer; many robotics and self-driving learning projects start this way.
  • Phone control: see can I control my RC car with my phone?

Safety and fail-safe

Build the fail-safe first: if commands stop arriving, the code must set throttle to neutral within a fraction of a second. Test it with the car on a stand before it ever touches the ground. A lost Wi-Fi link without fail-safe leaves the car running at its last throttle setting.

  • Limit maximum throttle in code during development.
  • Keep a physical power switch or a way to disconnect the battery quickly.
  • Test in a closed area away from people and traffic.

FAQ

Can I control any RC car with a computer?

Hobby-grade cars with a separate ESC and servo are straightforward. Toy-grade cars need their electronics replaced with a motor driver board.

Do I need to know programming?

Basic Arduino or Python skills are enough for simple control; many example projects are available to adapt.

Can I use a USB transmitter to drive a real car?

USB transmitters and simulator dongles send stick positions to the computer, not the other way round. To drive a real car from the computer you need one of the two methods above.

What range can I get over Wi-Fi?

Usually tens of metres in open space, less with obstacles. For longer range, send commands through a real RC transmitter (method 1).

More on this topic: radios, power types and maintenance are covered in the complete RC cars guide.

Kyle Hilson, author of SwellRC

About the author: Kyle Hilson

About 20 years in RC. Mostly boats in the NAVIGA Mini Eco Expert class, with many self-made parts; also a King Motor Baja 5B, a home-built electric plane, home-built nitro planes he has flown, and an RC helicopter. More about SwellRC