My Gosh! What a wonderful video! I was trying to set up my HC-12 for like... 4 days, with no success, but after 8min40sec I managed it! Thank you so much! And may you continue making great videos like this!
Thank you Tom for sharing this video and work files for the HC-12 Wireless Serial Port Module. After watching your video, I ordered all the stuff, followed your instructions. and hay presto!! I'm now a pro haha. Seriously though this was exactly what i was looking for. I'm now setting up my once wired intruder/warning alarm to run wirelessly. I tested the distance I was getting from the HC-12 and I was well impressed, well more then the 50 metres I needed even through walls. Great stuff. Thanks again Tom, you've just saved me a fortune in unsightly wire :) Thumbs up and subscribed
For those like myself on OSX, if you want to open two instances of the Arduino IDE, simply duplicate the Arduino application, and call one something like "Arduino Board2". You can run both simultaneously, choosing different boards/ports for each
Thank you Mr. Heylen for the great video instruction. I'm a newbie with the Arduino but have noticed that in the 'Momentary Send' exercise sketch, the Boolean onOff does not get reset to 0 after sending an off signal. I noticed that, at startup, my uno draws 65 ma but increases to 95 ma once a button is pushed and remains there even after the button is released. After adding a line of code to reset onOff to 0, the current does return to 65 ma after the button is released. I'm concluding, maybe falsely, that the exercise sketch continues to send the off signal unless a button is pushed. Please let me know if this indeed the case. You made extending your code to three 'pushbuttons' in a motion sensor and three leds in a receiver quite simple. Thanks again!
have you guys figured out the solution of this problem?? because i am also facing same problems and wasted my 2-3 days on order to rectify the issue but nothing has worked
Great video. Easy to follow and the examples work 1st try. Thanks. Are you going to make more videos with the HC-12? If so might I suggest a remote weather station.
hi Tom...thank you very much for the video...very useful video...btw can i use HC12 for RC multi channel transmitter? or i can use 1 channel with multiple variable for communication instead of multi channel?
Thank you. Very informative tutorial. Is it possible to have 12 or more momentary buttons in both transmitter and receiver? I have 12 buttons in arduino and want it controlled wireless.
Hi Tom. First, thank you for your wonderful work. I tested a lot of things with arduino but here this time, I am a bit frustrated. I did everything like you describe, but no communication "send/receive". I suspect that one of my two HC-12 is not working ... So, have you an idea to test each hc-12 separately (alone) ? Thank you in advance.
Does HC-12 support smartphones (iOS or Android)? Actually I am building a RC Plane and would like to control that from my iPhone. Please let me know....!
Some of the people in this forum had a range up to 10 miles in open area. Concrete walls and buildings will make this range shorter. I found that in a building I can receive up to 4 floors. Have a good one. Cheers
In your video there is no latency in the messenger 1st example communication . Did You changed the Serial.setTimeout() to something different from 1000 ? this for both softwareserial and serial ? ? kindof Serial.setTimeout(50)?
Hi, can these modules work alone? For example connecting a button to Tx and a Buzzer to Rx, thus making transceivers for morse code? No Arduino envolved. Thanks
Hi Tom! Thanks for your effortI want to ask that can I reach the 1.8km distance communication but without using the external SMA antenna? If no, how much you think can I reach?
Hello Tom, great tutorial! , newbe here, can I use any of these examples to send sensors data, like ultrasonic and what part of the code can I use? have you any examples? Thanks, Jayson
Hi Sir, Thank for the valuable information, Is it possible to make communication between two arduinos by using eather net modules ( without a PC) Please claear my doubt.
Can the HC-12 be used to transmit voice, like a digital walkie Talkie? How does HC-12 compare to LoRa in range and complexity of implementation for voice transmission?
Hello Tom, First thank you for the video its great! I have some doubts and i hope you can help me . I want to use the receiver in stand alone mode, without the module microcontroller. It is possible to add a jumper to the module between the radio output and a NC pin? And In which microcontroller pin does the radio output enters?
Great stuff, do you have a sketch/example for a 4 channel relay to be controlled by this device using an Android app?!? I'm struggling to get this done for this device. Is thi device using bluetooth or Wifi??? I'm confused
What cheap board instead of the HC-12 would you recommend if I need to send data a maximum of 1km and about every 500ms? Looking at the specification for the HC-12 it says only to send data every 2 seconds, and only 60 bytes at a time.
Hi Tom, thanks for your tutorial. I have a question: I need to remotize up to 4 relays just under the roof... But I need also to have a visual feedback about the state of the realys (on or off). How can obtain it?
Hi Tom, must I respect some time between the end of tx to start rx, or the end rx and start tx?? Often I lost some data especially first data of pack. Best regards. Thanks
Could you please let me know what is the maximum range that we can achieve while using only the spring antenna provided with the module when working at FU4. Appreciate if you could give some idea. Thank you very much.
The HC-12 module seems to work in half duplex mode. I would like to realize a remote control with a nextion display which on the one hand can be used to switch consumers and on the other hand receives sensor data and displays it on the touch panel. So the role of station A and B shut be alternating from transmitter to receiver. How can this be achieved with two Arduino MEGA? I want to use a MEGA2560 instead of an UNO because of the available serial ports and the much higher amount of memory.
Hi, I have been trying to change the channels with AT commands, but the transmission is still working, even when AT+RX says that they are in a different channels. How can I realy change the channels ? thanks!
hello I am trying to connect mega2560 with uno . i have changed all possible pins in mega no connection established between two boards . any suggestion?
Hi there,First, I want to say thank you for a wonderful and detailed video, but I have an issue:(My HC_12 is working and sending the same exact data, but for some reason, it doesn't send it as quick as yours does. I find this a problem because if I were to fly a plane, it wouldn't react as fast as I do and my commands will be delayed which will cause it to hit something. Is there something that I can do? Plz respond, and thank you :)PS: I love ur videos :D
Hello Tom, great article! You have an example of sending data continuously updated? For example, I would always send the transmitter data. If the receiver is out of range, a status LED indicates a signal failure or enter in failure mode. I can not keep sending continuous data, in this case, 4 bytes for less than 1000ms, which is very high for a real-time system.
Hello! that's a great contribution by you on HC-12 , I'm doing a project which has a webcam and arduino.. my question is that can i transmit Video data through HC12 for long range communication.? please reply
Is there a way to limit the range to a specific distance? I mean can I make it receive signal only in the range of (for example: 1km) and less? but more than 1km range, I do not want it to receive the signal? Is it possible? If yes, How?
+Tom Heylen yes, I am using HC05 Bluetooth module but it don't work more than 10 meters, actually I want data in my android phone and data has to travel from far of place so I am looking for alternative to that.
@@TomHeylen1 Thanks Tom.. So when the code defines "TX" does that mean it's TX pin on Arduino to be connected to RX pin on HC12 and RX pin on Arduino connected to TX pin on HC12" (10, 11) means TX and RX defined on Arduino.. This is confusing some people including me. And if it's backwards, does it harm the HC12 in any way.. Because I can't get these simple things to transmit or give me a response when I use AT commands. Again thanks for clearing that first part up for me Tom.
Hi! I used that module in FU3 2400baud mode at good range, but neede more now, set up FU4 and CH010, Baud 1200 ad now range is less than FU3 9600baud so less than 100meters isntead of 1.8km, what could make the issue?
Hello Tom, I'm trying to use the HC-12 with a Wemos d1 mini (wiki.wemos.cc/products:d1:d1_mini) but i cant get it to work. AT Commander doesnt want to work. I guess it's due to the different pinout of the board. There is TX & RX pin on the board but i dont know how to call them in the code. Do you have any tip or solution for me please ? Thanks.
Hi, I am currently working on a project that requires wireless communication between two Raspberry pis via RF transceivers. Is it Possible to program and connect the HC12 to Raspberry pi via UART serial port?
What a great video, Thank you for tutorials, Mr. Tom. but I have a problem in my project. I use 115200 bps on Nodemcu v3 and Arduino with HC-12, unfortunately both can't send any data to each other. why? please help
Hey Tom, I made a prototype using my Arduino UNO and this worked perfectly. I'm trying to shrink the prototype to an Arduino NANO and I can't seem to get it to work. Do you know if this concerns using a NANO instead of an UNO? Regards, Jim
hi tom Thank you for the great video! Is it possible to transmit data from sensors(ex. Temperature, pm 2.5 etc.) from one HC-12 to another? If yes could you please show some example codes?
Very Important lesson. But in my case i used FU 4 mode, 1200 burd rate, transmission power P8. but its not work 1.8 km. its working around 350-450 m only.
I have encountered a problem where i cannot get more than 4m range with HC12 modules with small spring type antenna which was enclosed in the module, I did tried all the settings but no luck! Appreciate any help.
Hello! Sir I'm working on a energy monitoring project fro which I am using Hc-12 module for data transmission as it is quite cheap and easily accessible. Sir i am exactly using the same code as yours for checking the wireless communication between the modules and i am also using one uno and one mega but their is exchange of messages between the two serial monitors then i exactly followed your steps to ground the SET pin for configuring AT commands I am not able to get any responce from either of the modules, sir can you help me out with this that what i am doing wrong?
Hi Tom. Great video. I'm trying to send an analogue value to another Arduino (both with HC 12) and display it on an LCD . I can't get the receiver to pick up anything. The sender has its TX led on so I'm guessing it's sending the data across but nothing's picked up at the other end. I've tried messing around with the coding but with no luck. Is there a special code for analogue sending? Please can you help?
Hi. Nice tutorial. I would like to ask if is possible to write code for checking signal strength while increasing distance. I mean like wireless we can see 100% when close and less when further up.
I'm new with this, but Sir, I have a question , if I have 2 senders and 1 receiver, is possible to configure it for receive from 1 and later from 2? or another way to differentiate from each other in the print.
You can use multiple senders to receive with one ore more receivers. You have to encode/decode your messages sent/reveived to verify you have the right message from the right sender. So yes you can :) Have a good one and enjoy your project. Cheers
Dear Tom, U have said that FU4 is the best for 1.8Km... so if I need to communicate between two arduinos set 1.8km apart, how Should I combine the codes to make it work in FU4 and send commands? thank you, Appreciated for this video
Why resistor on push-button? On your video at 03:00 - If on pin 8, why not declare in setup(), "pinMode(8,INPUT_PULLUP);" then change in sketch "if (buttonState ==0) {do something useful}" instead "if (buttonState==1)... Or, here is simple sketch for learning button press code: void setup() { pinMode (8,INPUT_PULLUP); } void loop() { if (!digitalRead(8)) { digitalWrite(13,1); delay(100); //debouncing trick, waiting 100 mS button to settle } else { digitalWrite(13,0); delay(100); //debouncing... } } Note "if (!digitalRead(8))" - this means if pin 8 on arduino is not 1 (it is 1 because of INPUT_PULLUP statement above) when not pressed. Button goes from pin 8 to GND - Not from pin 8 to +5 or +3.3V and with resistor to GND (where then should be without exclamation mark "if(digitalRead(8)), which means if pin 8 is TRUE, or HIGH, or 1. It is okay to use resistor for just one button, but what if you have tens of buttons?! Zillion resistors on small breadboard?! Or just simply declare pinMode(buttonPin, INPUT_PULLUP), and MCU will provide "weak pull-up" resistor by partially opening one dedicated FET or MOSFET. If it sounds complicated - it is just confusing at beginning, and I believe that every tutorial should bring more learning opportunities, not just "copy/paste" sketch, which is for most cases okay, but people want to learn more and use its own brain to develop good sketches. Thanks.
You can even use a map function, for example: x=map(y,0,1,1,0);and now when u press the button, it will turn on the LED(for example)like a normal button; Moreover, you can continue your code normally without any confusion(if u had a huge code).
If there will be 3 hc 12 how to differentiate between them ,to whom to send data. And any other hc12 can also get our data having same freq. Is there any security level on hardware side.?