Open main menu

Changes

Add info from gx1400's data_dfm_RE repo, clean up formatting, add new graphics and new repo for T/H measurement
*Bandwidth: ~10 kHz (Website lists <12)
*Frequency range: 400 - 405.99 MHz
*Modulation: GFSK@ 1250 bits/s
*TX Power: ~100mW
*Error Correction: Code-spreading, interleaving
*SoC: STM32F100R8T6B, 24MHz, 8KB RAM, 64KB Flash
*GPS: Ublox U-Blox MAX-M8C-0-10
*Transmitter: Si4063
*Optional:
**XDATA interface (24 bytes/s)
**NFC ground check
**Barometric pressure sensor.
 
==Peripheral attachment points==
 
====LED's and Buttons====
 
*Button = PC8
*LED_Y = PC7
*LED_G = PC6
*LED_R = PB12
 
====uBlox GPS (USART_2) - U11====
 
*PA3(RX) = GPS TXD (Pin 2)
*PA2(TX) = GPS RXD (Pin 3)
*PB8 = GPS 1pps (Pin 4) (LED next to flex cable connector)
*PC14 = RESET
 
====UART via USB Port (USART_1)====
 
*PA9(TX) = USB D+
*PA10(RX) = USB D-
*PC2 = GND/VBus Pin?
 
====Si4063 (SPI_1) - U10====
 
*PB2 = CS/nSEL (Pin 15)
*PC3 - SDN (Pin 1)
*PA7 = SDI (Pin 14)
*PA6 = SDO (Pin 13)
*PA5 = SCLK (Pin 12)
*PD0 = GPIO2 (Pin 19)
*PA4 = GPIO3 (Pin 20)
 
====XDATA Header (2x2 pin unpopulated)====
 
*PB11 = Pin 3
*PB10 = Pin 2
**Pads need solder bridge or 0 ohm links. Pin 1 or 4 can be bridged to act as GND. I suspect the SOT23-6 footprint is populated when xdata is in use. Unknown where the xdata perhipheral would get VCC.
 
<gallery>
File:Xdata_pinout_dfm17.jpg|alt=xdata interface pinout|XDATA interface pinout, numbered for clarity. Not official.
</gallery>
 
==IC Attachment Points==
 
===STG719 (DPST) - U2===
 
*PC11 = IN (Pin 1)
 
===STG719 (DPST) - U3===
 
*PD2 = IN (Pin 1)
 
===STG719 (DPST) - U4===
 
*PB5 = IN (Pin 1)
 
===STG719 (DPST) - U5===
 
*PB4= IN (Pin 1)
 
===DG636 (Dual DPST) - U6===
 
*VDD = ENABLE (always HIGH) (Pin 2)
*PA11, PB0, PA1 = A0 (Pin 1)
*PC10 = A1 (Pin 14)
 
===STG719 (DPST) - U7===
 
*PC10 (routes under STM) = IN (Pin 1)
 
===SN74LV4053 (Triple 2Ch Mux/Demux) - U8===
 
*PB13 & PB14 = A (Pin 11)
**STM pins connected by trace? ''Why? Read back?''
*PC10 = B (Pin 10) & C (Pin 9)
**IC pins connected by trace
 
===LMV761 (Comparator) - U9===
*PA12 & PB15 = OUT (Pin 4 via cap)
 
===Analog Inputs to STM32===
 
*PA0 - Vbatt/Power supply voltage (needs confirmation, V measured at pin is VCC)
*PB1 - Vbatt/Power supply current monitor (needs confirmation, V measured at pin seems to match 1V = 1A)
 
===Battery Management IC===
 
*PC0 - Hold high to prevent BMS from removing battery power after boot up
 
===NFC/RFID 4k EEPROM - U12===
 
