Introduction: Make 8 CH RC Transmitter and Receiver With Stm32f103 and Nrf24l01

About: Passionate DIY enthusiast delving into the intricate world of tech creations. I enjoy crafting innovative solutions using readily available materials, making complex tech concepts accessible to all. Follow alo…

Overview

The 8-channel RC transmitter and receiver system crafted for the PCBWay 6th Contest is a highly intricate and technologically advanced solution tailored for remote-controlled applications. By harnessing the capabilities of the STM32F103C8T6 microcontrollers, NRF24L01 wireless communication modules, a 0.96-inch OLED display, buzzer, dual pots, dual switches, resistors, capacitors, and other key components, this project offers a sophisticated and feature-rich platform for hobbyists and RC enthusiasts.

Supplies

Material for Transmitter:

STM32:https://bit.ly/3ODReqC

NRF24L01 GT24 Mini:https://bit.ly/3HTMQA0

E11 ENC:https://bit.ly/3UDggKq

0.96 OLED:https://bit.ly/49arquy

10k resistance(smd):https://bit.ly/3SAMR0D

1k resistance(smd):https://bit.ly/3SAMR0D

100nf cap(smd):https://bit.ly/3ODT22S

Buzzer:https://bit.ly/3uru93D

SS8050/bc547 transistor:https://bit.ly/487k8q0

AMS117(3.3v reg):https://bit.ly/497yk3N

10uF cap:https://bit.ly/3SzbI4Y

Male Headers:https://bit.ly/3uxOzrJ


Material for Receiver:

Note: You have to desolder the components from the stm32f103c8t6 development board and then place n solder these smd components to receiver board.


STM32:https://bit.ly/3ODReqC

NRF24L01 GT24 Mini:https://bit.ly/3HTMQA0

Male Headers:https://bit.ly/3uxOzrJ

AMS117:https://bit.ly/497yk3N

10uF cap:https://bit.ly/3SzbI4Y

100nf cap(smd):https://bit.ly/3ODT22S

Step 1: WORKING OF TX AND RX

Transmitter (TX) Working

User Interface Initialization:

  • Upon power-up, the STM32F103C8T6 microcontroller on the transmitter initializes the user interface, activating the 0.96-inch OLED display to present the main menu.
  • The menu system is designed to facilitate easy navigation and configuration of various settings.

Control Inputs Processing:

  • The dual pots and switches on the transmitter provide the user with tactile controls. These inputs are read by the STM32F103C8T6, allowing users to adjust parameters such as stick calibration, channel tuning, and mode selection.

Data Encoding and Transmission:

  • User inputs and configurations are encoded by the microcontroller into a data packet.
  • The NRF24L01 wireless module is then employed to transmit this packet wirelessly to the receiver.

PPM Output for Simulator:

  • If the simulator mode is selected, the transmitter generates a PPM signal based on user inputs and transmits it through the NRF24L01 module.
  • This facilitates a realistic training environment for RC enthusiasts using simulators.

Audio Feedback with Buzzer:

  • The microcontroller triggers the buzzer to provide audible feedback for specific events, warnings, or successful execution of user commands, enhancing the user experience.

Customizable Channel Configuration:

  • Users can navigate through the menu to configure individual channel settings, including inversion and tuning.
  • The transmitter stores these configurations for precise control over connected devices.


SCHEMATIC OF TX


Receiver (RX) Working

Wireless Data Reception:

  • The NRF24L01 module on the receiver continuously scans for incoming data packets.
  • Once a packet is received, it is forwarded to the STM32F103C8T6 microcontroller for processing.

Data Decoding and Channel Output:

  • The microcontroller decodes the received data packet, extracting user inputs and configurations sent by the transmitter.
  • It processes this information to generate PWM, PPM, or SBus signals based on user preferences.

Output Signal Options:

  • For 8-channel PWM operation, the receiver generates separate PWM signals for each channel, suitable for direct control of servos or other PWM-compatible devices.
  • In PPM mode, the receiver consolidates the signals into a single PPM stream for compatibility with a wide range of RC devices.
  • SBus mode utilizes a streamlined serial communication protocol for efficient and high-speed data transfer.

Smooth Operation and Device Control:

  • The processed signals are then sent to connected devices, ensuring smooth and responsive control.
  • The receiver's capabilities allow for precise and dynamic control over RC vehicles, drones, or other devices.


SCHEMATIC OF RX

Step 2: OUTPUT SIGNALS OF TX AND RX

Transmitter PPM Output:

This diy transmitter is capable of giving ppm signal output through aux port to play any pc fpv or simulator with this.To enable this option you have to go to output setting on transmitter oled menu and then you have to turn on the ppm output.


Note:When you are using this transmitter with receiver.Makesure to turn off the ppm output.Because its high priority signal.


Receiver Output Signals:

The receiver that i made is capable of giving 8 CH PWM,PPM and also SBUS signal.You can use this receiver with rc car,drones and aircraft.

For Binding:

You have turn on both the transmitter and receiver.Then you have to press reset button of receiver and then the receiver will automatically bind to the transmitter.

Step 3: UPLOADING CODE

FIRMWARE UPLOADING

To upload the firmware into this transmitter and receiver.First you need any type of usb to serial converter.In this time i am CH340 usb serial converter.

Then you need to connect the usb serial converter to transmitter and receiver according to this diagram.


Transmitter

Receiver

Software

After making the connection of usb serial converter to transmitter and receiver.You have to download and install this software.

Software Link:https://www.st.com/en/development-tools/flasher-stm32.html#get-software


After installing the software

Follow Steps:

  1. plug the usb serial converter to pc.
  2. Press Reset button which are located on stm32.Very important.
  3. Select the com port.
  4. Click on next and click again next icon.
  5. Select Erase icon on top.
  6. Now click on next and the software will delete its previous data.
  7. Click on back icon and select Download to device icon.
  8. Click on its three dots icon and select the Hex file (Download from Down Below) where it is located.
  9. Then click on next icon and the code will uploaded to device within 15 secs.