The M5 Stuart Project - Rigging in a New RC Radio and PIC Mixer

  WARNING: This stuff worked for me, but I can't guarantee it'll work for you. If you decide to start hacking your tank, be aware that you can really screw it up if you're not careful or if you don't understand what you're doing! I can't (and won't) be held responsible for your actions!  

  The Stuart's receiver board is the large board just below the speaker in this picture. The board consists of the RF receiver and decoder for the control signals. The signals are delivered to the power and drive board via flex cable.

The 22 pin IC labeled PT8A991AP is an RF decoder IC. The pins which drive each function are labeled in this picture (click for larger image). I removed the decoder and reinstalled it in a DIP socket to allow me to experiment. Note that applying Vcc (~5v) to the labeled pins initiates the associated function.

Here's the schematic for the PIC 16F84A skid-steer mixer I built up for the Stuart. Same schematic works for the 16F628 version. It would likely work for any track driven vehicle. Relays could be incorporated to control higher currents. The mixer is self calibrating. If RC signal is lost the mixer shuts down all activity within a half-second. The mixer does true skid-steer with single track turns as well as spin turns (one track forward and one in reverse). The mixer takes three inputs from an RC receiver and translates those inputs into skid-steer mixer commands (LF, LR, RF, RR along with 2 aux outputs to control the turret rotation)


Save this image and reopen to view full size.

The mixer interfaces directly with the Stuart's receiver board. I removed the existing PT8A991AP decoder from the Stuart. I tested the code with a Futaba 6 channel system that I had on hand but I won't guarantee it'll work with just any RC system without some tweaking. The source code was written and compiled in BASIC using Celestial Horizon's CH Basic Flash Edition Compiler. It's available from Reynolds Electronics. The raw BASIC source is provided via the links at right. The version for the '628 is improved in that it samples the inputs faster (every 10us) as part of it is written in assembler.

BASIC Source for 16F84A

BASIC Source for 16F628A


The assembly code was turned into HEX and tested using Microchip's MPLAB IDE with integrated simulator. The HEX code was flashed to the PIC using a homemade programmer called NOPPP. It's cheap and works great! Either PIC is available from Digikey.

HEX Code for 16F84A

HEX Code for 16F628A


Here's a shot of the PIC mixer hooked up to the RC receiver mounted with velcro in the turret beside the paintball marker. Three channels go to the mixer for steering and turret control and the other two channels go to the marker elevate and fire servos. Pretty compact rig. I used a separate receiver / mixer battery pack. Eight conductor stranded wire goes down from the mixer into the body of the tank to the Stuart's receiver board.

Here's a shot of the receiver board with the 8 conductor wire coming from the turret. The grey two conductor goes to the leaf switch I mounted on the marker's trigger to initiate the 'cannon' fire sound effect. Notice the empty socket where I removed the PT8A991A decoder IC from the board.

This is the leaf switch I installed to initiate the 'cannon fire' sound effect. I disabled the 'kickback' function by cutting the trace at Pin 8 of the decoder IC (photo) so it wouldn't throw off my aim when firing rapidly. I may install a switch later on so I can turn the kickback function on and off.