• Stars
    star
    125
  • Rank 286,335 (Top 6 %)
  • Language
    C++
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Arduino 2.4GHz and IR remote controller with OLED display

This is an Arduino 2.4GHz radio and IR transmitter for Atmel AVR

Features:

  • IR transmitter for "LEGO" Powerfunctions and trains as well as for "MECCANO" motors
  • 2.4GHz radio transmitter for RC cars, helicopters etc.
  • 4 analog axes, 2 mode switches (joystick buttons)
  • 1 potentiometer for adjustments like the MRSC stability control
  • 4 push buttons for transmission mode and vehicle selection as well as menu navigation
  • 20 seletcable vehicle addresses, so you can use it for more than one vehicle
  • 3.3V, 8MHz Pro Mini (a Pro Micro is not supported anymore due to additional functionality)
  • STM32 ARM version (deprecated) see: https://github.com/TheDIYGuy999/RC_Transmitter_STM32
  • 2.4GHz NRF24L01 radio module
  • Support for 0.96" I2C OLED
  • Configuration menu for: Channel direction reversing, servo travel adjustment (independent for each vehicle)
  • Configuration values are stored in EEPROM
  • NRF24L01+PA+LNA SMA radio modules with power amplifier are supported from board version 1.1
  • very compact
  • Eagle PCB included
  • PONG Game included

Changelog:

New in V 1.3:

New in V 1.4:

  • 10 vehicle addresses instead of 5
  • The "BACK" button can now be used (if the menu screen is not displayed on the OLED) as a momentary button, for example for a horn on the vehicle. It is sent as "data.momentary1"
  • The "A6" potentiometer connector is now integrated in the code and is sent to the vehicle as "data.pot1"
  • SimpleTimer library replaced with my own code, which uses significantly less memory
  • EEPROM reset function added: press "Select" and "Back" during power on

New in V 1.41:

  • Transmitter battery voltage now monitored correctly on 16MHz / 5V systems

New in V 1.42:

  • Vehicle battery state change OLED bug fixed

New in V 1.43:

  • Radio module sleep mode active while IR mode is in use

New in V 1.5:

  • MECCANO IR support enhanced. Requires MECCANO library update to V 1.1

New in V 1.6:

  • Buttons locked, if not required in selected transmission mode. This ensures, that no variables can be changed "in background"
  • Automatic joystick zero point calibration after transmitter was switched on. This ensures, that you always have precise zero points, even if your potentiometers are not exacltly linear.

New in V 1.7:

  • Support for 2 channel car style transmitters with steering wheel
  • The transmitter type can be seletced in the new "transmitterConfig.h" file
  • The potentiometers in some transmitters hit the mechanical endstop before the end of the electrical range is reached. This can now be compensated with the "range" variable

New in V 1.8:

  • In most car style transmitters, the reverse range of the throttle potentiometer is smaller than the forward range.
  • The reverse range is now multiplied by 4, to solve this problem

New in V 1.9:

  • The "RC_Tester" functionality (https://github.com/TheDIYGuy999/RC_Tester) is now intergrated
  • Useful, if you have more than one transmitter. Allows to visualize all 5 analog channels of your transmitter. The radio connection can be easily tested this way.
  • Press "Select" during power on. The splash screen shows "Micro RC Tester" instead of "Micro RC Transmitter" and then a graphical screen, which visualizes all analog channels
  • Works fo all 10 vehicle addresses

New in V 2.0:

  • You have crashed your RC car? Then just play a little PONG session on your transmitter!
  • Press "Back" during power on. The transittter is then activating the game mode :-)
  • Press the "Back" button again to restart the game after "Game Over" is displayed

New in V 2.01:

  • A serious bug in the mapJoystick() function was found during tests with the upcomming STM32 version
  • The inverse and scale functionality did not work anymore since V2.0
  • The bug is now solved and you can use the adjustments menu again

New in V 2.1:

  • 3CH configuration for "car style" transmitter with additional 3 position switch added
  • Used for 3 speed gearbox operation, using a single pole, double throw switch, connected to pin A0. Two resistors from A0 to GND and VCC allow 3 servo positions

