433MHz Transmitter & Receiver Modules with Antenna (HCMODU0151)

Wireless and wired modules including Bluetooth, Ethernet, and IR kits.
Post Reply
admin
Site Admin
Posts: 786
Joined: Sun Aug 05, 2012 4:02 pm

433MHz Transmitter & Receiver Modules with Antenna (HCMODU0151)

Post by admin » Fri Sep 18, 2020 12:42 pm

***COMING SOON***

IMAGE TBA



Low cost superheterodyne receiver and ASK transmitter. The transmitter consists of a single digital input pin that, when pulled high, will cause the transmitter to continuously transmit a signal at 433MHz. Conversely the receiver has a single digital output pin that is high when a signal is received. The simplicity of these modules makes them ideal for applications where low power and low data rate (4Kbps) applications are required. The modules operates on a single channel so multiple transmitters can transmit to a single receiver and vice versa.


For Arduino users we have created an exclusive library (HCWireless) that makes transferring data over these modules as simple as possible.


RECEIVER MODULE PARAMETERS:
Product Code: HCMODU0151
Model: MX-05V
Working voltage: 5V DC quiescent current: 4mA
Receiver Frequency: 433.92MHZ
Receiver sensitivity:-105DB
Size: 30 * 14 * 7mm


TRANSMITTER MODULE PARAMETERS:
Product Code: HCMODU0151
Model: MX-FS-03V
Transmission Distance :20-30m (dependent on supply voltage)
Operating Voltage :3.5-12V
Dimensions: 19 * 19mm
AM transfer rate: 4Kb/s (4000 bits per second)
Transmission power: 10mW
Emission frequency: 433M

PINOUTS:

Image



MX-FS-03V Schematic:

Image

MX-05V Schematic:

Image



Example 'Blink' Tx Sketch:
  1. /* FILE:    HCWireless_Blink_Tx_Example.ino
  2.    DATE:    19/06/19
  3.    VERSION: 1.0
  4.    AUTHOR:  Andrew Davies
  5.    
  6. 19/06/19 version 1.0: Original version
  7.  
  8. This sketch demonstrates how to use the HCWireless library to remotely control the
  9. state of an LED connected to the Arduino at the receiving end. This sketch should be used
  10. in conjunction with the HCWireless_Blink_Rx_Example at the receiving end.
  11.  
  12. Currently this sketch supports the following products:
  13.  
  14. 433MHz wireless transmitter MX-FS-03V & receiver modules MX-05 available via our store
  15. https://hobbycomponents.com/wired-wireless/168-433mhz-wireless-modules-mx-fs-03v-mx-05
  16.  
  17.  
  18. This library is provided free to support the open source community.
  19. We spend most of our time creating free content like this because we genuinely
  20. want to support the open source community. PLEASE SUPPORT US so that we can
  21. continue to create free content by purchasing products from our store -
  22. HOBBYCOMPONENTS.COM
  23.  
  24.  
  25. You may copy, alter and reuse this code in any way you like, but please leave
  26. reference to HobbyComponents.com in your comments if you redistribute this code.
  27. This software may not be used directly for the purpose of selling products that
  28. directly compete with Hobby Components Ltd's own range of products.
  29. THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO WARRANTIES, WHETHER
  30. EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
  31. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
  32. HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
  33. INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
  34. REASON WHATSOEVER.
  35. */
  36.  
  37. #include "HCWireless.h"
  38.  
  39. // Digital pin used to connect to the Tx modules data input pin
  40. #define TX_PIN 8
  41.  
  42. // Create an instance of the library
  43. HCWireless HCWireless;
  44.  
  45. boolean ledState = false;
  46.  
  47. void setup()
  48. {
  49.   // Initialise the Tx part of the library
  50.   HCWireless.txInit(TX_PIN);
  51. }
  52.  
  53.  
  54. void loop()
  55. {
  56.   // Send the current state of the LED
  57.   HCWireless.send(ledState);
  58.  
  59.   // Toggle to LED state and wait 1 second before sending the new state
  60.   ledState = !ledState;
  61.   delay(1000);
  62. }


