How to use a Raspberry Pi to trigger wireless remote controlled outlets (and probably other wireless devices)

Wireless Remote and One Outlet

We have previously published an article on How we made a Raspberry Pi controlled 8-outlet power box which shows how to use a Raspberry Pi to control AC power, but there are a couple of drawbacks to that approach. For one thing, the Raspberry Pi has to be right next to the electrical outlets to be controlled, which is not always convenient. And also, actually building the project requires working with components that will handle AC power, and if you don’t know what you are doing or don’t have a healthy respect for electricity, you run the risk of fire, injury, or electrocution (as in death). Therefore, those who have no experience at all with electricity will probably want to avoid that approach.

However, there is another alternative. You can purchase wireless remote control devices that typically come in packages with one remote control, and some number of devices that you plug into an outlet, and then you plug whatever you want to control into those devices. You can easily find them on Amazon or eBay, or at big box stores or at places like Harbor Freight. On an online site, just search for “Wireless remote controlled outlet”. The main thing you want to make certain of is that they are controlled by radio frequencies, which most are, and not by an infrared signal like most TV remotes.  If the remote outlet can be controlled through walls and doors, without any visible line of sight to the outlet, then it is most likely a radio frequency controlled remote.  We say “most likely” only because there have been a few situations where audio signalling has be used in remote controls, in fact some of the very first TV remotes were mechanical devices that struck a vibrating reed when a button was pushed, creating an audible sound that the TV used to change channels or raise or lower the volume.  If you think about the fact that sounds also come out of the TV’s speakers then you can probably guess why that system never really caught on.

There is, however, one potential drawback to the radio frequency controlled outlets that should be noted at the outset.  If you have very close neighbors, and you and they both happen to purchase wireless outlets, you may find that your remote also controls their outlets or vise versa.  Or if you decide you want to purchase additional remote outlets, even if the second package has a completely different brand name on it, it is still possible that an outlet from each package could be switched by the same remote control.  Many of the outlets are made in China and rebranded for sale in North America, so it is quite possible that two completely different brands of outlets could come from the same manufacturer.

The idea here is that we want the Raspberry Pi to emulate the same signals that pressing buttons on the remote would do.  This allows the Raspberry Pi to control the outlets and opens up possibilities limited only by your imagination.  For example, the Raspberry Pi could turn on or off outlets based on the time of day, or you could access the Raspberry Pi from a remote location and control the outlets.  You could also control the outlets based on some other trigger.  An example might be if you live in a place where you need to turn on some kind of heat-generating device if the temperature falls below a certain point.  In that case you could connect a temperature sensor to the Raspberry Pi and use the output of that to decide if the outlet should be on or off.

Note that this may also work with other types of radio frequency remote controls, such as those that control specific devices such as window air conditioners or ceiling fans, as long as the remote uses fixed codes that do not change between uses.  This will not work with remote controls that use “rolling codes” for security (that includes most garage door openers and keyless vehicle entry systems).

As you may be aware, the Raspberry Pi is capable of transmitting radio signals if you attach a short piece of wire to one of the GPIO pins, which acts as an antenna, and run certain specific software.  However, you should note that doing this may or may not be legal, depending on where you live.  If you ask guys on the Internet whether it is legal to do this you will get all sorts of opinions.  But what you really have to be concerned about is whether the signals are leaving your home and are receivable by your neighbors, or even further out.  You’re far less likely to get in trouble for a signal that’s never received outside the confines of your home.  That is why we suggest using as short of a piece of antenna wire as you can possibly get away with.  The GPIO pin by itself generally will not put out enough signal to control the outlets, but you really don’t need to add much wire beyond that to reach all parts of your home.  If the antenna wire will wrap around your wrist it’s probably much too long.  However, as with all our articles, we feel it is necessary to remind you of this:

