Search models, users, collections, and posts

Pistol Grip RC Transmitter

IP Report

Print Profile(2)

All
A1 mini
H2D
X1E
P2S
H2S
X1 Carbon
H2C
X1
P1S
P1P
A1
H2D Pro
X2D
A2L

0.2mm layer, 2 walls, 15% infill
0.2mm layer, 2 walls, 15% infill
Designer
7.7 h
3 plates
5.0(1)

0.2mm layer, 3 walls, 15% infill
0.2mm layer, 3 walls, 15% infill
2 h
1 plate

Open in Bambu Studio
Boost
97
143
28
8
110
19
Released 

Description

This is a pistol-style RC transmitter based on Arduino . It was created as a simple and budget-friendly alternative to commercial transmitters. It covers the basics and works well for controlling cars, boats, or other models where you don’t need a ton of channels. The design is optimized for easy 3D printing on standard printers, with no complicated parts or supports required.

It includes a steering wheel, mounted on two bearings for smooth rotation, and a trigger used for throttle and brake control.

There are two rotary potentiometers used for trim adjustment, and two two-position switches that provide reversed signal control — switching the control range from 0°–180° to 180°–0°.

A 0.96-inch OLED display shows information such as battery voltage and percentage, connection status, and the positions of control elements.

This transmitter is designed to be used with my RC car models.

 

You will need:

 

Simple build guide:

While this is a relatively simply written build guide, assembling the transmitter is not that simple. You’ll need a bit of patience and a willingness to fine-tune things along the way.

Once you download all the provided files, you’ll find a folder called "buildguide.zip" and "code.zip", which contains the source code for the transmitter. Inside the code, you’ll see the pin definitions that indicate where each component should be connected.

For example: #define pinSpeed A3

This means the joystick output for throttle control should be connected to analog pin A3. Please also take a look at the attached schematic. It is not a simple kit, but not too complicated either.

Feel free to leave a comment if anything is unclear, I’ll be happy to answer. The controller works for me, so I believe you’ll be able to get it running too.

Have fun!

 

 

UPGRADE: More Precise Control

The original KY-023 joystick suffers from noticeable inaccuracies — it has a large dead zone both in the center and at the endpoints, making it difficult to control RC models with precision.

To improve performance, I replaced the KY-023 with a joystick from a PS5 controller, which uses a high-quality Hall Effect sensor. The result is significantly smoother and more precise control. I ordered this joystick:

  • Joystick: link (PS5 version)
  • Cap: link (PS5 version)

There are two options how to do it:

Option 1: Replace Only the Hall Effect Sensor

The PS5 joystick has a different footprint than the KY-023, but it is possible to remove only the Hall sensor from the PS5 joystick and solder it onto the KY-023 module.
Note: You must reverse the power connections — connect VCC to GND and GND to VCC — due to the sensor’s internal design.

This method works, but requires some soldering and care.

Option 2: Custom PCB for PS5 Joystick

I designed a custom PCB that matches the PS5 joystick’s footprint but keeps the same outer dimensions as the KY-023 module. This allows for a direct drop-in replacement without needing to modify the 3D-printed model.

This solution is highly recommended for its precision, reliability, and ease of installation.

Calibration and EEPROM

The firmware has been updated to support joystick calibration, with all settings stored in EEPROM. Calibration is only needed once, unless no valid configuration is found in memory.

Manual calibration can also be triggered by setting both trimmers to their minimum positions before powering on the controller. Follow the on-screen instructions to complete the process.


Documentation (1)

Other Files (1)
schematic.pdf

Comment & Rating (28)

(0/1000)

Printed parts. Waiting for the other components to arrive to assemble everything. I made a small modification to the Top.stl part by adding a second color to highlight the characters. If you want, I can upload it as a profile.
The designer has replied
Show original
designer
2
Reply
Nice, thanks for sharing. And yes, you can upload it.
0
Reply
Looks amazing. I'd love to be able to modify it for a larger display and an esp32 with espnow control.
The designer has replied
0
Reply
Thanks so much! That sounds like a good idea. Please share your version once you’ve completed the modification.
1
Reply
Replying to @user_1566432278 :
Is it possible to modify them from stl? Or do you maybe have the design on onshape. I've only have some experience with onshape.
0
Reply
I actually model in a different CAD program that allows me to modify STL files directly, so I don’t use Onshape.
0
Reply
Odd question, looking at the schematic it shows a 1000uf cap after the 10k res coming off the v out of the booster, the cap has + on ground and the caps - on the v+ out. Am I reading it correctly? Should the cap have - on ground?
(Edited)
The designer has replied
designer
1
Reply
You’re right, that was my mistake, it’s fixed now.But I have to correct you as well 😄 it’s not a 10k resistor, it’s 10R, so 10 ohms. Thanks for pointing it out.
0
Reply
Replying to @user_1566432278 :
No worries, thank you for correcting my mistake! 10k sounded like too much of a voltage drop to me lol. Thank you again for all of your work on this project and the receiver, very well done.
(Edited)
designer
1
Reply
Replying to @user_1566432278 :
The bill of materials still asks for a 10K resistor! Congratulations on the project. I intend to build it
Show original
0
Reply
Thank you man! Finally someone did this
The designer has replied
designer
2
Reply
Thanks, I appreciate it
0
Reply
Is there a schematic diagram of the receiver
The designer has replied
Show original
0
Reply
Thanks for your interest! At the moment, there's no specific receiver schematic provided. However, I’m currently working on a receiver design. If you'd like to build your own in the meantime, it’s actually pretty simple—just connect the NRF24L01 module as shown in the published design, then hook up your servos or motors to the PWM output pins and modify the included receiver code to suit your needs.
1
Reply
Hi. I’ve finished the design of the RC Receiver. You can check it out if you want at https://makerworld.com/en/models/1491787-rc-receiver#profileId-1559386
1
Reply
the tutorial is a little bit complicated. do you have a video of you assembling it or something?
The designer has replied
0
Reply
How does it connect to the thing that you're remote controlling? is there a receiver or something?
The designer has replied
0
Reply
The NRF24L01 module is used and connected to an Arduino according to the schematic. Please check the project details before asking. Even if something isn’t immediately clear, the nRF24L01 is very well documented, with many tutorials available online. It’s a simple, affordable, and widely used RF module. The receiver I’m using is part of my RC car projects, which you can find on my profile.
0
Reply
I have a problem where the transmitter does not connect with the receiver, what could be the issue
The designer has replied
Show original
0
Reply
Hi, did you use exactly the code that I provided? If yes, check whether the address and the channel match on the transmitter and the receiver. If they are the same, test the functionality of the RF modules. If you need further help, send me a message and show me your code on both sides.
0
Reply
Hello, could you please re-upload the receiver
The designer has replied
Show original
0
Reply
Hi, pistol-grip RC transmitter package now includes RC receiver files.
0
Reply
Print Profile
0.2mm layer, 2 walls, 15% infill
profile
1
Reply

License

This user content is licensed under a Standard Digital File License.

You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.