Introduction: Fully Printable Rc Car

A completely 3d printed rc car using a standard drone motor and a available esc. I clocked it going around 25mph and is very maneuverable. Easy printing and assembly. The controller I made is not available yet but the plans will be out soon. Happy Making! Also I put hot glue on the wheels to give it more traction.

Step 1: Components

1.rcx 1804 brushless motor
2 sodial 30 amp esc
3 (1/4)" steel rod

4 Arduino

5 (2) NRF2104 moldules

6 relay(optional).

7 battery pack (anything above 12).

8 Micro 9g servo.

9 Random set screws.

Step 2: Printing

Files can be found at
It is a straight forward build and any questions can be sent to

I recommend using support and rafts, but it is up to you.

Step 3: Arduino

I am using a arduino uno and a nrf2104 module for a remote controller. The electronics can be adapted to use a standard rc transmitter and receiver. The arduino goes on top of the electronics on a raised platform. The code I use is below.

#include #include #include #include #include Servo SimonKESC; Servo Steering; #include Servo servo1; #include #include "RF24.h"

RF24 myRadio (7, 8); struct package { int X=0; int Y=0; }; byte addresses[][6] = {"0"}; int OUT1 = 2; int OUT2 = 4; int Speed2 = 9; int Speed1 = 10;

typedef struct package Package; Package data;

void setup(){ Serial.begin(115200); delay(500);

myRadio.begin(); myRadio.setChannel(115); myRadio.setPALevel(RF24_PA_MAX); myRadio.setDataRate( RF24_250KBPS ) ; myRadio.openReadingPipe(1, addresses[0]); myRadio.startListening(); servo1.attach(3, 0, 180); pinMode(OUT1, OUTPUT); pinMode(OUT2, OUTPUT); pinMode(Speed1, OUTPUT); pinMode(Speed2, OUTPUT); digitalWrite(OUT1, 0); digitalWrite(OUT2, 0); digitalWrite(Speed1, 0); digitalWrite(Speed2, 0); SimonKESC.attach(3); Steering.attach(4, 0, 180); delay(5000); Steering.write(90); SimonKESC.write(179); delay(5000); SimonKESC.write(0); delay(5000); }

void loop(){ //SimonKESC if ( myRadio.available()) { while (myRadio.available()) { &data, sizeof(data) ); } Serial.print("X:"); Serial.print(data.X); Serial.print(" Y:"); Serial.println(data.Y); int X = data.X; int Y = data.Y; int speed3 = map(X,0,1024,-190,190); int turn = map(Y,0,1024,180,70); Steering.write(turn); if(X < 500){ SimonKESC.write(174); } else if(X < 524 && X > 500){ SimonKESC.write(88); }else if(X > 524){ SimonKESC.write(0); } } }

Step 4: Remote

I haven't posted the instructions for the remote yet but I have one in progress.

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017

Design Now: In Motion Contest

Participated in the
Design Now: In Motion Contest

Robotics Contest 2017

Participated in the
Robotics Contest 2017