Introduction: ONE MILE REMOTE

About: retired from electronics and now enjoy inspiring others.

NO, this post does not use fedx to send the remotes one mile. This is an easy copy and paste project. Yes, almost ANY remote will work. This will NOT change all the tv channels within a mile.

And WHY should a remote go a mile?

I built a mars rover with a fpv camera using the rf wireless remote for led string lights. Just going to the next room my remote stops. Going half way up the dice.

Now perfect, using the very popular 'car-mp3', two HC-12, two pro-minis. AND YES at FU4 it WILL go ONE MILE. Another plus is if you are using the car-mp3 in your project this will send the same keypad id numbers.

What to expect.

Easy build can use jumpers to connect. Easy complicated functions to modify. NO hacking the remotes or anything. Just copy + paste...plug and play.

Always one have the transmitter ready at any moment to send a keypad id the transmitter must be ON. This means a seperate battery and off switch. No changes in the actual remote.


any IR remote or modified RF remote by changing the led to IR. Did this to the led rf wireless.

2 HC-12 transcivers.

2 arduino any type nano,pro-mini,etc could even use atinys.



IR sensor that came with the car-mp3 or similar 3 leg sensor.

3.3 (3.7) volt li-ion battery

Step 1: ​concept and History

Capture the IR light and sent to a reciever. I Thought I could just use an IR sensor tied to RX pin of HC-12. This tries to send bytes insted of a long string of data. The cheap fs1000 send continous data and work well but they have static and short range. Most other trancivers work with bytes and break up the IR siginal too. I tried many and none worked this way.

Forget blue tooth, wifi, nrf, (still dont know what a PIPE is), 433 cheapos all no range.

So the next best thing is use an arduino to capture the IR pulses...decode them into the actual key id, then send this id to the reciever. This really only adds one more device and one more step. At the other end you get a keypad id code which is the whole object.

This is a BASIC post. I can think of a hundred improvements, fancy case, other remotes, more data to transfer, data conformation, transmitter sleep, etc. So you can do all that.

Step 2: Build Transmitter

You can make this as fancy as you like but for this post I will just cover the basics. I bought 200 pro-minis years ago and use only them but I see the nanos are popular now. No FTDI needed, just plug into the usb. I use a standard mini and I have found that mine work well at 3.7v.

I recomend you use a 3.3 volt battery and an arduino running at 3.3v even though I cheated. The HC-12 use 3.3v too. This could be built as a desk top unit tied to 5v usb. But I mounted the mini, HC, battery onto the remote. This looks ugly and may post a 3d print case if I get 200 hits. The battery is a used phone li=ion 3.7v. (nice and flat). Connect to the Vcc of the arduino, and Vcc of the HC-12. This could use a switch for on/off but I just un-plug the battery. So ground and 3.7v to pins. all that is left is the IR pickup connected to arduino D2 pin, D3 is digitalWrite ground, D4 is digitalWrite Vcc in the sketch. D6 is HC TX and D7 is HC RX. Yes I powered the IR pickup from D pins but the HC-12 needs direct to the battery to get one mile.

Step 3: Build Receiver

This will vary as the type of project you have to control and the battery. This will connect to any D pins you don't use. So In the one mile RX sketch I use D6 to HC TX and D7 to HC RX.

'SoftwareSerial(X, Y)' allowes most pins to be used. Just tie HC-TX to X and HC-RX to Y. Because this is the receiver the Vcc is not as critical. The HC-12 can take 5v from arduino in receive mode. ....DONE

Step 4: Sketches

slight cauction on HC-12 range

The HC-12 have a problem with range. The market was flooded with a bad HC-12. I tried to fix this and gave up. Someone else kept at it and there is an easy fix to the foil run. Make sure the foil is correct. I strongly sugeust you change the channel to an ODD number 7,11,15. The HC-12 comes ready to use on 'channel one' and most are not changed. This will allow any other HC-12 to interfere with yours. Keep the baud rate at 9600 and FU3. Remember BOTH TX and RX MUST be set the same baud,FU,channel.

Load 'one mile TX' to the Transmitter and load the 'one mile RX' to the receiver.

I focused on the 'car-mp3' remote because it's popular. My sketch runs a switch/case to transmit the actual carmp3 key ids. The first 7 lines are the left keys (top to bottom) of the carmp3. The next 7 lines art the center carmp3. The last 7 are the carmp3 right collum keys. I used the 'EXAMPLES>IRremote>IRrecvDemo'. I used this to get the actual key data of ANY remote. You can change the 'RECV_PIN = 11' to any D pin, I used D2. Then I changed the Serial.println from HEX to DEC. This gives the long id number in the TX sketch...(16753245). So any remote will give you a number and you just call that number and send any other number you like. I keep it simple by sending BYTES so you can send 254 seperate keys.

CAR-MP3 number id

69 70 71........-ch ch +ch

68 64 67........ << >> play

7 21 9........ - + eq

22 25 13........ 0 100 200

12 24 94........ 1 2 3

8 28 90........ 4 5 6

66 82 74........ 7 8 9

Step 5: Keypad Cover With Your Own Names

There are MANY other IR libraries out there that will identify other remote keys. If you wanted to control your DSS from another house this would be easy to do with these other libraries. This goes beyond the scope of this post but not the basic idea.

some problems I have a fifty fifty chance to get the TX and RX wrong in ALL my projects. The text here is CORRECT. But when I wire things up I get confused. If the project dosen't work check this first. The reciever will only get a key id number, byte from 7-94 + 200 in the receiver sketch. a filter could be used to remove unwanted data. The byte will stay 'alive' in the reciever unless you erase it after ONE LOOP. If 'alive' each loop will use the byte .... over and over till the next byte is sent. This could be a problen in your code so keep this in mind. I have included a very SIMPLE sketch to demonstrate the key id byte in an actual sketch. This works my mars rover sketch very well. The two minis share the one TX pin from the reciever.

Use packing tape (3in) and the pdf layout to any key names you like. the tape allowes for no rub off of the names and is flexable for key press.

thanks, please see my other stuff...

oldmaninSC .... no covid19 yet