Example 'Blink' Rx Sketch:


  1. /* FILE:    HCWireless_Blink_Rx_Example.ino
  2.    DATE:    19/06/19
  3.    VERSION: 1.0
  4.    AUTHOR:  Andrew Davies
  5.    
  6. 19/06/19 version 1.0: Original version
  7.  
  8. This sketch demonstrates how to use the HCWireless library to remotely control the
  9. state of an LED connected to the Arduino at the receiving end. This sketch should be used
  10. in conjunction with the HCWireless_Blink_Tx_Example at the transmitting end.
  11.  
  12. Currently this sketch supports the following products:
  13.  
  14. 433MHz wireless transmitter MX-FS-03V & receiver modules MX-05 available via our store
  15. https://hobbycomponents.com/wired-wireless/168-433mhz-wireless-modules-mx-fs-03v-mx-05
  16.  
  17.  
  18. This library is provided free to support the open source community.
  19. We spend most of our time creating free content like this because we genuinely
  20. want to support the open source community. PLEASE SUPPORT US so that we can
  21. continue to create free content by purchasing products from our store -
  22. HOBBYCOMPONENTS.COM
  23.  
  24.  
  25. You may copy, alter and reuse this code in any way you like, but please leave
  26. reference to HobbyComponents.com in your comments if you redistribute this code.
  27. This software may not be used directly for the purpose of selling products that
  28. directly compete with Hobby Components Ltd's own range of products.
  29. THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO WARRANTIES, WHETHER
  30. EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
  31. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
  32. HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
  33. INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
  34. REASON WHATSOEVER.
  35. */
  36.  
  37. #include "HCWireless.h"
  38.  
  39. // Digital pin connected to the Rx modules data output pin
  40. #define RX_PIN 8
  41. // Digital pin connected to the LED
  42. #define LED_PIN 13
  43.  
  44. // Set the size of the Rx buffer in bytes (max = 255 bytes)
  45. #define RX_BUFFER_SIZE 20
  46.  
  47. // Create an instance of the library
  48. HCWireless HCWireless;
  49.  
  50.  
  51.  
  52. void setup()
  53. {
  54.   Serial.begin(9600);
  55.  
  56.   // Initialise the Rx part of the library
  57.   boolean result = HCWireless.rxInit(RX_PIN, RX_BUFFER_SIZE);
  58.  
  59.   if(!result)
  60.   {
  61.     Serial.println("Error: Can't allocate memory for Rx buffer");
  62.     while(1);
  63.   }
  64.  
  65.   pinMode(LED_PIN, OUTPUT);
  66. }
  67.  
  68.  
  69.  
  70. void loop()
  71. {
  72.   // Check to see if an LED state has been received...
  73.   if(HCWireless.available())
  74.   {
  75.     // ...if so then get the state and write it to the LED pin
  76.     boolean state = HCWireless.readByte();
  77.    
  78.     digitalWrite(LED_PIN, state);
  79.   }
  80. }



Example Send Message Tx Sketch:

  1. /* FILE:    HCWireless_Send_Text_Tx_Example.ino
  2.    DATE:    19/06/19
  3.    VERSION: 1.0
  4.    AUTHOR:  Andrew Davies
  5.    
  6. 19/06/19 version 1.0: Original version
  7.  
  8. This sketch demonstrates how to use the HCWireless library to send a string
  9. of text to the receiver. This sketch should be used in conjunction with the
  10. HCWireless_Send_Text_Rx_Example at the receiving end.
  11.  
  12. Currently this sketch supports the following products:
  13.  
  14. 433MHz wireless transmitter MX-FS-03V & receiver modules MX-05 available via our store
  15. https://hobbycomponents.com/wired-wireless/168-433mhz-wireless-modules-mx-fs-03v-mx-05
  16.  
  17.  
  18. This library is provided free to support the open source community.
  19. We spend most of our time creating free content like this because we genuinely
  20. want to support the open source community. PLEASE SUPPORT US so that we can
  21. continue to create free content by purchasing products from our store -
  22. HOBBYCOMPONENTS.COM
  23.  
  24.  
  25. You may copy, alter and reuse this code in any way you like, but please leave
  26. reference to HobbyComponents.com in your comments if you redistribute this code.
  27. This software may not be used directly for the purpose of selling products that
  28. directly compete with Hobby Components Ltd's own range of products.
  29. THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO WARRANTIES, WHETHER
  30. EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
  31. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
  32. HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
  33. INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
  34. REASON WHATSOEVER.
  35. */
  36.  
  37.  
  38. #include "HCWireless.h"
  39.  
  40. // Digital pin used to connect to the Tx modules data input pin
  41. #define TX_PIN 8
  42.  
  43. // Create an instance of the library
  44. HCWireless HCWireless;
  45.  
  46.  
  47. void setup()
  48. {
  49.   // Initialise the Tx part of the library
  50.   HCWireless.txInit(TX_PIN);
  51. }
  52.  
  53.  
  54. void loop()
  55. {
  56.   // Send some text once a second.
  57.   HCWireless.send("Hello");
  58.   HCWireless.send("World!");
  59.   delay(1000);
  60. }