New in V 2.2:

  • 3CH configuration for WLtoys A959 etc. based 3+1CH transmitter (CONFIG_WLTOYS) See pictures below.
  • Support for 3 position double throw switches (for gearbox switching etc.) added. Use two identical resistors (ca. 20k) from GND to center pin to VCC across the switch. Define a "CH1Switch" etc. variable., if a switch instead a potentiometer is connected
  • New potentiometer calibration variable "reverseEndpoint" allows to adjust the throttle reverse range. Use the "Micro RC Tester" mode on a 2nd transmitter and then adjust the "range" variable as well, until the entire range of all channels is used on the graphical display.
  • New "ledInversed" variable allows to use the stock WLtoys LED, which has a red and a green LED in one housing. The common pin is connected to VCC

New in V 2.3:

  • 2+2CH configurarion for WLtoys transmitter added (CONFIG_WLTOYS)
  • Allows to connect 3 buttons on CH4
  • More than 3 buttons would be possible as well, but I ran out of space for more buttons
  • Wiring see picture

New in V 2.4:

  • Joystick ranges separatly adjustable for each channel in "transmitterConfig.h". This is required for the conversation of some car style transmitters, because they don't use the entire potentiometer range from end stop to end stop.

New in V 2.5:

  • 20 vehicle addresses instead of 10
  • Less RAM usage

New in V 2.51:

  • Libraries comments added

Usage

See pictures

3 buttons wired to CH4

3 position rocker switch wired to CH2 (for 3 speed transmission)

(c) 2016-2020 TheDIYGuy999

More Repositories

1

Rc_Engine_Sound_ESP32

Allows to play vehicle engine sounds on an ESP32. Additional sounds can play in parallel with the engine sound! Controls your lights as well. compatible with SBUS, IBUS, PWM, PPM and SUMD signals.
C
234
star
2

Micro_RC_Receiver

An Atmega328P based 2.4GHz receiver with integrated TB6612FNG motor driver. PWM and SBUS outputs.
C
131
star
3

Rc_Engine_Sound

Allows to play vehicle engine sounds on Arduino
C
78
star
4

Mega_PLC

An open source Arduino industrial PLC
C++
39
star
5

MRSC_Adapter_3Pin_Servo

Step by step build tutorial:
C++
36
star
6

MPPT_Buck_Converter_Synchronous

See video:
C++
33
star
7

RC_Transmitter_STM32

An Arduino 2.4GHz and IR remote controller
Arduino
32
star
8

statusLED

This is an Arduino library for easy LED control
C++
21
star
9

MRSC_Adapter_WLtoys_5Pin_Servo

Allows to reuse the original WLtoys receiver and still to use MRSC
C++
19
star
10

DRV8833

DRV8833 H-Bridge control library with fader
C++
16
star
11

hardware

TheDIYGuy999 Arduino board definitions for Atmega 328P
13
star
12

MPPT_Buck_Converter_ACS712

An Arduino MPPT tracking Solar Charge Controller with ACS712 Current Sensor
C++
13
star
13

TB6612FNG

TB6612FNG H-Bridge control library with fader
C++
9
star
14

RC_Receiver_4_Servo

An Arduino 2.4GHz, 4 channel receiver with standard servo outputs
Arduino
8
star
15

Micro_Suspension

ATmega 32U4 based Arduino active RC truck cabin suspension
C
7
star
16

PID_Spindle_Controller

C++
7
star
17

RF24_STM32

C++
7
star
18

PWMFrequency

C
5
star
19

PWM5

Video:
C++
5
star
20

RC_Decoder_4_Channel

An Arduino 4 channel RC servo signal decoder and DC motor driver
Eagle
5
star
21

rcTrigger

C++
4
star
22

RC_Receiver_McQueen

An Arduino 2.4GHz car receiver
Arduino
4
star
23

4CH_Delay

The movements of your RC vehicles are jerky and not smooth? This Arduino device will solve this issue by adding acceleration and deceleration ramps to the PWM signals!
C++
4
star
24

wirelessTrailerESP32web

Wireless Trailer for ESP32 sound and light controller
C
3
star
25

LegoIr

Lego Powerfunctions infrared control library for Arduino - also compatible with 8MHz and ARM MCU
C++
3
star
26

Switch_Edge_Detection

An Arduino tutorial on how to detect edges and how to debounce in software
Arduino
2
star
27

Eagle_Libraries

1
star
28

RC_Tester

Arduino
1
star
29

ESP32_SignalGenerator

A simple ESP32 signal generator
C++
1
star
30

CR-8S

Marlin 2.0 configuration for Creality CR-8S with board version v1.0 with white LCD
C
1
star
31

MeccanoIr

Allows to control MECCANO motors with infrared sensor
C
1
star