I used the xxd BSD tool to export the binary data as a uint8_t array, which the AVR can then read and transmit, one byte at a time.
I used the exact same code to send images after encoding them to SSDV. Once the tuning is done in GQRX, the audio output is sent to dl-fldigi through Soundflower. Once the radio module is wired and the Arduino transmitting, the reception uses a £10 Software-Defined Radio receiver, which output is sent to GQRX. _delay_ms(2000) // 2 seconds between messages. Copy the message pointer and send each character until #define RADIO_PIN 5 // PORTB -> pin 13Ĭonst char* message = "RTTY TEST BEACON\n" When no data is being transmitted, the line is held high. Each sequence of eight bits is preceded by a start bit (0) and followed by two stop bits (1). The AVR code is fairly basic: for each bit sent to the radio, the radio pin is pulled low or high, and then the programme waits a set amount of time before sending the next bit. The 0.26V shift gives a ~520Hz frequency shift. With two 4.7kΩ resistors and a 43kΩ to the Arduino pin, logical 0 yields 2.37V, logical 1 yields 2.63V. The voltage divider will convert the logic levels (0V and 3.3V/5V) to two voltages determined by the three resistors’ values. Raspberry Pis don’t have a real-time clock, and thus can’t generate a precise PWM signal on GPIO pins.īy using a voltage divider on the TXD pin instead, I can use a digital pin. This could potentially introduce perturbations in the RF frequency. The first version of the circuit used one of the Arduino PWM pins, to apply two different levels of voltage to the NTX2B (logical 0 and 1).Īpplying a given voltage is done through PWM, which means the pin oscillates fast between 0V and 5V. The module operates in the 434.75 MHz band at 10 mW, which is one of the few bands that can be used for airborne transmission in the UK.
My goal this week was to get the most basic radio communications setup working: Arduino or Raspberry Pi at one end, transmitting data (text and images) to a computer acting as the ground station.īecause of frequencies and power limitations in the UK, the module I’ve used so far is the Radiometrix NTX2B.