RFD900X
Moe RFD Harnesses: RFD Telem Tower Schematic RFD to PIXHAWK Harness
Note the RFD900 is different from the RFD900X
Power/Thermal Analysis
From datasheet https://files.rfdesign.com.au/Files/documents/RFD900%20DataSheet.pdf power output for RF is 30 dbm max is roughly 1 Watt. Max input power is 5.5 V at 1 A roughly gives 5.5 W. This means worst case the RFD device is dissipating 5.5 - 1 = 4.5 W of power as heat. at 85 C max you could do the math for thermal impedance of case and ambient but it becomes kinda approximate.
Testing the communication between 2 RFD900X.
Setup:
This diagram is provide by the RF Design. reference manual: https://bzbuas.com/wp-content/uploads/2020/12/rfd900x-manual.pdf
In order to configure the RFD 900x, 2 Steps are needed.
Step 1: connect the FTDI cable to the RFD 900x from Pin 1- 11 [(odd pins only) & black wire correspond to pin 1] and then connect the pin 4 with pin 6.
A pair of RFD 900x needs to plug into the computer in order to configure. The configuration can be done using RFDesign GUI configuration tool or the mission planner.
The RFD900x status light have different meaning.
Green light:
flashing: finding other radio
solid: connected with another radio
Red Light:
Flashing: sending the data
Solid: In firmware update mode
During data transmission:
Step 1: choose a USART port in STM32 Port. Select the mode to be Asychronous. Please make sure that the Buad rate is the same between two devices.
note the buad rate used for transmit between device is 46000kbits/s. Inside the rfd config tool it is called the air rate.
the first buad rate is the communication between the computer and the rfd900 note 115200 is beyond most of the computer specification.
Step 2: connect the Rx pin on RFD 900 to the TX pin configured for the UART communication, and the Tx pin on RFD 900 to the Rx pin configured for the UART communication on STM32.
Step 3: call the standard library function
HAL_UART_Transmit (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
HAL_UART_Receive (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
to send data between RFD 900x.
stupid things that might occur:
do not use transmit and recieve on usart2 and then view it on computer, cuz it will not showing you use any port but just recieve the data directly through uart
please note that HAL_UART_Transmit and HAL_UART_Recieve only accept pointer on the second argument
Hal library reference web: STM32F439xx HAL User Manual: IO operation functions
A flight harness for the RFD900X can be found in RFD to PIXHAWK Harness