Example Send Message Rx Sketch:

  1. /* FILE:    HCWireless_Send_Text_Rx_Example.ino
  2.    DATE:    19/06/19
  3.    VERSION: 1.0
  4.    AUTHOR:  Andrew Davies
  5.    
  6. 19/06/19 version 1.0: Original version
  7.  
  8. This sketch demonstrates how to use the HCWireless library to receive a string
  9. of text from the transmitter. This sketch should be used in conjunction with the
  10. HCWireless_Send_Text_Tx_Example at the transmitting end.
  11.  
  12. Currently this sketch supports the following products:
  13.  
  14. 433MHz wireless transmitter MX-FS-03V & receiver modules MX-05 available via our store
  15. https://hobbycomponents.com/wired-wireless/168-433mhz-wireless-modules-mx-fs-03v-mx-05
  16.  
  17.  
  18. This library is provided free to support the open source community.
  19. We spend most of our time creating free content like this because we genuinely
  20. want to support the open source community. PLEASE SUPPORT US so that we can
  21. continue to create free content by purchasing products from our store -
  22. HOBBYCOMPONENTS.COM
  23.  
  24.  
  25. You may copy, alter and reuse this code in any way you like, but please leave
  26. reference to HobbyComponents.com in your comments if you redistribute this code.
  27. This software may not be used directly for the purpose of selling products that
  28. directly compete with Hobby Components Ltd's own range of products.
  29. THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO WARRANTIES, WHETHER
  30. EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
  31. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
  32. HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
  33. INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
  34. REASON WHATSOEVER.
  35. */
  36.  
  37.  
  38. #include "HCWireless.h"
  39.  
  40. // Digital pin used to connect to the Rx modules data output pin
  41. #define RX_PIN 8
  42.  
  43. // Set the size of the Rx buffer in bytes (max = 255 bytes)
  44. #define RX_BUFFER_SIZE 20
  45.  
  46.  
  47. // Create an instance of the library
  48. HCWireless HCWireless;
  49.  
  50. // Character array used to store the received string. Note that this array must be big
  51. // enough to hold the string being received (including 1 byte for the strings null termination)
  52. char buffer[10];
  53.  
  54.  
  55. void setup()
  56. {
  57.   Serial.begin(9600);
  58.  
  59.   // Initialise the Rx part of the library
  60.   boolean result = HCWireless.rxInit(RX_PIN, RX_BUFFER_SIZE);
  61.  
  62.   if(!result)
  63.   {
  64.     Serial.println("Error: Can't allocate memory for Rx buffer");
  65.     while(1);
  66.   }
  67. }
  68.  
  69.  
  70. void loop()
  71. {
  72.   // Check to see if any data has been received...
  73.   byte size = HCWireless.available();
  74.  
  75.   // ...if so then transfer the data into the buffer and then print it out.
  76.   if(size)
  77.   {
  78.      HCWireless.readBytes(buffer, size);
  79.      Serial.println(buffer);
  80.   }
  81. }



Example Send Structure Tx Sketch:

  1. /* FILE:    HCWireless_Send_Struct_Tx_Example.ino
  2.    DATE:    19/06/19
  3.    VERSION: 1.0
  4.    AUTHOR:  Andrew Davies
  5.    
  6. 19/06/19 version 1.0: Original version
  7.  
  8. This sketch demonstrates how to use the HCWireless library to transmit the contents of
  9. a structure. This sketch should be used in conjunction with the HCWireless_Send_Struct_Rx_Example
  10. at the receiving end.
  11.  
  12. Currently this sketch supports the following products:
  13.  
  14. 433MHz wireless transmitter MX-FS-03V & receiver modules MX-05 available via our store
  15. https://hobbycomponents.com/wired-wireless/168-433mhz-wireless-modules-mx-fs-03v-mx-05
  16.  
  17.  
  18. This library is provided free to support the open source community.
  19. We spend most of our time creating free content like this because we genuinely
  20. want to support the open source community. PLEASE SUPPORT US so that we can
  21. continue to create free content by purchasing products from our store -
  22. HOBBYCOMPONENTS.COM
  23.  
  24.  
  25. You may copy, alter and reuse this code in any way you like, but please leave
  26. reference to HobbyComponents.com in your comments if you redistribute this code.
  27. This software may not be used directly for the purpose of selling products that
  28. directly compete with Hobby Components Ltd's own range of products.
  29. THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO WARRANTIES, WHETHER
  30. EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
  31. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
  32. HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
  33. INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
  34. REASON WHATSOEVER.
  35. */
  36.  
  37. #include "HCWireless.h"
  38.  
  39. // Digital pin used to connect to the Tx modules data input pin
  40. #define TX_PIN 8
  41.  
  42. // Create an instance of the library
  43. HCWireless HCWireless;
  44.  
  45.  
  46. // Create a structure to send
  47. typedef struct
  48. {
  49.   byte testByte;
  50.   int  testInt;
  51.   float testFloat;
  52.   boolean testBoolean;  
  53. } teststruct;
  54.  
  55. teststruct data;
  56.  
  57. void setup()
  58. {
  59.   // Initialise the Tx part of the library
  60.   HCWireless.txInit(TX_PIN);
  61.  
  62.   // Put some test data into the structure
  63.   data.testByte = 12;
  64.   data.testInt = -3456;
  65.   data.testFloat = 0.78;
  66.   data.testBoolean = true;
  67. }
  68.  
  69.  
  70. void loop()
  71. {
  72.   // Send the contents of the structure once a second.
  73.   HCWireless.send(data);
  74.   delay(1000);
  75. }