WE ARE TELLING YOU THE RESULT OF EXPERIMENTS WE HAVE MADE.  WE ARE NOT SUGGESTING YOU  DO ANYTHING SHOWN IN THIS ARTICLE UNTIL YOU HAVE RESEARCHED THE LEGALITY OF DOING SO IN YOUR PARTICULAR JURISDICTION.  EVERY COUNTRY HAS THEIR OWN LAWS REGARDING LOW-POWERED RADIO FREQUENCY TRANSMISSIONS, AND WHAT IS LEGAL IN ONE PLACE MAY NOT BE LEGAL IN ANOTHER.  WE WILL NOT PUBLISH COMMENTS ABOUT WHAT IS OR ISN’T LEGAL BECAUSE THIS CAN VARY FROM ONE PLACE TO ANOTHER, EVEN WITHIN THE SAME COUNTRY.  ALSO, WE ARE NOT LAWYERS, SO WE HAVE NO WAY TO EVALUATE WHICH COMMENTS MIGHT CONTAIN FACTUAL INFORMATION ABOUT THE LAW AND WHICH ARE ONLY UNINFORMED OPINIONS.  HOWEVER, IT IS UP TO YOU TO FOLLOW THE LAWS OF YOUR COUNTRY, AND THE AUTHORS WILL NOT BE LIABLE IF YOU FAIL TO RESEARCH THE LAWS THAT APPLY TO YOU AND TO FOLLOW THEM.  YOU AND YOU ALONE ARE RESPONSIBLE FOR WHAT YOU DO WITH THE INFORMATION CONTAINED IN THIS ARTICLE.  IF YOU ARE THE TYPE OF PERSON WHO DOES NOT WISH TO ASSUME PERSONAL LIABILITY FOR YOUR OWN ACTIONS, THEN DO NOT ACT UPON ANY OF THE INFORMATION IN THIS ARTICLE!

THAT SAID, WE ADDITIONALLY NEED TO POINT OUT THAT THE RASPBERRY PI PRODUCES SQUARE WAVES, NOT SINE WAVES, WHICH ARE NOTORIOUS FOR PRODUCING “HARMONICS” OF THE INTENDED FREQUENCY.  IN ORDER TO MINIMIZE THE POSSIBILITY OF TRANSMITTING INTERFERENCE, ANYONE ATTEMPTING TO REPLICATE WHAT WE ARE DISCUSSING HERE SHOULD INVESTIGATE THE USE OF A RF BAND-PASS FILTER ON THE ANTENNA OUTPUT, TO LIMIT THE RADIATIONS TO THE DESIRED FREQUENCY ONLY.  SUCH FILTERS CURRENTLY SELL FOR AROUND $15 – $20 (US) ON AMAZON AND EBAY.  IN SOME JURISDICTIONS IT MAY BE ILLEGAL TO OPERATE WITHOUT SUCH A FILTER.  IF ANYONE KNOWS OF A GOOD LINK TO AN ARTICLE DISCUSSING HOW TO SELECT AND ATTACH SUCH A FILTER TO A RASPBERRY PI (THAT IS NOT WRITTEN IN A PREACHY OR ARROGANT MANNER), PLEASE LEAVE A COMMENT AND WE’LL CONSIDER ADDING THE LINK TO THIS ARTICLE (NO SPAM LINKS PLEASE!).

There are three basic steps to using a Raspberry Pi to control a wireless remote control outlet:

  1. Determine the frequency of the wireless outlet remote control.  This probably requires additional hardware, as will be discussed shortly.
  2. Determine the the digital pattern that the remote sends for each button pressed.  This requires the same hardware as in step 1, but different software.
  3. Run a program on the Raspberry Pi to send the correct pattern on the correct frequency.  This requires no additional hardware except for a short antenna wire, or an RF band-pass filter, depending on local requirements.

DETERMINING THE FREQUENCY OF THE WIRELESS OUTLET REMOTE CONTROL:

