In the process of planning my second Flux Capacitor build, I became aware that the Sparkfun RF Remote I used for my first FC was no longer available. Sparkfun did not seem to have a descent replacement so I took to the net looking for another option. While searching, I remembered a few of the issues (hassles) that I had with the first RF Remote. While in the end, it worked out, it was not without some struggle.
RF Remote for Flux CapacitorFirst, the RF IC used in the remote (nRF24L01+) is primarily intended for data communication. Typically you would use a pair of nRF24L01+ boards each connected to a different Arduino micro-controller. You could then send data back and forth between the two. In my case, I only needed signals sent one-way from the RF Remote to the RF receiver board. Additionally, the data being sent was a simple button press and not more complex streaming data. The RF remote is dumbed-down to just transmit the limited data needed to indicate which button was pushed. Unfortunately, at the receiving end you still need to program the Arduino to receive that data and then be able to interpret it to be able to use it.
The complexity between receiving push button data and more complex data was basically the same. It required that two different libraries be loaded and streaming type data parameters be setup and handled. All this to know if button #1 was pushed or not. Additionally, the remote did not handle button bounce very well. This is when you push the button once and get two pushes. My FC would run the same light pattern twice in a row if this happened.
So, I finally settled on an RF Remote and RF receiver offered by Adafruit.com. They were cheap and the receiver came in three different versions. Toggle, Selector and Monentary. Check them out here.
The Toggle version is straight forward. Each time you press one of the bottons, the corresponding data pin on the RF Reciever toggles On or Off. The Latching Selector version worked like the old car radios. Only one putton could be on at a time and when you pressed another button, it turned off the first button.
The momentary version was similar to my first remote. Pressing a button sent an On signal, and it turned Off when you lifted you finger off the button. This worried me a little because of the bounce issue I had in the previous version. De-bouncing can be handled in software but add more complexity. I knew I didn't want the Toggle version because it allowed more than one button to be On at a time. That was not something I needed. Since the RF Receiver boards were very cheap, I go one of the Selector boards and one of the Momentary boards.