Notice: Click on the Disclaimer button prior to taking any action shown on this website.
SPECIAL NOTICE TO EUROPEAN UNION (EU) VIEWERS

This site may use cookies for delivering advertisements, and is not intended for use by subjects of the EU. Continued use of this site is acknowledgement of your compliance with all EU laws, and accepting full responsibility for any and all actions related to accessing this website, including (but not limited to) agreement to the use of cookies.

 

RV Remote Control System - Page 2.

After the board is done, the sketch (software program) must be uploaded. This requires the use of the Arduino IDE (Integrated Development Environment), which is a program residing on your PC or MAC that allows you to make changes to the sketch as well as downloading it to the NANO.

If you do not have the IDE setup yet, there is a tutorial available by clicking on the button below; or there are many YouTube videos showing how it's done. It's free of charge, but they do accept donations.

 

 

Once the IDE is setup, you will need two install two libraries. A library is a collection of functions that interfaces the Arduino NANO to additional hardware. You can think of them a bit like drivers. Download the two libraries as shown here.

I believe that RC-Switch may now come built-in to the Arduino IDE, so see if it already exists prior to downloading. To obtain the libraries, click on the "CLONE OR DOWNLOAD" button, then save as a .ZIP file to your computer.

Note that the U8x8 library is actually part of the U8g2 library.

In addition, there is a Wiki for each of the libraries that contain information and instructions for their use.

While the U8x8 Wiki is fairly well written, it is unfortunate that the RC-Switch library is minimal. However, there is a lot of information on-line covering the RC-Switch library.

 

Installing the Libraries

Once the libraries are installed to your computer, they must be installed. If you downloaded the ZIP files, it is fairly easy. Note though that depending on computer platform (PC or Mac) and revision of the Arduino IDE, this procedure may vary slightly.

 

 

From the Arduino IDE, select Sketch > Include Library > Add .ZIP Library...

 

 

Navigate to the location you downloaded the ZIP file to, select it, the click on OPEN. The U8g library is shown in this example, but the procedure is identical for the RC-Switch library.

As mentioned, it may not be necessary to download the RC-Switch library for newer Arduino IDE versions. To see if the library is already installed, follow this procedure:

 

 

Select Sketch > Include Library > Manage Libraries

 

Scroll down the list and look for "rc-switch". If found, it is already installed. Note that depending on the number of libraries you have, this might be a bit quirky. The search function unfortunately is flakey as well.

 

 

Installing the Sketch

After the libraries are installed, you are ready to install the sketch - which is the program I wrote to make the receiver function. The sketch is located in two files:

  • 4ChRxI2CDisplay.Ino (the main sketch).
  • devices.h (defined function names and transmitter codes).

 

 

These are ZIPped into a single download file. Download the file to your PC, then open the file in the Arduino IDE. At some point you will be prompted to save the files, which must be done before you can use it. Make sure both files are saved.

 

 

After opening and saving the sketch, you should see a second tab for the devices.h file as shown by the yellow arrow above. If you do not see this, you may have to navigate to the location of the sketch and add the devices.h file to that folder.

Finally, you will have to setup the Arduino IDE for the Ardunio NANO microcontroller. This is also fairly simple, and only requires changing settings in the IDE.

 

 

  1. Exit the Arduino IDE, then plug the NANO into a USB port on your computer. The NANO uses a standard Type B Mini USB cable. Depending on your computer, it may need to install a driver, so wait for this procedure to complete.

  2. Re launch the Arduino IDE, then open the 4ChRxI2CDisplay sketch.

  3. From the menu, select Tools > Board and change it to "Arduino Nano".

  4. select Tools > Processor, and change it to either "ATmega328P" or "ATmega328P (Old Bootloader)". If your Nano was built prior to Jan 2018, or are using a Clone Nano, you will likely need to use "ATmega328P (Old Bootloader)".

  5. Select Tools > Port and select the proper Com port for the USB cable. If the port is not shown, either you are not connected to the Nano, or the driver is not working. This can happen with Clone Nanos.

At this point, the sketch is ready to be downloaded to the Nano. Simply click on the upload button as shown to the right.

When the upload is complete, pay attention to the information in the diagnostic box (black box at the bottom of the IDE display).

This information tells you how close you are to the maximum capability of the Nano. If you have a lot of receiver definitions, you can possibly exceed the safe limit of the Nano and can experience reliability issues.

Reducing the "footprint" of the sketch will be discussed later.

 

 

The first parameter "Sketch uses 12014 bytes..." is an indicator of how much of the program storage space is used. Think of it like a hard drive.

The second parameter "Global variables use 1390 bytes..." is an indicator of how much RAM is being used by the sketch. If the value becomes greater than 70%, you may have stability issues. Try to keep your sketch below the 70& mark.

At this point, the Nano is ready to use. Test it with a known good transmitter. If successful, the RED LED on the circuit board will light up each time you receive a signal (this is the RED LED on the circuit board labeled RECEIVE (or at least it was before the board was potted with black epoxy). It is not the RED LED on the NANO. Also, if you wired the OLED display, it should show the 7 or 8 digit code it detected.

If everything is working as described, the next step is to configure the sketch for your particular system.

 

 

 


Last reviewed and/or updated Apr 5, 2026