While determining the operating frequency of the remote control can in theory be done on the Raspberry Pi, in practice we found it much easier to do this with a desktop computer.  For this you need a software-defined radio (SDR) receiver, and an antenna to connect to the receiver.  There are many different devices being sold but the one we got came from RTL-SDR.COM and looks like this:

USB-connected Software Defined Radio receiver from RTL-SDR.COM

As you can see, one end plugs into a USB port and the other end has a connector for an antenna. However, that connector is a different size than the ones used for TV cables, at least in the USA and Canada. So you can’t just connect your old TV antenna to the receiver without an adapter of some kind. While you can buy antennas for these devices, either separately or bundled with the device, it turns out that the connector was also used on some wireless routers.  So if you happen to have an old wireless router that has a removable antenna, as we did, it just might fit this receiver.  But Beware!  Many, if not most of those removable antennas will screw onto the connector with no issue, but in reality have a female connector.  And the connector on the Software Defined Radio pictured above also has a female connector, so although the antenna makes a good physical connection, there is no electrical connection between the antenna and the receiver!  The antenna should have a male connector that has a small protruding pin inside, that goes into the hole in the connector on the Software Defined Radio.  And if you wonder why we’re bothering to explain that, one of us was an only child that started messing with audio equipment and electronic devices around the age of nine or ten, and the “male” and “female” designations never make any sense at the time.  So if any younger readers are looking at this, just trust us that the male connector is the one with the pin or the plug, and the female connector is the one with the hole. You’ll understand why those designations make sense when you’re older.

Otherwise you should look for an antenna that has a “SMA Male Connector”, or if you really want to try using a TV type antenna that has a typical F-type coaxial cable plug, you could use a “RF coaxial coax adapter SMA male to F female” to make the connection.  In a pinch, you could stick a several inches long piece of thin solid copper wire a short distance into the hole to act as a temporary antenna, but it will need to be a fairly small gauge wire to fit (don’t try to force a wire that’s too large in diameter!), and you will want to make sure it isn’t shorting against the outer part of the connector, or touching anything else metallic.

These Software Defined Radios can receive a wide range of frequencies and modulation types, but we only need one to find the frequency that the remote is transmitting on, and then to receive the digital patterns that the remote sends when buttons are depressed.  As we noted above, in theory you can plug this into a Raspberry Pi and use that to decode the signal, but possibly due to not realizing that the antenna we were trying to use was not making electrical contact, we spent a day trying to make that work and had no luck.  So we went with plan B:  Plug the SDR receiver into a desktop computer (a Mac Mini in our case) and use that to see what the remote was sending.  Strangely, that just barely worked even without a good antenna connection!

Finding the frequency is a two step process.  First, you go to the Searchable FCC ID Database and look up the FCC ID number printed or embossed on the remote control.

Searchable FCC Database web page

If you are lucky it will find a match and show you the general frequency that the device operates on. You may need to scroll down the page to see it – it will be in a section that looks like this:

Section of page showing operating frequency range

If it doesn’t find a match, it will return a link to try searching further on the FCC site. Often this won’t return a result either, so then you can go to the FCC’s Equipment Authorization Search page, and in the “Grantee Code” field (the top field on the page as we write this) type in just the first three or five characters of the FCC ID:

FCC Page - enter grantee code

Then go to the bottom of the page and click “Start Search”.  More than likely that will bring up a list of other devices from that same manufacturer, along with the frequency ranges they operate in:

FCC showing results for grantee code

In this example, you can see that the manufacturer has had five devices authorized by the FCC and that they all operate in the 315.0 range, so if we had an unknown device from this manufacturer we could make a pretty good guess that it is probably also operating in the same frequency range. This is just an example, because we’ve already found the frequency range for the remote in the Searchable FCC ID Database, but if we hadn’t this shows how it can often be deduced.

