Arduino Projects Online

Complete Details about the Arduino

Build Your Own Radio Beacons

Build Your Own Radio Beacons A radio beacon is a wireless device that marks a fixed location and allows direction-finding equipment to locate it. It transmits a continuous or periodic radio signal with limited information content — for example, its identification or location — on a specified radio frequency, which is picked up by direction-finding systems on ships, aircraft, and vehicles to determine the location of the device. Occasionally, the beacon function is combined with some other transmission, like telemetry data or meteorological information.

Last summer, I fabricated a radio beacon with the help of some extra components in my junk box. I couldn’t find the schematic drawing/breadboard, so I went ahead and started an advanced design. Now I am waiting for some components from abroad to show up for my prototype; in the meantime, I wanted to share some of my ideas on radio beacons.

Also Read:

The 555 RF Beacon

The RF beacon transmitter presented here is by no means new and has been covered many times, but by using only a 555 timer chip and some other basic components, it keeps the finished circuit small and simple. It’s basically a short-range LW transmitter (an empty-carrier beacon oscillator) with a small wire antenna. Components R1, R2, and C1 control the output frequency of this battery-powered oscillator.

Build Your Own Radio Beacons

You can find the transmission of this beacon by tuning a nearby radio to about 230 KHz. Note that, since this beacon lacks the support of an RF output amplifier, its output is limited to a very short distance (5–15 feet). Fortunately, the addition of even a simple RF output amplifier will greatly increase the range of the beacon. You can also mix a tone generator to modulate the carrier so you have a good chance of finding the beacon signal than if you only transmitted an empty carrier.

An Arduino Morse Beacon

The Arduino Morse Beacon project discussed below, while useful, is simply a trivial Morse code generator that delivers the pre-defined beacon message through the Arduino’s D13 output. The sketch below (with built-in Morse table) is actually an adaptation of a noteworthy open-source work by Mark VandeWettering (k6hx@arrl.net). It simply puts a logic-high state (H) on D13 output whenever the keydown should occur and a logic-low state (L) when it is released.

  1. /*
  2. An Arduino Morse Beacon
  3. Adaptation of a work by Mark VandeWettering
  4. Authored & Tested by T.K.Hareendran
  5. */
  6.  
  7.  
  8. struct t_mtab { char c, pat; } ;
  9.  
  10. struct t_mtab morsetab[ ] = {
  11. {‘.’, 106},
  12. {‘,’, 115},
  13. {‘?’, 76},
  14. {‘/’, 41},
  15. {‘A’, 6},
  16. {‘B’, 17},
  17. {‘C’, 21},
  18. {‘D’, 9},
  19. {‘E’, 2},
  20. {‘F’, 20},
  21. {‘G’, 11},
  22. {‘H’, 16},
  23. {‘I’, 4},
  24. {‘J’, 30},
  25. {‘K’, 13},
  26. {‘L’, 18},
  27. {‘M’, 7},
  28. {‘N’, 5},
  29. {‘O’, 15},
  30. {‘P’, 22},
  31. {‘Q’, 27},
  32. {‘R’, 10},
  33. {‘S’, 8},
  34. {‘T’, 3},
  35. {‘U’, 12},
  36. {‘V’, 24},
  37. {‘W’, 14},
  38. {‘X’, 25},
  39. {‘Y’, 29},
  40. {‘Z’, 19},
  41. {‘1’, 62},
  42. {‘2’, 60},
  43. {‘3’, 56},
  44. {‘4’, 48},
  45. {‘5’, 32},
  46. {‘6’, 33},
  47. {‘7’, 35},
  48. {‘8’, 39},
  49. {‘9’, 47},
  50. {‘0’, 63}
  51. } ;
  52.  
  53. #define N_MORSE (sizeof(morsetab)/sizeof(morsetab[0]))
  54.  
  55. #define SPEED (12)
  56. #define DOTLEN (1200/SPEED)
  57. #define DASHLEN (3*(1200/SPEED))
  58.  
  59. int SIGpin = 13 ;
  60.  
  61. void
  62. dash()
  63. {
  64. digitalWrite(SIGpin, HIGH) ;
  65. delay(DASHLEN);
  66. digitalWrite(SIGpin, LOW) ;
  67. delay(DOTLEN) ;
  68. }
  69.  
  70. void
  71. dit()
  72. {
  73. digitalWrite(SIGpin, HIGH) ;
  74. delay(DOTLEN);
  75. digitalWrite(SIGpin, LOW) ;
  76. delay(DOTLEN);
  77. }
  78.  
  79. void
  80. send(char c)
  81. {
  82. int i ;
  83. if (== ‘ ‘) {
  84. Serial.print(c) ;
  85. delay(7*DOTLEN) ;
  86. return ;
  87. }
  88. for (i=0; i<N_MORSE; i++) {
  89. if (morsetab[i].== c) {
  90. unsigned char p = morsetab[i].pat ;
  91. Serial.print(morsetab[i].c) ;
  92.  
  93. while (!= 1) {
  94. if (& 1)
  95. dash() ;
  96. else
  97. dit() ;
  98. = p / 2 ;
  99. }
  100. delay(2*DOTLEN) ;
  101. return ;
  102. }
  103. }
  104. /* if we drop off the end, then we send a space */
  105. Serial.print(“?”) ;
  106. }
  107.  
  108. void
  109. sendmsg(char *str)
  110. {
  111. while (*str)
  112. send(*str++) ;
  113. Serial.println(“”);
  114. }
  115.  
  116. void setup() {
  117. pinMode(SIGpin, OUTPUT) ; // Signal Output Pin
  118. Serial.begin(9600) ;
  119. Serial.println(“An Arduino Morse Beacon”) ;
  120. Serial.println(“www.arduinopoint.wordpress.com”) ;
  121. Serial.println(“”) ;
  122. }
  123.  
  124. void loop() {
  125. sendmsg(“ESCOM BEACON”) ; // Custom Message
  126. delay(3000) ;
  127. }

If you are an adept radio hobbyist, it’s easy to interface the beacon signal output with your rig (through a simple switching circuit) for keying the rig in CW mode. The schematic of the add-on hardware (keying circuitry tested by me) is also included here.

Build Your Own Radio Beacons

The keying circuit is just a small reed relay (RL1) driven by an ordinary NPN transistor (T1) in tune with the input pulse(s) received from D13 output of the Arduino. Since an isolated electromagnetic relay is used, this basic design can be used for CW operation with almost all CW transmitters (high-voltage or low-voltage). Just connect the relay contacts (CW_SW) to the Morse code key (key) input terminals of your existing transmitter, as shown in the wiring diagram.

Dreams & Beacons

This article is only an introduction to radio beacons, filled with some snippets of my experiment-in-progress. While browsing for electronics on eBay, I came across an inexpensive DDS module being sold and shipped by an international eBay seller (and, unfortunately, not yet easily available in eBay India). The module is based on

— a CMOS, 125-MHz complete DDS synthesizer. The module is, in fact, a highly integrated device that uses advanced DDS technology coupled with an internal high-speed, high-performance D/A converter and comparator to form a complete digitally programmable frequency synthesizer. We only need to connect the power and control signals to exploit this module.

Build Your Own Radio Beacons

I will attempt to cover creating a unique, full-fledged, microcontroller-based HF beacon project (based on this module) in my next installment.

Updated: 14th July 2017 — 11:17 am
Arduino Projects Online © 2017 Frontier Theme