Example Send Structure Rx Sketch:

  1. /* FILE:    HCWireless_Send_Struct_Rx_Example.ino
  2.    DATE:    19/06/19
  3.    VERSION: 1.0
  4.    AUTHOR:  Andrew Davies
  5.    
  6. 19/06/19 version 1.0: Original version
  7.  
  8. This sketch demonstrates how to use the HCWireless library to transmit the contents of
  9. a structure. This sketch should be used in conjunction with the HCWireless_Send_Struct_Tx_Example
  10. at the transmitting end.
  11.  
  12. Currently this sketch supports the following products:
  13.  
  14. 433MHz wireless transmitter MX-FS-03V & receiver modules MX-05 available via our store
  15. https://hobbycomponents.com/wired-wireless/168-433mhz-wireless-modules-mx-fs-03v-mx-05
  16.  
  17.  
  18. This library is provided free to support the open source community.
  19. We spend most of our time creating free content like this because we genuinely
  20. want to support the open source community. PLEASE SUPPORT US so that we can
  21. continue to create free content by purchasing products from our store -
  22. HOBBYCOMPONENTS.COM
  23.  
  24.  
  25. You may copy, alter and reuse this code in any way you like, but please leave
  26. reference to HobbyComponents.com in your comments if you redistribute this code.
  27. This software may not be used directly for the purpose of selling products that
  28. directly compete with Hobby Components Ltd's own range of products.
  29. THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO WARRANTIES, WHETHER
  30. EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
  31. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
  32. HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
  33. INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
  34. REASON WHATSOEVER.
  35. */
  36.  
  37. #include "HCWireless.h"
  38.  
  39. // Digital pin connected to the Rx modules data output pin
  40. #define RX_PIN 8
  41.  
  42. // Set the size of the Rx buffer in bytes (max = 255 bytes)
  43. #define RX_BUFFER_SIZE 20
  44.  
  45. // Create an instance of the library
  46. HCWireless HCWireless;
  47.  
  48. // Create a structure to hold the received data
  49. typedef struct
  50. {
  51.   byte testByte;
  52.   int  testInt;
  53.   float testFloat;
  54.   boolean testBoolean;  
  55. } teststruct;
  56.  
  57. teststruct data;
  58.  
  59.  
  60. void setup()
  61. {
  62.   Serial.begin(9600);
  63.  
  64.   // Initialise the Rx part of the library
  65.   boolean result = HCWireless.rxInit(RX_PIN, RX_BUFFER_SIZE);
  66.  
  67.   if(!result)
  68.   {
  69.     Serial.println("Error: Can't allocate memory for Rx buffer");
  70.     while(1);
  71.   }
  72. }
  73.  
  74.  
  75. void loop()
  76. {
  77.   // Check to see if any data has been received...
  78.   byte size = HCWireless.available();
  79.  
  80.   if(size)
  81.   {
  82.     // ...if so then transfer the data out of the Rx buffer and into the structure
  83.     HCWireless.read(data);
  84.  
  85.     // Print out the contents of the structure
  86.     Serial.println(data.testByte);
  87.     Serial.println(data.testInt);
  88.     Serial.println(data.testFloat);
  89.     Serial.println(data.testBoolean);
  90.     Serial.println();
  91.   }
  92. }




HCWireless Library:


The HCWireless library for the above sketches can be downloaded from the software section of out support forum here:

http://forum.hobbycomponents.com/viewto ... =58&t=2914





FAQ

Can I transmit to more than one receiver?

Yes, all modules operate on the same channel so any receiver will receive data from any transmitter in range.

Can I receive data from more than one transmitter?


Yes, see above.

What is the fastest data rate I can send using these modules?

You can seen a maximum of 4000 (4Kb/s) bits per second. Please note that the receiver has an auto gain circuit and when not receiving a signal will set its gain to maximum. When this occurs the output pin on the receiver may randomly toggle as it picks up random signals or noise. Therefore when transmitting a signal to the receiver the transmitter must fist send a preamble signal of ~15ms to allow the receiver to adjust it's gain to the correct level.




Disclaimer: Libraries, example code, and diagrams within this forum thread are provided as an additional free service by Hobby Components and are not sold as part of any product. We do not provide any guarantees or warranties as to their accuracy or fitness for purpose.

Descriptions and diagrams on this page are copyright Hobby Components Ltd and may not be reproduced without permission.

Post Reply