<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.rcgrs.com/mrtwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=EricTimberlake</id>
	<title>RCGRS MRT Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.rcgrs.com/mrtwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=EricTimberlake"/>
	<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Special:Contributions/EricTimberlake"/>
	<updated>2026-11-03T04:25:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.3</generator>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=861</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=861"/>
		<updated>2026-03-15T07:49:33Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.   Unlike WiFi, instead of you deciding on the SSID/password credentials, the nodes being link figure all that crypto key data transparently for you.  Once linked, we have a point to point data link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools to Update Firmware and Sound Files =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading Fw using Parallels Windows 11 virtual machine on an Apple M1 laptop]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot;) ===&lt;br /&gt;
[[File:Revoprogram 4.png|200px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;The link button has '''DUAL FUNCTIONALITY'''.   A '''''very short''''' press doesn't do anything.  A '''''medium''''' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  As you are pressing and holding the decoder link button, watch the decoder LED.  After 1/2 second of pressing the link button, it will flash quickly, KEEP pressing the link button for approximately 4-5 seconds and it shifts into FW update mode.  The LED will blink much slower and upon release of the link button you should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace while the file transfer is in progress.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|right|Throttle FW update confirmation dialog (LONG PRESS)]][[File:Revolution throttle update status.jpeg|300px|thumb|right|Revolution throttle FW update status]]&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=860</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=860"/>
		<updated>2026-03-15T07:44:18Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.   Unlike WiFi, instead of you deciding on the SSID/password credentials, the nodes being link figure all that crypto key data transparently for you.  Once linked, we have a point to point data link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading Fw using Parallels Windows 11 virtual machine on an Apple M1 laptop]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot;) ===&lt;br /&gt;
[[File:Revoprogram 4.png|200px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;The link button has '''DUAL FUNCTIONALITY'''.   A '''''very short''''' press doesn't do anything.  A '''''medium''''' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  As you are pressing and holding the decoder link button, watch the decoder LED.  After 1/2 second of pressing the link button, it will flash quickly, KEEP pressing the link button for approximately 4-5 seconds and it shifts into FW update mode.  The LED will blink much slower and upon release of the link button you should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace while the file transfer is in progress.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|right|Throttle FW update confirmation dialog (LONG PRESS)]][[File:Revolution throttle update status.jpeg|300px|thumb|right|Revolution throttle FW update status]]&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=859</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=859"/>
		<updated>2026-03-15T07:25:40Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Bluetooth */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.   Unlike WiFi, instead of you deciding on the SSID/password credentials, the nodes being link figure all that crypto key data transparently for you.  Once linked, we have a point to point data link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading Fw using Parallels Windows 11 virtual machine on an Apple M1 laptop]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
[[File:Revoprogram 4.png|200px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;The link button has '''DUAL FUNCTIONALITY'''.   A '''''very short''''' press doesn't do anything.  A '''''medium''''' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  As you are pressing and holding the decoder link button, watch the decoder LED.  After 1/2 second of pressing the link button, it will flash quickly, KEEP pressing the link button for approximately 4-5 seconds and it shifts into FW update mode.  The LED will blink much slower and upon release of the link button you should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace while the file transfer is in progress.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|right|Throttle FW update confirmation dialog (LONG PRESS)]][[File:Revolution throttle update status.jpeg|300px|thumb|right|Revolution throttle FW update status]]&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=User_talk:EricTimberlake&amp;diff=858</id>
		<title>User talk:EricTimberlake</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=User_talk:EricTimberlake&amp;diff=858"/>
		<updated>2026-03-15T07:09:18Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Should be all up to date now!  -ET-&lt;br /&gt;
