Arduino RC Transmitter Menu System

Hi all,

I’ve been working on an arduino Radio transmitter over the past couple of months that uses the nrf24l01+ to send data over the wireless channel. The transmitter also receives data from the receiver using the ackpayload feature of the nrf24. The transmitter consists of two analog sticks (with buttons) and a 20x4 lcd display.

Anyways the transmitter has a menu system that allows the user to modify different parameters such as the power output of the transmitter and the writing pipe. It also allows you to send numerous commands to the receiver, which would otherwise require a lot of buttons to acheive the same functionality.

The point of this post is that I feel that the way I implemented the menu system isn’t the most efficient or easy to modify and add new menus. The menu works as intended with one minor issue that doesn’t really matter, but the issue is that it is quite tedious to add new menus and menu items. I feel like there might be a better way.

I have attached the code for this project, and the main file is called lego car transmitter. I have tried to comment the code as much as possible, I hope it is understandable.

I have also attached a zip file containing a fritzing schematic for anyone willing to recreate the circuit (it’s quite simple), the only difference is that the 16x2 lcd has to be a 20x4. If it is unclear then the pin connections are identified in the code. The nrf24 module is connected according to the tmhr20 library and I am using a lcd with a i2c backpack.

a_Setup.ino (2.17 KB)

b_LCD.ino (24.8 KB)

c_Radio.ino (1.47 KB)

d_DF_player.ino (1.45 KB)

e_Get_transmitterData.ino (387 Bytes)

f_RC_Controls.ino (3.64 KB)

Lego_Car_Transmitter.ino (3.19 KB)

RC Transmitter.zip (22.6 KB)