So now that you know the general frequency band to search, you will probably want to run a program called GQRX to narrow it down to the exact frequency.  Some Windows users prefer a program called SDRSharp (or SDR#) but there is no version of it that runs on a Mac, so we could not use it. Yet another one we have heard of is called Spektrum, which runs on Windows or Linux.  And those are not the only programs available; as it turns out there are a LOT of programs written for use with these Software Defined Radios.  But GQRX is a very popular program for use with those radios, so if you’re unfamiliar with any of the alternatives we recommend trying that one first, particularly if you are not running Windows.  Using GQRX or SDR# or a similar program, you should be able to find the actual frequency of your remote.

When you open GQRX the first thing you should do is go to the I/O Devices pane.  You get there by clicking on the green button in the top row (partially obscured by the dropdown menu in the screenshot below) or by clicking on File and then in the dropdown select I/O Devices:

GQRX - File - I/O Devices

The following settings pane will come up:

GQRX Configure IO DevicesThe main things to watch for are that the device is correct and that the input rate is set to a reasonable value (usually the default is okay).  If you have a low-powered computer then the input rate may need to be set lower.  If you have problems you may need to try other settings to see what works.  You should not have to set the bandwidth or LNB LO settings, and if you do change those settings it could make it more difficult to tune in your remote.

Once you have made sure the settings are correct, in the main GQRX window you can click the play button (the leftmost button in the top menu bar) to start looking for signals.  The display should look something like this, although the frequency shown may be different:

GQRX main window with play enabledYou change the frequency (shown in large numbers right underneath the top menu bar) by placing the mouse pointer over the number you want to change, and them moving the mouse wheel up or down, or you can change it in the receiver options pane at the right of the screen.  What you do is look at frequencies right at or near the one indicated by the FCC database, and then press buttons on the remote.  You should see spikes in the display when button are pressed and from there you can home in on the frequency:

GQRX showing display while button on remote is pushed

In the screenshot above, you can see that when we pressed a button on one particular remote, we got a spike at 315.031.000 which in this case means 315.031 MHz.  You will need to point and click the mouse on the center of the waveform to get the vertical line in the center of the spike, and then the frequency display should be correct.  So this illustrates that although the FCC ID database can get us in the ballpark, we still need to run a program such as GQRX to find the exact frequency. By the way, you may notice that there was also a weaker spike at around 315.16, but whenever multiple spikes are displayed when you push a button, you usually want the strongest one, or if that doesn’t work, try the one that is lowest in frequency.

You can “zoom in” in on a frequency by going to the FFT Settings tab (in the pane in the lower right hand corner) and using the “Freq Zoom” slider.  Our best advice is to actually open the program and play with it a bit, hopefully you’ll catch on to how it works.  But all you are really trying to do with this program is find the frequency of the remote control.  Note that the majority of cheap remotes will use the same frequency for all buttons, but you can’t absolutely count on that, so be sure to try a few different buttons and make sure they are all on the same frequency.

If you don’t see any spikes in the display when you press buttons on your remote, try changing the frequency up or down a little, or try changing the input rate in the I/O device settings, or try adjusting the gain setting in the receiver options tab in the lower right hand corner of the display.  Oh, and make sure that whatever you are using for an antenna is actually connecting to the device.

If you are having problems using this software, there are plenty of YouTube videos that explain how to use it, unfortunately we found that many of them were long on talk and short on useful information.  It is amazing how often the people who make the videos just zoom right on through the part you’d most like to see in detail, such as which settings are best to use and why.  So don’t be surprised if you need to try watching a few before you find anything really useful.

FINDING THE PATTERNS SENT BY YOUR REMOTE:

There are two approaches to recording what the remote sends so that the Raspberry Pi can play it back.  One is to just do a raw digital recording of whatever is received on the remote’s frequency for a couple of seconds while pushing a button, then getting the Raspberry Pi to play back that recording (this is sometimes referred to as a “replay attack” because it has been used for nefarious purposes – please don’t do that!).  Unfortunately when you do that, you first of all don’t know if you received a good signal, and second of all you will also be playing back any noise or interference that may have been received.  And also you’ll create files that are much larger than they need to be!  We’ve seen that approach used in a couple of videos and don’t like it at all. The far better approach is to use a program specifically intended to decode the signals received from a remote and show you the pattern of those signals, so that you can send just that exact pattern and nothing else.  The program that does this is called Universal Radio Hacker (or URH) and it is a cross-platform program. The linked page contains installation instructions for various platforms, as well as a user guide in PDF format, plus several other useful links.

We found that Universal Radio Hacker is a bit finicky under MacOS, in particular it seems to take a very long time to launch and sometimes crashes right after launching so you have to launch it again.  It clearly has not been optimized for the MacOS experience, but it works and that is what is important.

When you open Universal Radio Hacker, you’ll probably see a page that says “Open a file or record a new signal using the File Menu to get started.” So, the first thing you want to do is go to File – Record Signal:

Universal Radio Hacker - File - Record Signal

On the page that opens, you want to fill in the device settings for your device.  If you have a RTL-SDR device select that for the device, and the device identifier should appear, however if it does not click on the button with the circular green arrow that appears to the right of the Device Identifier dropdown box (not the “Clear” button that appears further down on the page),  and that should detect your device.  For the frequency, fill in the frequency that you determined using GQRX or similar software.  All the other settings can initially be left at the defaults.  If the program doesn’t detect any signal when you press a button on the remote, you may need to increase the gain setting a little. On our first attempt at this we had to raise the gain to the maximum value, but that was because unbeknownst to us, the antenna we were using was not making electrical contact with the RTL-SDR device, so essentially there was no antenna on the device, which makes it somewhat amazing that it even worked at all!Universal Radio Hacker - File - Record Signal pageWhen all the settings are entered correctly, you can click the Start button.  Then press the button you wish to record on the remote once, and then click the Stop button. If the button depression was recorded properly, the page will then look something like this:Universal Radio Hacker disolay after recording button pressThe next step is to click the Save button.  This will bring up a box asking, “Do you want to save the data you have captured so far?”  You must answer “Yes” to this question, or the remaining steps won’t work.  Next, a box will pop up that asks you where to save the signal – just pick any directory where it will be convenient to delete it later, since you probably won’t have any need for it once you have completed the following steps.  After that completes you can close the “Record Signal” window and then you should be taken to a page that looks something like this:Universal Radio Hacker-Interpretation TabWe would suggest that you click on the above image so that you can see it full size.  What you are seeing is a graphical display of what Universal Radio Hacker received when you pressed the button on the remote. As it happens, this screenshot was taken in a different session where we were recording button presses on a remote that operates on 433.916 MHz, but we’re using it because it gives a clearer picture of what you want to see.

In this case, from the graph and the window underneath, we can see that it sent a short initial bit (which can generally be ignored) followed by the same data repeated seven times.  This is not uncommon with inexpensive remotes; the designers know that it may take a few tries for the button push to register.  Note that each data burst has been recorded and that for each burst a long string of binary bits (1s and 0s) have been recorded, and that all the bursts contained the same data. That long stream of binary bits is what you will need to copy; for now you can just copy it to a text editor so you have it handy.  If one of the bursts had recorded data that was different from the rest, we would have ignored that one, and copied the data from one of the bursts that agree with most of the others.

Note the number of times the bursts of binary code repeat (include the bursts that might not quite have agreed with the others in this count, but don’t include ones much shorter than the rest).  You will need to know the number of repeats.

Another thing to note is the pause value shown following the data for each burst.  This will differ a little after each burst so you can approximate it to a close value.  For example, in this case the values were all near 13500 so that is the pause value we saved and used for that remote.  This does not have to be exact, in fact when we were first setting this up we accidentally used a pause value of 8000 and it still worked.  However to avoid potential problems we’d suggest staying reasonably close to the value displayed.

There are two other pieces of information that you will need, and that is the approximate length of each 0 and of each 1 bit.  All you need to do is highlight a single 0 or 1 bit, and the length will be displayed, as shown in this partial screenshot:

Universal Radio Hacker showing how to get the length of a 1 bit

Here, we have highlighted a single “1” bit and it shows us that the length of the highlighted section (that single bit) is 414.00 microseconds.  You should probably look at the length of several “0” bits and average them out, and then do the same for several “1” bits.  Note that most inexpensive remotes are not too precise about this value, so in most cases it is acceptable to round the values somewhat.  For example, in this case we used 400μs and it worked fine.  With many remotes the length of the “0” bits and the “1” bits will be the same, but that’s not always the case.

In some cases Universal Radio Hacker may not be able to automatically decode each burst.  In that case you may still be able to determine the binary code by going to the Analysis tab:
Universal Radio Hacker-Analysis TabThis shows essentially the same data that you would see under the Interpretation tab, but in a less convenient format. However in a case where Universal Radio Hacker just can’t seem to figure out where the bursts start and end, you may be able to determine the pattern by looking in this tab, by looking for repetitive patterns. But if the reason it had trouble was because of interference from some other device, it may be easier to just try recording the button push from the device again, and hope for a cleaner signal. On the other hand, if no signal was detected at all, you may need to raise the gain value as previously noted, or you may need to put fresh batteries in the remote!

With some inexpensive remotes it may take several tries to get a usable signal that produces a good clean pattern.  If at first you don’t succeed, try again!

You’ll probably want to repeat this process for each button on the remote, for those buttons that you want to emulate using the Raspberry Pi.  Just be sure to keep the data for each button separate, so you don’t get that data mixed up for two or more buttons.

SENDING THE RECORDED RF SIGNALS:

For this you use the Raspberry Pi, and you need to install a program called rpitx.  When you click on that link, be sure to read the “About rpitx” section first.  Install it on your Raspberry Pi, using the instructions on that page. When you install the program it will want to modify /boot/config.txt and you should allow that, BUT if you have trouble getting the program to work you may need to back out or change that modification depending on the model of your Raspberry Pi.  We were using a Raspberry Pi 3 Model B, and this is what we finally wound up with at the end of /boot/config.txt:

gpu_freq=250
force_turbo=0

However with other Raspberry Pi models you may need “force_turbo=1” – just be aware that this can make a difference if you run into problems.

As part of the rpitx package, there is a program called sendook (which stands for “Send On-Off Keying”) that is very useful for sending the patterns found by Universal Radio Hacker. This is an example of the usage; it assumes that the sendook program is in the ~/rpitx directory, if not you will need to adjust the path accordingly:

~/rpitx/sendook -f 315031000 -0 400 -1 400 -r 7 -p 12650 [long string of binary bits]

The various arguments used in this example indicate the following. Note that the notation “μs” is an abbreviation for microseconds:

-f = frequency in Hz (the default is 433.92MHz)
-0 = an integer value showing the duration in microseconds of a 0 bit (the default is 500μs).
-1 = an integer value showing the duration in microseconds of a 1 bit (the default is 250μs)
-r = number of times to repeat each data burst (the default is 3 times)
-p = pause duration between each repeat of the data burst in microseconds (the default is 1000μs, which is equal to 1ms)
The final item is the binary code obtained from Universal Radio Hacker. In a few cases you might need to remove one or more bits from the start but in most cases you can just copy and use it verbatim.

Before running this, remember that it probably won’t work if you don’t have a short piece of wire attached to GPIO 4 (Pin 7 on the Raspberry Pi) to act as an antenna.  You should keep this wire as short as possible for reliable operation, so that you don’t cause interference to any device that is not on your property.  And remember that for continued use, your jurisdiction’s regulations may require you to use a band-pass filter, to avoid transmitting “harmonics” of the intended frequency.

Now, if you have been following along, you know that we obtained the frequency using GQRX, and we obtained the number of repeats, the pause duration, and the duration of the “0” and “1” bits using Universal Radio Hacker.  But on our first attempt at this, we hadn’t yet figured out how to get the durations for the “0” and “1” bits, and we were watching a video by a guy that was using a Raspberry Pi to control a ceiling fan, and 333μs is the number he used for both values, and since we were just anxious to see it work and we didn’t know how those values were obtained, we just used his values and it worked!  And that brings up an important point, with these inexpensive devices getting the exact values are not always that critical, except of course for the binary code.  We’ve already mentioned above that when we first tried it we had the pause duration quite a bit off from what the remote sent and it still worked.  We suspect that we probably could have omitted the -0 and -1 arguments altogether and just used the defaults and it would have worked.  But it worked really well using the 333μs value, and we are big fans of the theory of “if it ain’t broke, don’t fix it!”

Speaking of videos, there are many videos that purport to show how to do this, but we got very frustrated with most of them because they gave way too much detail, and often wasted too much time on things we didn’t need to see.  People who create YouTube videos often seem to have real trouble getting to the point.  We don’t need the history behind a piece of software, nor do we need to watch it install in real time. In one video about Universal Radio Hacker, it went into great detail about how to decode a data burst, something that for most people is totally useless information – but it never did explain that all you need to do is copy all the 1s and 0s from that data burst, and not worry about the patterns within them (well, unless like us you have a broken button on your remote, and need to try to deduce the code that the button would be sending if it worked)!

Once you have figured out how to record and then transmit the data from one of the buttons on your remote, then you can go back and do all the other buttons in the same manner.  And once you know all the commands to control the remote outlets, you can trigger them in various ways, such as from shell scripts and/or cron jobs.  If you have some programming skills you could even create a web page that allows you to switch the outlets on and off by clicking on a link or a button.  The ways you can control your outlets are probably only limited by your imagination and creativity!

If you think we have missed any steps, or could have said something more clearly, just leave your suggestions in a comment, but be nice!  One thing we’d like to add are some instructions for adding an RF band-pass filter to this project.

In fact, it seems to us that this would be a great idea for a Raspberry Pi “hat”, since the filter components are supposedly pretty inexpensive.  The antenna could just be a circuit trace on the board itself, with the board connecting to Raspberry Pi pins 7 and 9 (GPIO 4 and Ground) and then running the signal from those pins through a band-pass filter for each band that is commonly-used by wireless remote controls.  For example, many remote controls operate somewhere in the 433.05 MHz-434.79 MHz band, as did the first one we used.  If we have calculated correctly, a quarter wavelength antenna would be right around 6.8 inches long, and a one-eighth wavelength 3.4 inches, either of which could be etched as a trace on a circuit board, but then we are not electronics engineers so don’t trust our calculations.  But those remote controls are pretty small so whatever they are using for an antenna must not be very long!

Another remote we used during the production of some of the screenshots in this article had a frequency of 315.031 MHz, which seems to be within another popular band for remote controls. This points out one issue; while remotes can be on various frequencies, band-pass filters typically only pass one band and exclude the others. We believe you could connect two (or more) band-pass filters to GPIO 4 and Ground in parallel, but this could get expensive if you had to buy individual components, however a “hat” could possibly contain band-pass filters and antennas for multiple remote control bands.  The point is that an electronics engineer (and probably nobody but an electronics engineer) could design a Raspberry Pi “hat” that includes the band-pass filter(s) and the antenna(s), and hopefully it could be sold for less than, or at least somewhat close to the price of those cheap band-pass filters on eBay and Amazon.  We have no idea how many could actually be sold, though.

You are more than welcome to leave non-abusive comments, but please be aware that our knowledge on this subject is rather limited.  The main reason we wrote this article is because we had not found any other article or video that laid all this out in a relatively clear and easy to follow set of instructions. We hope we have achieved that, at least to some degree.  But please don’t ask questions that might be better asked in a forum where there are people more knowledgeable about this subject, because if you do we probably won’t have an answer for you.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.