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!
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.
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.