Arduino Radio Control  Arduino Radio Control




June 8, 2014 Version 1.5.5

  • This version uses the same EEPROM layout as before so your models settings will be preserved after uploading it into your transmitter
  • Moved all user-customizable settings into new file arduinotx_config.h to facilitate software customization. Edit this file as needed. Normally, you won't have to make changes to any other file.
  • Changed command mode's serial speed to 2400 bps to prevent Arduino's serial buffer overflow when uploading models: you must change your Serial Monitor speed accordingly
  • New command PRINT VOLT to display the battery voltage
  • New ways to switch models on the field: stepping through all models with a push button, or direct model selection with a rotary switch
  • New option: full curve exponential may now apply to the throttle channel (for gas engines)
  • Changed endpoints computation: now EPL,EPH variables define end point position in % from the center: you must update your endpoints settings accordingly

September 12, 2013 Version 1.4.0

  • New feature: transmitter battery monitoring
  • New BAT variable added to Global variables group to set battery low voltage alarm
  • Added a piezzo buzzer to sound alarms
  • Fixed underflow in subtrim computation, this issue existed in v1.3 for negative values of CHAN_SUB < -10%

July 6, 2013 Version 1.3.0

  • New EXP variable defines exponential setting for each channel
  • Dual rate or Exponential do not apply to the throttle channel
  • Added Model variables group
  • Moved THC variable (Throttle channel number) to Model variables group
  • New NAM variable (Model name) added to Model variables group
  • ESC key cancels input in Command mode when connected with putty or screen
  • Comments start by '#' instead of ';' in Command mode
  • Improved alarms management
  • Fixed bug in Model switching
  • Moved most constant strings and arrays to PROGMEM
  • Renamed *.ino files as *.cpp except the main sketch arduinotx.ino
  • txupload: added optional argument to resume upload at any line number

May 15, 2013 Version 1.2.4

  • All calculations performed in integer math for increased efficiency
  • Input validation in command mode
  • Deleted Test Mode, renamed Test switch as Model switch. Now you can switch between 2 models on the field.
  • Moved led management code to new class ArduinotxLed, Led displays morse characters
  • Moved command mode code to new class ArduinotxCmd; either \n or \r are accepted as EOL char in command input
  • Throttle channel defined for each model
  • PPM disabled during setup()
  • Experimental implementation of 2 programmable mixers for each model
  • Extensive changes in the online documentation

2013-01-13 09:30 Version 1.1.2a

  • Set back Serial at 9600 Bauds because 115200 was causing issues when pasting multiple lines in command mode

2013-01-12 23:05 Version 1.1.2

  • Fixed buffer overflows in command mode when CHANNELS=9

2013-01-05 21:10 Version 1.1.1

  • Improved pulse width calculation when dual rate is enabled

2012-12-30 17:00 Version 1.1.0

  • Settings changes made in Command Mode are now immediately applied to the PPM signal (in previous versions you had to exit Command Mode to apply your changes).
  • Added a page documenting Servo calibration procedure

2012-12-27 10:00

2012-12-25 23:00

  • Added a command to print the pulse width, in microseconds, of each channel sent to the RF module

2012-12-16 12:13

  • Added a command to print channel switches logical values in command mode

2012-12-10 15:00

  • published v1.1 of Schematic Diagram, PCB, Breadboard and Stripboard implementation on Hardware page

2012-12-02 10:30

  • published v1.0 of Schematic Diagram, PCB and Breadboard implementation on Hardware page

2012-11-05 21:30

  • PPM generation driven by Timer1 interrupt for better signal stability

2012-09-20 22:00

  • added PRINT POT1...POT9 to display the raw value of a potentiometer in command mode
  • added global variables KL1,KH1...KL9,KH9 to store potentiometers calibration

2012-08-12 10:13

  • Project tree modified for SVN compliance. No changes in the source code.

2012-08-09 00:06

  • added global variable TSC : throttle cutoff value used by the throttle security check function
  • Fixed channels pulses generated by send_ppm(), they were too long by 400 microseconds

2012-07-27 21:20

  • Each channel can be controlled by a potentiometer or by a switch; see channel variables ICT, ICN in rgPersist.cpp

2012-07-24 20:05

  • Implemented throttle security check at startup: disable throttle channel if throttle stick is not down at startup
  • Alarm Led on pin 12 lights up if throttle channel is disabled

2012-07-23 15:20

  • Implemented Throttle cut switch
  • Fixed improper initialization of the Dual rate switch input

2012-07-22 18:00

  • compiling the project with the DEBUG_TIME option, we see that the execution time of ISR(TIMER1_COMPA_vect) fluctuates between 13 ms and 26 ms. It should be constant at 20 ms.Notice: PPM generation every 20 ms was triggered by the timer1 interrupt and it seems that calls to micros() within the ISR had bad side-effects. Now we don't use timer1 anymore, we call PPM generation from the main loop().

2012-07-18 14:20

  • rgPersist::InitEEProm() sets wrong values in variables PWLx and PWHx. Setting these variables in command mode by typing PWLx=value works fine, however.
Page last modified on June 08, 2014, at 05:01 PM