FrSky D4R-ii – components, layout, and pinout

Disclosure: This post may contain affiliate links, meaning I get a commission if you decide to make a purchase through my links, at no cost to you.

By | September 7, 2016

While i was porting my OpenSky firmware to the D4R-ii receiver i made this collection of used parts and created a pin mapping. Maybe this is useful to someone in the future.

Components used

CPU: STM32F103C8 [Datasheet]
EEPROM: 24C02 [Datasheet]
RF Chip: CC2500 [Datasheet]
HF-SWITCH: RDAES02 [Datasheet]
PA/LNA: RDAT212 [Datasheet]

RF Path

The overall path from CPU to the antennas is organized this way:

STM32 <==> CC2500 <==> SW1 <===> LNA/PA <==> SW2 <===> ANT1/2

Pinouts

I created these pin mappings by taking measurements with a multimeter, i only traced the pins that are needed for normal operation, is skipped most of the supply voltages etc.

ANT SW1

1 = RX  = T212.4 (LNA OUT)
2 = GND = GND
3 = TX  = T212.2 (PA_IN_P)
4 = CTX = STM32.38 (PA15, PULLUP VCC, CAP TO GND)
5 = ANT = --> CC2500
6 = CRX = STM32.40 (PB4, PULLUP VCC, CAP TO GND)

PA/LNA T212

 1 = PA_IN_N   = ?
 2 = PA_IN_P   = SW1.3
 3 = Power Det = ? OPEN?
 4 = LNA OUT   = SW1.1
 5 = SW_PA     = STM32.38 (PA15, PULLUP VCC, CAP TO GND)
 6 = SW_LNA    = STM32.40 (PB4, PULLUP VCC, CAP TO GND)
 7 = SW_RX     = STM32.40 (PB4, PULLUP VCC, CAP TO GND)
 8 = SW_TX     = STM32.38 (PA15, PULLUP VCC, CAP TO GND)
 9 = ANT       = SW2.5 (ANT)
10 = NC        = NC
11 = NC        = NC
12 = NC        = NC
13 = LNAVCC    = ...
14 = PAVCC1    = ...
15 = VCBias    = ...
16 = PAVCC2    = ...

ANT SW2

1 = RX  = ANTENNA E2
2 = GND = GND
3 = TX  = ANTENNA E1
4 = CTX = STM32.4 (PC15, NO PULLx, CAP TO GND)
5 = ANT = T212.9 (ANT)
6 = CRX = STM32.3 (PC14, NO PULLx, CAP TO GND)

EEPROM 24C02

1 = ADDRESS0 = VCC (PULLUP 10K)
2 = ADDRESS1 = GND
3 = ADDRESS2 = GND
4 = GND      = GND
5 = SDA      = STM32.43 (PB7, PULLUP 10K)
6 = SCL      = STM32.42 (PB6, PULLUP 10K)
7 = WP       = STM32.45 (PB8, PULLUP 10K)
8 = VCC      = VCC

RF CC2500

 1 = SCLK      = STM32.15 (PA5, SPI1_SCK)
 2 = SO (GDO1) = STM32.16 (PA6, SPI1_MISO)
 3 = GDO2      = STM32.13 (PA3, misc)
 4 = DVDD      = ...
 5 = DCOUPL    = ...
 6 = GDO0 ATST = only connected to Testpad (PAD) ??
 7 = CSn       = STM32.14 (PA4, SPI1_NSS)
 8 = XOSC_Q1   = 26MHZ crystal
 9 = AVDD      = ...
10 = XOSC_Q2   = 26MHZ crystal
11 = AVDD      = ...
12 = RF_P      = SW1 via some filtering network
13 = RF_N      = SW1 via some filtering network
14 = AVDD      = ...
15 = AVDD      = ...
16 = GND       = ...
17 = RBIAS     = ...
18 = DGUARD    = ...
19 = GND       = ...
20 = SI        = STM32.17 (PA7, SPI1_MOSI)

CPU STM32

 5 = OSC_IN  = 12MHZ crystal
 6 = OSC_OUT = 12MHZ crystal
...
11 = PA1     = ADC12_IN1 = --[330]--- AIN Pin [4PIN]
12 = PA2     = ADC12_IN2 = --[330]--- voltage divider to Vsupply
...
18 = PB0     = ---[220R]--- OUT1
19 = PB1     = ---[220R]--- OUT2
20 = PB2     = ---[220R]--- OUT3 (PU or PD from PB2 as well!)
21 = PB10    = ---[220]--- OUT4 (is USART3_TX)
...
29 = PA8     = BIND BUTTON (switches to GND)
30 = PA9     = UART TX --[INVERTER]--- TX Pin [4PIN]
31 = PA10    = UART RX --[INVERTER]--- RX Pin [4PIN]
32 = PA11    = LED D3 (IO --|>|---[330R]---GND)
33 = PA12    = LED D4 (IO --|>|---[330R]---GND)
34 = PA13    = SWDIO ---[R12]--- GND
...
37 = PA14    = SWDCLK ---[RP2.4 - 10K]--- VCC (?)
...
44 = BOOT0   = PULLDOWN 10K, jumper pad R19 has VCC
...

All information is supplied without guarantee. If you find a mistake please let me know!

2 thoughts on “FrSky D4R-ii – components, layout, and pinout

  1. josh

    what would be cool is to port openground the the D4R-ii, no lcd just a stock firmware that sends stick positions and can bind using a bind button, all things like failsafe are a preset. then you can use the pins on the D4R-ii to then plug in your pots and switches.

    Reply
    1. fishpepper Post author

      Should be quite easy to do. Before starting my work in the i6s i thought about something similar with a d4r-ii and some cheap oled display.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *