Skip to content

mattwilliamson/Arduino-RC-Receiver

Repository files navigation

This is a simple project which will control a Radio Controlled vehicle via a serial interface, such as XBee or Bluetooth. The included joystick.py will use a joystick to transmit via XBee (or whatever serial interface you are using).

Requirements:

  • pyserial
  • pygame

TODO

This project has been changed to send SUM PPM over Digital Pin 9 from the arduino to the aeroquad Digital 2 pin instead of one pin for each channel. All of the diagrams below info pertains to the sketch names serial_servo_rx.

Usage

  • Upload the serial_ppm_rx sketch to your Arduino.
  • Connect your servos to your Arduino per the below pinouts
  • Run python joystick.py
  • Use your joystick and watch the servos go!

I am using an XBee hooked up to an arduino plugged into my computer as the serial out interface and the other XBee is connected to my Arduino.

You can use whatever radio (including bluetooth) as long as your computer recognizes it as a serial port and the receiver spits out TTL on RX0 on your Arduino.

One example would be a standard bluetooth adapter on your computer and one of these bluetooth ttl adapters.

As for the joystick, I am using a Saitek ST290 so you may need to change the code a little to match the buttons you want to perform which function.

Currently all buttons work as toggles.

Caveats

  • Set your XBees to 38400 baud. This was picked since it's safe to use with Series 1 XBee radios.

Pinouts

This is as it relates to the joystick.py control file and it maps to the Saitek joystick mentioned above.

  • Arduino Digital 2: Throttle
  • Arduino Digital 3: Roll
  • Arduino Digital 4: Pitch
  • Arduino Digital 5: Yaw
  • Arduino Digital 6: Aux1
  • Arduino Digital 7: Aux2
  • Arduino Digital 8: Aux3
  • Arduino Digital 9: Aux4
  • Arduino Digital 13: Status LED

Schematic

Breadboard

About

An Arduino sketch that converts serial commands to servo controls

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages