Arduino Based Serial Transmitter

by _Robox_ in Circuits > Arduino

1381 Views, 7 Favorites, 0 Comments

Arduino Based Serial Transmitter

IMG_20210125_200601.jpg
IMG_20210108_142821.jpg
IMG_20210107_170241.jpg

Commercially available transmitter and receiver pairs are usually PPM or PWM based. Using them with any microcontroller is problematic as you require a lot of pins and hence isn't that efficient. Using Serial modules like Xbee or HC-05 can solve this issue but will have less range as compared to the commercial PWM/PPM RF pairs, hence cant be used for applications like drones or UAV. To solve this, we can use NRF24l01+ (PA+LNA) module which theoretically provides a huge range of 1100m (700m+ in ideal conditions) along with Arduino to make a versatile commercial Like Transmitter which can be configured to send almost everything! This design was made considering these problems.

This project was also featured in Altium Stories. Gerber Files for my PCBs will be available on my Patreon page, subscribe to support my work.

Features of the design:

  1. Arduino Pro mini based
  2. NRF24l01 + PA +LNA as RF
  3. 2 Joysticks (4 analog inputs)
  4. 12 Digital buttons
  5. 2 buttons for Menu settings
  6. OLED for user interface
  7. 2 74LS151 Multiplexers
  8. HC-05 Compatible
  9. 2 Toggle Switches
  10. Powered by any 2S lipo/li-ion battery pack

Designing the PCBs Using Altium Designer

121815767_193127348990079_1867459551334501889_n.jpg
top_layer.png
bottom_layer.png

I design all my PCBs using Altium Designer.

The idea was to design a transmitter similar to the commercial ones, hence to avoid more number of pins being used for buttons, Multiplexers are used to get input of 14 buttons in total. Two different AMS1117-3.3V are used to power the Arduino and NRF24 module separately as NRF24 modules are fussy regarding power. Design also includes headers to attach HC-05 module and communicate using UART.

Gerber files can be generated once the design is done and can be used to order your own PCB.

Design screenshots can be seen here.

Ordering the PCBs From PCBWay

pcbway.png

PCBs for this project were downloaded from PCBWay, You can order your own PCBs from PCBWay or (click this)

link to buy my PCB design directly from the PCBWay website.

Instructions to order:

  1. Head on to www.pcbway.com and register to get your first PCB prototype for free! (Just pay for the shipping)
  2. Click on PCB instant quote and upload Gerber files.
  3. Select desired color and other settings, then add it to cart and order the PCBs

You'll receive PCBs fairly quickly depending on where you live. Time to solder!

Soldering All the Components

Arduino Serial Transmitter |Soldering| Instructables |
122181463_2169531726524959_2614929683790792227_n.jpg
IMG_20210125_200915.jpg

Design has a lot of SMD components, whcih should be soldered first. Video here demonstrates soldering a few components.

Testing the Multiplexers and NRF24l01+ Module

IMG_20210125_200927.jpg

Multiplexers need to be tested individually before directly uploading the transmitter code. Snippet attached here is the test code for these multiplexers.

void updateMux(){
  for(int i=0;i<8;i++){
    digitalWrite(SEL0,HIGH && (i& B00000001));
    digitalWrite(SEL1,HIGH && (i& B00000010));
    digitalWrite(SEL2,HIGH && (i& B00000100));
    Mux1_State[i]= !(digitalRead(MUX1_OUT));
}

NRF24 module however needs to be tested individually with basic RX-TX setup, files can be downloaded from my Github.

After setup works fine, Flashing the Arduino Pro Mini With Final Transmitter Code can be done. (Download the code here)

Make Anything You Could Think of Wireless!

IMG_20210125_200603.jpg
IMG_20210125_200621.jpg

Now we have a Serial transmitter that can replace any commercial transmitter, ideal for RC drones and RC cars or any other Arduino NRF24 based system!