&lt;br /&gt;
Eric,&lt;br /&gt;
Some minor changes:&lt;br /&gt;
*“Zigbee Network” link (http://zigbeehttps//en.wikipedia.org/wiki/Zigbee) does not work.&lt;br /&gt;
*Can you provide more specific links to the download files for the Revolution&lt;br /&gt;
*What is the “correct” USB adapter? And why is it the “correct” one?&lt;br /&gt;
*I assume the “Goal” paragraph refers to your goal, not the readers. As you do research, you will add the results to this paragraph (or elsewhere).&lt;br /&gt;
*The :USB programming adapter” link caused a download of a “revoprog.zip” file, which my MAC unzipped into “RevoProg.exe” dated 4 Dec, 2016. MACs running MacOs won’t run “.exe” files - they are Windows. Is it possible to get a “.jar” version (like a Java implementation) that will run on any OS? Also, I think people will be a bit cautous about downloading executable files. And it’s confusing to me how I would insert the downloaded adpater into a USB port. (Relates back to what a “correct” USB adapter is?)&lt;br /&gt;
*I opened and read part of the “Windows 11” page. The first thing that hit me was:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;'''Note: Windows 11 Installation Assistant doesn’t run on Arm-based PCs; it only works for x64 processors.'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
But I noticed that you said you were running Windows on an Arm architecture MAC. So I looked at the next link (“Parallels”) and think I see the answer. It will cost $55 to install Parallels (my MAC is Arm-based). Then I can run the Windows apps (e.g., the “RevoProg.exe”) on my MAC. I’ll have to dig into this further. But to run just one app, it’s not very cost effective. I do have a Dell, running Windows. But I hated it too, and it has been sitting - unused - on my desk for almost 2 years now. The battery is probably really dead.&lt;br /&gt;
*I didn’t understand the rest of the paragraph - about “… getting the USB to passthrough…”.&lt;br /&gt;
*I obviously have not run the “PC Software”. So I don’t know what those LEDs are. I’m guessing they are on the USB Adpater that is connected to the computer through the dongle chord.&lt;br /&gt;
*Next I’m guessing the “Programmer Interface” (AKA: The USB Adapter?) will make a Bluetooth or WiFi connection to the desired device. How this automatically happens is a mystery to me, as I haven’t seen any “pairing” operations or WiFi login operations yet. Nor do I see a direct wire connection from the subject device to the “Programmer Interface”. So how is this happening?&lt;br /&gt;
*In “Updating the throttle”: It may “break” your throttle (not “brick”)?&lt;br /&gt;
&lt;br /&gt;
So, with all that said, I really appreciate you putting this together and posting it. Hopefully, folks will get a big help from it.&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=User_talk:EricTimberlake&amp;diff=857</id>
		<title>User talk:EricTimberlake</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=User_talk:EricTimberlake&amp;diff=857"/>
		<updated>2026-03-15T07:08:08Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: Reverted edits by EricTimberlake (talk) to last revision by DErik&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eric,&lt;br /&gt;
Some minor changes:&lt;br /&gt;
*“Zigbee Network” link (http://zigbeehttps//en.wikipedia.org/wiki/Zigbee) does not work.&lt;br /&gt;
*Can you provide more specific links to the download files for the Revolution&lt;br /&gt;
*What is the “correct” USB adapter? And why is it the “correct” one?&lt;br /&gt;
*I assume the “Goal” paragraph refers to your goal, not the readers. As you do research, you will add the results to this paragraph (or elsewhere).&lt;br /&gt;
*The :USB programming adapter” link caused a download of a “revoprog.zip” file, which my MAC unzipped into “RevoProg.exe” dated 4 Dec, 2016. MACs running MacOs won’t run “.exe” files - they are Windows. Is it possible to get a “.jar” version (like a Java implementation) that will run on any OS? Also, I think people will be a bit cautous about downloading executable files. And it’s confusing to me how I would insert the downloaded adpater into a USB port. (Relates back to what a “correct” USB adapter is?)&lt;br /&gt;
*I opened and read part of the “Windows 11” page. The first thing that hit me was:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;'''Note: Windows 11 Installation Assistant doesn’t run on Arm-based PCs; it only works for x64 processors.'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
But I noticed that you said you were running Windows on an Arm architecture MAC. So I looked at the next link (“Parallels”) and think I see the answer. It will cost $55 to install Parallels (my MAC is Arm-based). Then I can run the Windows apps (e.g., the “RevoProg.exe”) on my MAC. I’ll have to dig into this further. But to run just one app, it’s not very cost effective. I do have a Dell, running Windows. But I hated it too, and it has been sitting - unused - on my desk for almost 2 years now. The battery is probably really dead.&lt;br /&gt;
*I didn’t understand the rest of the paragraph - about “… getting the USB to passthrough…”.&lt;br /&gt;
*I obviously have not run the “PC Software”. So I don’t know what those LEDs are. I’m guessing they are on the USB Adpater that is connected to the computer through the dongle chord.&lt;br /&gt;
*Next I’m guessing the “Programmer Interface” (AKA: The USB Adapter?) will make a Bluetooth or WiFi connection to the desired device. How this automatically happens is a mystery to me, as I haven’t seen any “pairing” operations or WiFi login operations yet. Nor do I see a direct wire connection from the subject device to the “Programmer Interface”. So how is this happening?&lt;br /&gt;
*In “Updating the throttle”: It may “break” your throttle (not “brick”)?&lt;br /&gt;
&lt;br /&gt;
So, with all that said, I really appreciate you putting this together and posting it. Hopefully, folks will get a big help from it.&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=User_talk:EricTimberlake&amp;diff=856</id>
		<title>User talk:EricTimberlake</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=User_talk:EricTimberlake&amp;diff=856"/>
		<updated>2026-03-15T07:06:12Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: Replaced content with &amp;quot;Updates made!  Pretty sure this is final or close to final edit..&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Updates made!  Pretty sure this is final or close to final edit..&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=855</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=855"/>
		<updated>2026-03-15T07:03:11Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading Fw using Parallels Windows 11 virtual machine on an Apple M1 laptop]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