*PC13 = RF WIP/Busy (Pin 7)
*PB6 = SCL (Pin 6)
*PB7 = SDA (Pin 5)
*PC0 connected to Pin 1 (Vout)
** NFC antenna pads are below left side 3 pins of uBlox module
<br />
==Identified Supplementary IC's==
<gallery>
File:DFM-17 Uref overlay.jpg|alt=U reference designators overlaid|Top view of PCB with U reference designators overlaid
</gallery>
{| class="wikitable"
|+
IC Part Numbers and Markings
!
!Manufacturer
!Part Number
!Description
!Package
!Part Marking
!Datasheet
!Note
|-
|U1
|STMicroelectronics
|STM32F100R8T6B
|ARM MCU, 24MHz, 8KB RAM, 64KB Flash
|LQFP48
|ARM 32F100R8T6B
|[https://www.mouser.com/datasheet/2/389/stm32f100cb-1851080.pdf Mouser]
|''Some recent batches of the DFM-17 have been using knockoff STM32s! The chip shortage strikes again!''
|-
|U2, U3, U4, U5, U7
|ST
|STG719
|STG719STR Low Voltage 4 Ohm SPDT Switch
|SOT-23-6
|V719
|[https://www.mouser.com/datasheet/2/389/stg719-1850635.pdf Mouser]
|''Analog ADG719 pin compatible equivalent?''
|-
|U6
|Vishay
|DG636E
|0.3 pC Charge Injection, 100 pA Leakage
CMOS ± 5 V / 5 V / 3 V Dual SPDT Analog Switch
|TSSOP14
|636EE
|[https://www.mouser.com/datasheet/2/427/dg636e-1766306.pdf Mouser]
|
|-
|U8
|Texas Instruments
|SN74LV4053A
|Triple 2-Channel Analog Multiplexer/Demultiplexer
|SOT-23-6
|LW053A
|[https://www.ti.com/lit/ds/symlink/sn74lv4053a.pdf Texas Instruments]
|
|-
|U9
|Texas Instruments
|LMV761
|Low Voltage Precision Comparator with Push/Pull Output
|SOT-23-6
|C22A
|[https://www.ti.com/lit/ds/symlink/lmv762.pdf Texas Instruments]
|
|-
|U10
|Silicon Labs
|Si4063-C2A
|High Performance, Low Current Transmitter
|QFN20
|40632A
C01Q81
 
2217
|[https://www.silabs.com/documents/public/data-sheets/Si4063-60-C.pdf Silcon Labs]
|
|-
|U11
|u-Blox
|MAX-M8C-0-10
|u-blox M8 GNSS module, ROM, crystal
|
|MAX-M8C-0-10
|[https://www.u-blox.com/sites/default/files/MAX-M8-FW3_DataSheet_%28UBX-15031506%29.pdf u-Blox]
|
|-
|U12
|STMicroelectronics
|M24LR04E-R
|Dynamic NFC/RFID tag IC with 4-Kbit EEPROM,
 
energy harvesting, I²C bus and ISO 15693 RF interface
|UDFN8
|4BEB 8150
|[https://www.st.com/resource/en/datasheet/m24lr04e-r.pdf STMicroelectronics]
|''Stores configuration of serial ports, sonde serial(?), calibration, and measurement sequences''
|-
|U13
|STMicroelectronics
|LD series, ''unsure on specific part''
|3.3V Low Drop Out Voltage Regulator
|DFN6
|33R
|[https://www.mouser.com/datasheet/2/389/ld39050-1849494.pdf Possible part from Mouser]
|''Needs verification, appears to provide 3.3V regulated power''
|-
|U14
|
|
|
|
|
|
|''Looks like a high side current monitor amplifier, need more information''
|-
|U15
|ABLIC
|S-8200A Series, ''unsure on specific Part Number''
|BATTERY PROTECTION IC FOR 1-CELL PACK
|
|VDL
|[https://www.mouser.com/datasheet/2/360/S8200A_E-1365901.pdf Mouser]
|''Needs verification, Potentially a Winsok WSTDW01 Battery Protection IC?''
|-
|U16
|???
|???
|???
|???
|AL
___
|
|''In-line with battery power, need more information; chip marking''
|-
|U17
|???
|???
|???
|???
|???
|???
|''Connected to USB data lines, likely a UART, isolation, and/or level shifter''
|}
* Do note these reference designators are not official and are here for us to keep track. The PCB has no markings.
<br />
==Photos==
<gallery>
File:DFM-17 Battery Holder.jpg|The bottom side of the PCB in the DFM-17
File:DFM-17 NOAA Label.jpg|The label sticker NOAA(US) puts on the back of their DFM-17 radiosondes
File:Dfm17-2layers.png|A view of the DFM-17 Radiosonde showing both layers to better assist tracing connections while reverse engineering the hardware.
File:Label id speculaton.jpg|Possible meanings of the internal labels and values. The date code in particular which may be useful to date production times. NWS sondes have the same cryptic string printed on the outside of the sonde where the mfg. date normally is on other countries'. "TU" may just indicate the board comes with sensors according to a third party source<ref>https://sondehunt.de/language/en/archive/1189</ref>.
File:Sensor stalk pinout.jpg|Pinout of the DFM-17 sensor stalk. Not all pins are used, and some seemingly are connected to a trace but end abruptly.
File:V719 and others removed.jpg|V719 SOT-23-6 packages removed as well as 636EE (SPDT Switch) and LW053A (Mux/Demuxer)
File:Stalk pinout mapping.png|Mapping of the pins on the sensor stalk to the connector and their corresponding IC/IO lines. '''''<u>Top of sensor stalk corresponds to bottom of pictured connector!</u>'''''
File:Dfm17_barepcb_back_traces.jpg|Bare PCB without major ICs on it and rear traces colored in purple. Any other via goes directly to main groundplane.
</gallery>
 
==Disassembly==
==Reassembly==
<br />
#Insert two fresh CR123A batteries into the board.
*VBUS: 5 Volts DC
*D-(typically white): TX*D+(typically green): RX
*GND: GND
The board will communicate with the official GRAWMET software using this approach. Reverse engineering of the port's protocol is underway, however it is believed to use a similar, if not the same protocol the DFM[https://www.graw.de/products/radiosondes/ps-15/ PS-0915] uses. ==Hardware modifications== ====SMA Port==== The DFM17 antenna section has pads sized for an SMA connector (prior generationlikely leftover from development) uses. A document partially covering this protocol Any board edge mount conector should work. ====SWD Header====To program the DFM, you will need to connect to the SWD header. If you want to do it properly, an [https://adafru.it/4048 Adafruit Skinny SWD SMT] connector will fit. You can be found also 3D print [https://githubwww.printables.com/nickoemodel/594752-dfm17-swd-programming-jig-clip-thing this model] by trickv to clamp the connector to the pads for a solderless approach. I suggest also ordering [https://www.adafruit.com/dfm09_hackingproduct/blob1675 this ribbon cable] and [https:/master/fingerswww.adafruit.com/product/2743 this breakout] to be able to attach to your STLink much easier. Do note that if you wish to put the PCB back in the styrofoam housing, you will need to slice away some of the inside to allow the connector to fit. Approximately 40mm or so. You will need to do this if you attach pin headers for xdata as well. ====Minimizing transmit range====As amateurs we are not licensed to transmit in the 400-welt406MHz band, so for testing purposes one should perform this mod. If you have an appropriate SMA connector, solder it in place of the antenna wire and connect a 50 ohm dummy load to it (reminder that the power is approx 100mW). If no connector is available, unsolder the antenna wire and take two 100 ohm resistors and twist them in parallel, then solder them to the center pad and one of the side pads on the SMA footprint. This creates a 50 ohm dummy load for the Si4036 to transmit into. The range is reduced to a couple tens of feet.  <u>'''Also if you are running a radiosonde_auto_rx instance, don't forget to turn it off during testing to avoid feeding erroneous data to Sondehub!'''</fingersu><gallery>File:Modified DFM-17 Radiosonde.jpg|MrARM's modified DFM-17 with a SWD connector and an SMA antenna portFile:Dfm 17 swd and resistors.jpg|Trevor229's DFM with ST-weltLink SWD pins connected to debug interface and 50 ohm dummy load mod.txt here</gallery> ==Developing for and Programming the board==[[File:Dfm17_swd_pinout_pretty.jpg|thumb|Pinout of the SWD Port]]  When lab testing, you can power the board from the USB header. It also appears to run fine supplying 3.3V to the SWD port (STLink and clones do this).   The board uses a STM32, and requires a ST-Link to program. The process used to upload code to the MCU is the same as the Vaisala RS41 radiosonde, you will need to connect the VTRef(3.3V), Ground, SWDIO, SWDCLK and RST pins to your ST-Link. The board can run without external power being supplied when programming. This board has read-out protection enabled similar to the RS41 and this must be disabled before you can flash firmware to the board.
==Developing and Programming the boardSoftware==[[File:DFM-17 SWD Port pinout.png|thumb|A very crude diagram showing the standard SWD pinout overlaid onto the DFM-17 board]]
A few attempts have been made to build replacement firmware for these devices, the key goal being to be able to re-fly a sonde as an amateur payload.
When lab testing, you can power the board from the USB headerThere was an early attempt called dfm17_hamradio [https://github. It also appears to run fine supplying 3com/gx1400/dfm17_hamradio here] and [https://github.3V to the SWD port(STLink clones do this)com/trickv/dfm17_hamradio/tree/aprs-fifo-gps-superhacky here].
The most mature looking effort is [https://github.com/mikaelnousiainen/RS41ng RS41ng] which has experimental support.
The board There is now a repository that uses a STM32, and requires a ST-Link to program. The process used to upload code from RS41ng to run the MCU is the same as sampling circuitry and read from the Vaisala RS41 radiosonde, you will need to solder original temperature and connect the VTRef(3humidity sensors [https://github.3V), Ground, SWDIO, SWDCLK and RST pins to your ST-Linkcom/robots/radiosonde_dfm17 here.]
The board can run without external power being supplied when programming. This board has read-out protection enabled similar to the RS41 and this must be disabled before you can flash firmware to the board. <br />
<references />