Arduino Feld Hell Beacon on the Si5351A Breakout Board
The Si5351A is well-suited to generating digital modes which are based on frequency shift or on-off keying. One of the more venerable digital modes in our arsenal is Hellschreiber (or Feldhellschreiber, shortened to Feld Hell for the purposes of this post), which has enjoyed a modest bit of resurgence in recent years on the ham bands. Since Feld Hell is based off of on-off keying at a particular rate, it is fairly easily implemented with an Arduino Uno and the Si5351A Breakout Board. The code for this example is graciously provided by Robert Liesenfeld, AK6L, and is based on original code for a Feld Hell beacon using the AD9850 DDS from Mark VandeWettering, K6HX.
The Arduino sketch simply generates a repeating bit of Feld Hell text on any desired frequency within the output range of the Si5351. You may change the transmission frequency, beacon text, and transmission interval to customize the sketch for your own needs. Below, you can see an example of the sketch running here with a bit of wire connected to the Si5351A Breakout Board output as an antenna, and received on the main station rig, the Icom IC-718.
We have also recorded a short video of the setup in action, so that you can see how simple the basic setup is and how it looks and sounds when it is transmitting. The Si5351A can provide a maximum output power of approximately +10 to +13 dBm into a 50 Ω load, so this beacon transmitter will be quite low powered unless you add an amplifier to it (we’ll post a companion amplifier schematic soon).
Bill of Materials
|Arduino Uno (can substitute other variants)||1|
|Etherkit Si5351A Breakout Board||1|
|Low Pass Filter||1|
|RF connectors of choice|
|Terminal||Arduino Uno Pin|
Simply load the sketch onto your Arduino Uno, connect the power and I2C lines from the Uno to the Si5351A Breakout Board and then connect an appropriate low-pass filter to the output of the Si5351A Breakout Board CLK0 (or the output of the amplifier, if you are using one). Connect the output of the low-pass filter to a dummy load, then provide power to the Uno, Si5351A Breakout Board, and amplifier (if applicable). Then use your favorite digimode program and a PC-connected receiver to monitor your transmission in order to ensure that your setup is working correctly. Once you are satisfied that is the case, connect the output of the low-pass filter to an antenna in order to transmit your Feld Hell beacon on the air.
Since the timing of the Feld Hell depends on the oscillator on the Arduino Uno, there’s a good chance that when you first run the sketch, the Feld Hell text will be skewed a bit more than you would like, simply based on the variation in the 16 MHz oscillators used in the Arduino Uno. In order to counter this, it is simplest to tweak the timer compare value used to trigger the modulation. This is the hexadecimal value 0xFF1A in line 189 of the sketch. Try tweaking this up or down a bit in order to get the timing right.
Extending the Transmitter
With only about 10 to 20 mW of output power, it will be tough to hear this beacon barefoot, so some sort of amplifier would be very useful to bring the output level to a point where you can reasonably expect to be heard. In the near future, we intend to publish an example design for a linear amplifier that will bring the output power up to 500 mW, and will update this post with the link to it when it is ready.