[[File:Revoprogram 4.png|200px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;The link button has '''DUAL FUNCTIONALITY'''.   A '''''very short''''' press doesn't do anything.  A '''''medium''''' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  As you are pressing and holding the decoder link button, watch the decoder LED.  After 1/2 second of pressing the link button, it will flash quickly, KEEP pressing the link button for approximately 4-5 seconds and it shifts into FW update mode.  The LED will blink much slower and upon release of the link button you should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace while the file transfer is in progress.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|right|Throttle FW update confirmation dialog (LONG PRESS)]][[File:Revolution throttle update status.jpeg|300px|thumb|right|Revolution throttle FW update status]]&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=854</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=854"/>
		<updated>2026-03-15T07:00:42Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
[[File:Revoprogram 4.png|200px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;The link button has '''DUAL FUNCTIONALITY'''.   A '''''very short''''' press doesn't do anything.  A '''''medium''''' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  As you are pressing and holding the decoder link button, watch the decoder LED.  After 1/2 second of pressing the link button, it will flash quickly, KEEP pressing the link button for approximately 4-5 seconds and it shifts into FW update mode.  The LED will blink much slower and upon release of the link button you should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace while the file transfer is in progress.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|right|Throttle FW update confirmation dialog (LONG PRESS)]][[File:Revolution throttle update status.jpeg|300px|thumb|right|Revolution throttle FW update status]]&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=853</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=853"/>
		<updated>2026-03-15T06:53:20Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Updating the throttle vs. a decoder */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
[[File:Revoprogram 4.png|200px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|right|Throttle FW update confirmation dialog (LONG PRESS)]][[File:Revolution throttle update status.jpeg|300px|thumb|right|Revolution throttle FW update status]]&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=852</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=852"/>
		<updated>2026-03-15T06:52:11Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Updating the throttle vs. a decoder */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
[[File:Revoprogram 4.png|200px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|right|confirmation dialog]][[File:Revolution throttle update status.jpeg|300px|thumb|right|update status]]&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=851</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=851"/>
		<updated>2026-03-15T06:49:36Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
[[File:Revoprogram 4.png|200px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=850</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=850"/>
		<updated>2026-03-15T06:48:32Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Sending the staged file from the Programming Adapter to the target */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
[[File:Revoprogram 2.png|200px|thumb|right|Step two in the upload process]]&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=849</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=849"/>
		<updated>2026-03-15T06:47:54Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|200px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=848</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=848"/>
		<updated>2026-03-15T06:47:33Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 1 - Pre-stage the file to the Programming Adapter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|400px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|200px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=847</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=847"/>
		<updated>2026-03-15T06:46:02Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 1 - Pre-stage the file to the Programming Adapter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|400px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|400px|thumb|left|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=846</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=846"/>
		<updated>2026-03-15T06:45:21Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 1 - Pre-stage the file to the Programming Adapter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|400px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
[[File:Revoprogram 3.png|800px|thumb|right|Step one in the upload process]]&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=845</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=845"/>
		<updated>2026-03-15T06:44:09Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
[[File:Revoprogram 1.png|400px|thumb|right|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=844</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=844"/>
		<updated>2026-03-15T06:42:33Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|none|600px|thumb|left|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=843</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=843"/>
		<updated>2026-03-15T06:42:00Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|none|800px|thumb|left|A PC Software v1.1 screen shot BEFORE inserting the USB Device Programmer]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=842</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=842"/>
		<updated>2026-03-15T06:38:44Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot; that you downloaded from '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' after '''[https://www.revoelectronics.com/customer/account/create/ creating a Revolution site account]''' or '''[https://www.revoelectronics.com/customer/account/login/ logging in]''' if you already have one...  &lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|none|800px|thumb|left|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=841</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=841"/>
		<updated>2026-03-15T06:33:53Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|1000px|thumb|right|The Basic setup for uploading and testing]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|none|800px|thumb|left|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=840</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=840"/>
		<updated>2026-03-15T06:33:18Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector which are functionally identical.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|800px|thumb|right|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|none|800px|thumb|left|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=839</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=839"/>
		<updated>2026-03-15T06:32:20Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the link connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|800px|thumb|right|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|none|800px|thumb|left|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=838</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=838"/>
		<updated>2026-03-15T06:30:43Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the trigger connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|800px|thumb|right|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|none|800px|thumb|left|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=837</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=837"/>
		<updated>2026-03-15T06:30:18Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|none|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the trigger connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|none|800px|thumb|right|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|none|800px|thumb|left|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|none|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|none|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|none|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|none|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|none|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|none|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|none|1000px|thumb|left|frame| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=836</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=836"/>
		<updated>2026-03-15T06:24:51Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the trigger connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|thumb|right|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|thumb|left|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|thumb|left|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|thumb|left|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|thumb|left|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|left|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|thumb|left|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px|thumb|left| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=835</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=835"/>
		<updated>2026-03-15T06:23:03Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the trigger connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|thumb|right|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|thumb|right|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|thumb|right|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|thumb|right|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|thumb|right|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|thumb|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|thumb|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|thumb|left|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px|thumb|left| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=834</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=834"/>
		<updated>2026-03-15T06:19:53Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the trigger connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=833</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=833"/>
		<updated>2026-03-15T06:19:09Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|right|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.  There's a screen grab of the files as of 2026 to the right.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the trigger connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=832</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=832"/>
		<updated>2026-03-15T06:16:58Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
We cannot provide direct links to the files located at the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''', the files are behind a login-wall that prevents direct links.  At the time of this writing you could select from six (6) diesel and four (4) steam sound files.&lt;br /&gt;
&lt;br /&gt;
There are also more files there for older and alternate (DCC) products which we won't cover here.&lt;br /&gt;
&lt;br /&gt;
[[file:Revolution Downloads Screenshot.png|400px|thumb|left|Downloads page as of 2026]]&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the trigger connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=File:Revolution_Downloads_Screenshot.png&amp;diff=831</id>
		<title>File:Revolution Downloads Screenshot.png</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=File:Revolution_Downloads_Screenshot.png&amp;diff=831"/>
		<updated>2026-03-15T06:13:33Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: just a list of files pertinent to the USB Device Programmer instuctions..&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
just a list of files pertinent to the USB Device Programmer instuctions..&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=830</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=830"/>
		<updated>2026-03-15T06:06:19Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works ''MOST OF THE TIME'', with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
Pay attention to the link button!  It is a single momentary contact push button that shorts pins 1-3 to pin 2 of the trigger connector on the decoder.  The connector is a 3x Micro '''[https://en.wikipedia.org/wiki/JST_connector JST]''' or '''[https://en.wikipedia.org/wiki/Molex Molex]''' PicoBlade connector.   A link button is included with every decoder purchased from Revolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=829</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=829"/>
		<updated>2026-03-15T05:58:52Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that this special link mode is for pairing to the USB Device Programmer, which then knows to download the &amp;quot;staged&amp;quot; file.  It does not erase or alter already established credentials..&lt;br /&gt;
a &lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..     In the very first photo, I have a decoder with a motor, a speaker, input triggers, and a link button..   This is just a PARTIAL test setup - a full setup would have a number of LED's attached to the headlights and the function outputs.&lt;br /&gt;
&lt;br /&gt;
To test, just power cycle, turn on your throttle, link it if it hasn't been previously linked (see manual for instructions) and turn up the speed steps and observe the motor spin.   Use F1 to start the sound.   Use 7,8,9 to adjust the volume..   You should see the motor turn and hear the sound file you selected.&lt;br /&gt;
&lt;br /&gt;
The trigger wires will toot the horn or trigger a chuff, pins 1 or 3 shorted to pin 2 (center).&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=828</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=828"/>
		<updated>2026-03-15T05:49:01Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Bluetooth */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually '''[https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers]''' or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=827</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=827"/>
		<updated>2026-03-15T05:48:36Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Bluetooth */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=826</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=826"/>
		<updated>2026-03-15T05:47:26Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* The &amp;quot;pairing concept&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot;, an explination ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=825</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=825"/>
		<updated>2026-03-15T05:45:38Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Zigbee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Zigbee Zigbee]''' is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a '''[https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network]''', for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=824</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=824"/>
		<updated>2026-03-15T05:45:01Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* The &amp;quot;pairing concept&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks '''[https://en.wikipedia.org/wiki/Cryptography involves cryptography]'''.  You use '''[https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data]''' every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  &lt;br /&gt;
&lt;br /&gt;
Note that ALL of these work within the '''[https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum]'''.&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Wi-Fi WiFi]''' should be familiar to many.  You configure the controlling device, your '''[https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router]''', with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows '''[https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol]''' traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
'''[https://en.wikipedia.org/wiki/Bluetooth Bluetooth]''' should also be familiar - You tell your Bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to '''[https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation]'''.  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or '''[https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones]'''.&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=823</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=823"/>
		<updated>2026-03-15T05:42:11Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the link button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=822</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=822"/>
		<updated>2026-03-15T05:41:17Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot; similar to the screen shot below..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=821</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=821"/>
		<updated>2026-03-15T05:40:19Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=820</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=820"/>
		<updated>2026-03-15T05:39:28Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The USB Device Programmer red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
'''&amp;lt;/big&amp;gt;&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=819</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=819"/>
		<updated>2026-03-15T05:34:27Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Using the Tool */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=818</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=818"/>
		<updated>2026-03-15T05:33:53Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Running &amp;quot;PC Software v1.1&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Setup &amp;quot;PC Software v1.1&amp;quot; to transfer files ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Using the Tool ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=817</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=817"/>
		<updated>2026-03-15T05:33:11Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Windows tool &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Running &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Device Programmer is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Using the Tool ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the USB Device Programmer and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;USB Device Programmer&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the USB Device Programmer to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that USB Device Programmer - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the USB Device Programmer itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=816</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=816"/>
		<updated>2026-03-15T05:31:15Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.  In case it's not obvious, we will explain the use of the files you may download and the USB Device Programmer below.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these USB Device Programmer tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Programmer Interface tool ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Running &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Programmer Interface is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Using the Tool ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the Programmer Interface and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;Programmer Interface&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the Programmer Interface to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that Programmer Interface - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the Programmer Interface itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=815</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=815"/>
		<updated>2026-03-15T05:27:20Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these Programmer Interface tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Programmer Interface tool ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Running &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Programmer Interface is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Using the Tool ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Adapter ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Adapter will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Adapter with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Adapter to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Adapter changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the Programmer Interface and start transferring the staged file embedded in the Programming Adapter.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming Adapter is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;Programmer Interface&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Adapter was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Adapter was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the Programmer Interface to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that Programmer Interface - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the Programmer Interface itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=814</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=814"/>
		<updated>2026-03-15T05:22:44Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these Programmer Interface tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Programmer Interface tool ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Running &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Programmer Interface is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Using the Tool ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Interface ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Interface will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Interface with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Interface to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Interface changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the Programmer Interface and start transferring the staged file embedded in the Programming Interface.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming interface is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;Programmer Interface&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Interface was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Interface was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the Programmer Interface to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that Programmer Interface - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the Programmer Interface itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=813</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=813"/>
		<updated>2026-03-15T05:21:50Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Pre-stage the file to the Programming Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these Programmer Interface tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Programmer Interface tool ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Running &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Programmer Interface is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Using the Tool ==&lt;br /&gt;
=== Step 1 - Pre-stage the file to the Programming Interface ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Interface will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Interface with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Interface to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Interface changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the Programmer Interface and start transferring the staged file embedded in the Programming Interface.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming interface is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;Programmer Interface&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Interface was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Interface was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the Programmer Interface to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that Programmer Interface - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the Programmer Interface itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
	<entry>
		<id>https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=812</id>
		<title>Revolution Radio Control</title>
		<link rel="alternate" type="text/html" href="https://www.rcgrs.com/mrtwiki/index.php?title=Revolution_Radio_Control&amp;diff=812"/>
		<updated>2026-03-15T05:21:11Z</updated>

		<summary type="html">&lt;p&gt;EricTimberlake: /* Starting the upload */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Works In Progress]] &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;Under construction/modification by [[User:EricTimberlake|Eric Timberlake]] ([[User talk:EricTimberlake|talk]])&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{rtoc}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]     &amp;lt;!-- Include this page in the category called &amp;quot;Electronics&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Revolution]]      &amp;lt;!-- Include this page in the category called &amp;quot;Revolution&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Crest]]           &amp;lt;!-- Include this page in the category called &amp;quot;Crest&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Train Engineer]]  &amp;lt;!-- Include this page in the category called &amp;quot;Train Engineer&amp;quot; --&amp;gt;&lt;br /&gt;
[[Category:Remote Control]]  &amp;lt;!-- Include this page in the category called &amp;quot;Remote Control&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Precision RC, aka Crest 'Revolution' =&lt;br /&gt;
Formed as an offshoot of Aristocraft as they created their own RC control solution.&lt;br /&gt;
&lt;br /&gt;
[https://www.revoelectronics.com/ '''Train Engineer''']&lt;br /&gt;
 Precision RC &lt;br /&gt;
 16 Chestnut St. Ste 201E&lt;br /&gt;
 Emerson, NJ 07630 USA&lt;br /&gt;
&lt;br /&gt;
== What is it? ==&lt;br /&gt;
Revolution is based on a 2.4GHz &amp;quot;[https://en.wikipedia.org/wiki/Zigbee Zigbee Network]&amp;quot; to create a network infrastructure similar to WiFi with the throttle at one end and various decoders at the other end.  This allows the formation of a [https://en.wikipedia.org/wiki/Mesh_networking zigbee mesh network] and the support of consists with multiple locomotives, for instance.&lt;br /&gt;
&lt;br /&gt;
Let's explain this a little further - what do we mean when we say &amp;quot;formation of a zigbee mesh&amp;quot;?&lt;br /&gt;
=== The &amp;quot;pairing concept&amp;quot; ===&lt;br /&gt;
All modern over the air networking and point to point networks [https://en.wikipedia.org/wiki/Cryptography involves cryptography].  You use [https://en.wikipedia.org/wiki/Cryptographic_hash_function complex cryptography encoded data] every minute of every day without even being aware of it. To use these encryption tools, you need to establish &amp;quot;keys&amp;quot;.  You create these keys when you &amp;quot;pair&amp;quot; or &amp;quot;link&amp;quot; a device to another node on the network.&lt;br /&gt;
&lt;br /&gt;
''We will use this &amp;quot;pairing&amp;quot; concept later in the instructions to start the file transfer process..&lt;br /&gt;
''&lt;br /&gt;
Here are some examples to help illustrate the concept in ways that you likely use every day.  Note that ALL of these work within the [https://en.wikipedia.org/wiki/2.4_GHz_radio_use 2.4GHz radio frequency broadcast spectrum].&lt;br /&gt;
==== WiFi ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Wi-Fi WiFi] should be familiar to many.  You configure the controlling device, your [https://en.wikipedia.org/wiki/Wireless_access_point WiFi AP or wireless router], with an SSID (network name) and a password.  Or a &amp;quot;key&amp;quot;, if you will.  To join the network, at the end node, we select the SSD and provide the &amp;quot;key&amp;quot;, or password, and you become linked to that network that allows [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP protocol] traffic to flow over it.  This is essentially what the internet is built on, TCP/IP connections.   Anyway, the point here is, you &amp;quot;link&amp;quot; a node of some sort to a &amp;quot;controller&amp;quot; of some sort.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Bluetooth Bluetooth] should also be familiar - You tell your bluetooth end node to advertise itself (like a link button!) to be open to linking.   Then you initiate a search on the controlling device, your phone, for instance, to [https://en.wikipedia.org/wiki/Bluetooth#Implementation_2 initiate the link bonding and key generation].  Now we have a secure encoded point to point link between the phone (controller) and the bluetooth device, usually [https://en.wikipedia.org/wiki/Wireless_speaker#Bluetooth speakers] or [https://en.wikipedia.org/wiki/Audio_headset#Bluetooth headphones].&lt;br /&gt;
&lt;br /&gt;
==== Zigbee ====&lt;br /&gt;
[https://en.wikipedia.org/wiki/Zigbee Zigbee] is extremely similar, but is the one most people haven't heard about, because it's more low key utilitarian in scope.  If you have a smart electrical meter on your house it may be part of a [https://en.wikipedia.org/wiki/Wireless_mesh_network large Zigbee mesh network], for instance.  In our case, the Revolution Throttle is a Zigbee Controller.  You use the menu to select &amp;quot;linking&amp;quot;, then on the decoder end, you press the &amp;quot;link&amp;quot; button for a short period.   This causes the Throttle and decoder to pass cryptographic keys with each other and they are then &amp;quot;linked&amp;quot;.  Because Zigbee is a mesh network, you can repeat this process with addition decoders.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
Deep within the bowels of the '''[https://www.revoelectronics.com/blog/cat/download/ Revoelectronics Downloads page]''' you can download sound files, throttle firmware and the Windows program(s) to move these files around using the '''[https://www.revoelectronics.com/product/revolution/usb-programmer.html USB Device Programmer]'''..  You need to create an account on the Revolution website to access the downloadable files and/or any documentation.&lt;br /&gt;
&lt;br /&gt;
There is exactly ZERO documentation provided for any of these Programmer Interface tools that I can find.  The goal is to figure out and document just how this all plays together so you don't have to go through what I did..&lt;br /&gt;
&lt;br /&gt;
= Observations = &lt;br /&gt;
== Loading the Programmer Interface tool ==&lt;br /&gt;
&lt;br /&gt;
Running the Windows SW is simple and so far, it works MOST OF THE TIME, with just a few caveats.&lt;br /&gt;
&lt;br /&gt;
So, you insert the '''[https://www.revoelectronics.com/usb-programmer.html USB Programming Adapter]''' into a USB 2.0 Type A port.  Then start either the cleverly named &amp;quot;PC Software v1.0&amp;quot; or &amp;quot;PC Software v1.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The photo below shows a modern Arm architecture Mac running Windows 11 within '''[https://www.parallels.com/products/desktop/ Parallels Desktop]'''.  This is not required, just a proof of concept that the tools provided will run within a virtual machine as well as a dedicated Windows laptop.&lt;br /&gt;
&lt;br /&gt;
Also visible in the photo is an off the shelf '''[https://www.amazon.com/s?k=usb-a+to+usb-c+adapter USB-C to USB-A adapter]''' (the little red cable) readily available at Amazon and other suppliers.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can clearly see the blue LED that indicates power to the USB Programming Adapter.   The red &amp;quot;activity&amp;quot; LED is on the adjacent corner of the USB Programming Adapter and is clearly visible when lit.&lt;br /&gt;
&lt;br /&gt;
[[File:Revo setup 1.jpeg|800px|The Basic setup]]&lt;br /&gt;
&lt;br /&gt;
== Running &amp;quot;PC Software v1.1&amp;quot; ==&lt;br /&gt;
So, now you should have Windows (real or virtual) running, the USB Programming Adapter inserted into a USB port..  When you insert the USB Programming Adapter there are two LED's of note.  A blue LED that indicates power and a red LED that indicates various states of use.&lt;br /&gt;
&lt;br /&gt;
Time to light up the programing SW interface, called &amp;quot;PC Software v1.1&amp;quot;..  You can ALSO use the slightly down rev &amp;quot;PC Software v1.0&amp;quot; version if you desire..&lt;br /&gt;
&lt;br /&gt;
After starting up the SW, you should see a screen '''SIMILAR''' to the photo below.  Note in this photo that the USB Programmer Interface is NOT visible - I took the screen shot before actually inserting the tool.  The tool can and sometimes MUST BE inserted while &amp;quot;PC Software v1.1&amp;quot; is running - more on that later!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 1.png|800px|PC Software v1.1]]&lt;br /&gt;
&lt;br /&gt;
== Using the Tool ==&lt;br /&gt;
=== Pre-stage the file to the Programming Interface ===&lt;br /&gt;
&lt;br /&gt;
After the tool is started, the first step is get that field under the logo to say &amp;quot;Programmer found&amp;quot;.  Sometimes this works right off the bat if the dongle is pre-inserted, other times it needs to be &amp;quot;hot plugged&amp;quot; while &amp;quot;PC Software v1.1&amp;quot; program is actually running.  When inserted the Programming Interface will light a blue LED in a steady state.&lt;br /&gt;
&lt;br /&gt;
Once you get to the &amp;quot;Programmer found&amp;quot; status, the work flow runs like this:&lt;br /&gt;
&lt;br /&gt;
#Select '''the device''' you want to send a file to in the upper left dialog window.&lt;br /&gt;
#Select '''the actual FILE''' you want to send to the device using the &amp;quot;File Open&amp;quot; button, which will bring up a normal file selection dialog.&lt;br /&gt;
#Select the &amp;quot;'''Load/Program'''&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
This will result in a file transfer status being shown - this is ''important'', you are '''NOT''' sending the file to your device at this point, you are &amp;quot;''pre-loading''&amp;quot; the Programming Interface with the file for further processing.  While this pre-load is happening, a red LED located on the opposite corner from the blue LED will light in a steady state.&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 3.png|800px|Step one in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Sending the staged file from the Programming Interface to the target ===&lt;br /&gt;
Once the &amp;quot;Load/Program&amp;quot; process is completed, the dialog window will update to say, &amp;quot;'''Searching Target Device Signal'''&amp;quot;.  You should also note that the red LED on the Programming Interface changes from a steady state to a rapid blinking state!  If you do NOT see the LED blinking, something is wrong!  (See hints towards end of article..)&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 2.png|800px|Step two in the upload process]]&lt;br /&gt;
&lt;br /&gt;
=== Starting the upload (Where we will use a special mode of &amp;quot;linking&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Move to your staged device - you should have it powered up and at a minimum the &amp;quot;link&amp;quot; button attached.   In the photo further up the article you will note a speaker, a motor trigger wires and the link button all attached to the decoder so all the features can be easily tested after the upload process is completed.&lt;br /&gt;
&lt;br /&gt;
The link button has '''DUAL FUNCTIONALITY'''.   A ''very short'' press doesn't do anything.  A ''medium'' length press puts the decoder in standard linking mode.   A '''''LONG PRESS''''' (what we want to do in this case) triggers a special upgrade mode and will immediately link with the Programmer Interface and start transferring the staged file embedded in the Programming Interface.  You should be able to see the transfer progress updating in the &amp;quot;PC Software v1.1&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
The red LED should still be blinking at a fast pace.&lt;br /&gt;
&lt;br /&gt;
At this time, press and HOLD the link button.  The decoder LED will first flash quickly, then after a few seconds will slow down - that's the sign you have entered the second &amp;quot;programming mode&amp;quot;.   Release the button and observe the &amp;quot;PC Software v1.1&amp;quot; window to monitor the transfer process.&lt;br /&gt;
&lt;br /&gt;
When it is completed, it will note &amp;quot;Transfer Successfully Finished&amp;quot;..  This is a good sign!&lt;br /&gt;
&lt;br /&gt;
[[File:Revoprogram 4.png|800px|Transfer Successfully Finished]]&lt;br /&gt;
&lt;br /&gt;
After the process is completed, simply power cycle the decoder and test to your satisfaction..   Repeat as required to get the sound you want loaded into your decoder..&lt;br /&gt;
&lt;br /&gt;
=== Updating the throttle vs. a decoder ===&lt;br /&gt;
&lt;br /&gt;
Updating the throttle Firmware is a similar process with just some minor variations.  &lt;br /&gt;
&lt;br /&gt;
#First, select &amp;quot;Revolution Transmitter&amp;quot; as the device to upgrade.&lt;br /&gt;
#Second, select the FW file you want to upload into the throttle.  (3.03 being the most current)&lt;br /&gt;
#Third, after the transfer into the Programming interface is complete and the red LED starts flashing, power up the throttle, select MENU -&amp;gt; ASSIGN FUNCTIONS -&amp;gt;10. UPDATE FIRMWARE.&lt;br /&gt;
#Forth step, like the decoder, the &amp;quot;Are you sure?&amp;quot; dialog needs a '''LONG PRESS''' on &amp;quot;Yes&amp;quot; to trigger a transfer.&lt;br /&gt;
&lt;br /&gt;
If something is wrong and you can't see any progress happening, use the MENU and ON/OFF button together to reset the decoder.  DO NOT do this &amp;quot;mid transfer&amp;quot;!  It may brick your throttle!  Only do this if something is amiss and the process never starts at all.&lt;br /&gt;
&lt;br /&gt;
[[File:Throttle update dialog.jpeg|300px|confirmation dialog]]&lt;br /&gt;
[[File:Revolution throttle update status.jpeg|300px|update status]]&lt;br /&gt;
&lt;br /&gt;
== Errors and Caveats ==&lt;br /&gt;
I started this project with a used Throttle and an older decoder found &amp;quot;miss-listed&amp;quot; on Ebay, thus a real steal of a deal.   I borrowed the &amp;quot;Programmer Interface&amp;quot; from Warner Swarner.&lt;br /&gt;
&lt;br /&gt;
It turns out that I was fighting several issues that made figuring this out quite difficult..&lt;br /&gt;
&lt;br /&gt;
#The used decoder is broken, it won't accept updates.  Fortunately I was loaned a couple of new decoders that work correctly, and that helped establish what works and what doesn't work as well as proving the decoder I got off Ebay is just plain broken.&lt;br /&gt;
#The Programming Interface was partly faulty - the zigbee radio module was not making a firm connection to the USB dongle..  This was HUGE..&lt;br /&gt;
&lt;br /&gt;
It took MANY, many tries to get things working.  The intermittent Programming Interface was the largest hurdle.   Ultimately what I found was this:&lt;br /&gt;
&lt;br /&gt;
[[File:Revo programmer exposed 1.jpeg|400px|the offending connector that needed reseating]]&lt;br /&gt;
&lt;br /&gt;
That disconnected connector you can see is pried apart so I can try seating and re-seating it a few times.  This cleared up the &amp;quot;loads, but red LED stays solid&amp;quot; issue that I fought off and on for weeks while I worked my way through the puzzle of how this is SUPPOSED to work..&lt;br /&gt;
&lt;br /&gt;
=== Other gotcha's ===&lt;br /&gt;
It is not uncommon for the Programmer Interface to just not respond to the &amp;quot;Load/Program&amp;quot; button.   The only cure I can relate is to leave the &amp;quot;PC Software v1.1&amp;quot; running and unplug, then re-plugin that Programmer Interface - wait for &amp;quot;Programmer Found&amp;quot; to appear, then start at the beginning by selecting a device, file, then &amp;quot;Load/Program&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sometimes, the exact opposite is true and you need to quit out of the &amp;quot;PC Software v1.1&amp;quot; and restart it.  And sometimes you need to do BOTH actions to get it all happy..&lt;br /&gt;
&lt;br /&gt;
If the red LED does not start blinking at the end of the &amp;quot;Load/Program&amp;quot; step, something is wrong with the Programmer Interface itself, try GENTLY unpluging the zigbee module (it will NOT come completely free due to a soldered ground connection!!) and re-plugging it back onto the USB module a few times.&lt;br /&gt;
&lt;br /&gt;
= Flow Chart =&lt;br /&gt;
A basic flow chart of the process...&lt;br /&gt;
&lt;br /&gt;
[[File:Flowchart.jpg|1000px| Flow Chart of process]]&lt;/div&gt;</summary>
		<author><name>EricTimberlake</name></author>
	</entry>
</feed>