UK High Altitude Society

User Tools

Site Tools


Tom SP9UOB kindly gave some of us a RS41-SG Radiosonde at the UKHAS 2018 conference.

Software options that I can find:

Download and install the CoIDE

Download and install the GCC ARM compiler

Open the project in CoIDE and setup the defaults in main.c or config.h (depends which software you are using), and then build:

GCC HOME: C:\Program Files (x86)\GNU Tools ARM Embedded\5.4 2016q3\bin
    [mkdir] Created dir: C:\Users\WALTONK\Documents\Electronics\STM32_RTTY-master\rtty\Debug\bin
    [mkdir] Created dir: C:\Users\WALTONK\Documents\Electronics\STM32_RTTY-master\rtty\Debug\obj
       [cc] 17 total files to be compiled.
       [cc] arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Wall -ffunction-sections -g -O0 -c -DSTM32F100C8 -
       [cc] C:\Users\WALTONK\Documents\Electronics\STM32_RTTY-master\main.c:411:16: warning: incompatible implicit declaration of built-in function 'strcpy'
       [cc] C:\Users\WALTONK\Documents\Electronics\STM32_RTTY-master\main.c:411:16: note: include '<string.h>' or provide a declaration of 'strcpy'
       [cc] Starting link
       [cc] arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -g -nostartfiles -Wl, -O0 -Wl,--gc-sections -LC:\apps\CooCox\CoIDE\configuration\ProgramData\rtty -Wl,-TC:\apps\CooCox\CoIDE\configuration\ProgramData\rtty/arm-gcc-link.ld -g -o rtty.elf ..\obj\stm32f10x_tim.o ..\obj\fun.o ..\obj\startup_stm32f10x_md_vl.o ..\obj\system_stm32f10x.o ..\obj\stm32f10x_pwr.o ..\obj\stm32f10x_gpio.o ..\obj\main.o ..\obj\init.o ..\obj\stm32f10x_rcc.o ..\obj\stm32f10x_adc.o ..\obj\stm32f10x_usart.o ..\obj\f_rtty.o ..\obj\syscalls.o ..\obj\stm32f10x_flash.o ..\obj\stm32f10x_dma.o ..\obj\misc.o ..\obj\stm32f10x_spi.o
Program Size:
      text	   data	    bss	    dec	    hex	filename
     38929	   2848	   2208	  43985	   abd1	rtty.elf

Total time: 6 seconds

And with a few warnings it builds!

Reprogramming needs a STM programmer like this one from china, or if you can't wait that long, this one on Prime from Amazon. The driver for the ST-link-V2 programmer is here I used the ST-Link utility programming tool (which includes the driver) from here.

Pinout of the SG41 2mm connector is here. Connections to the 2mm pitch RS41-SG connector I made were:

  • Gnd to Gnd
  • +VDD_MCU to +3.3v
  • Rst to Rst

Be aware that some of the circuit diagrams around are for the OEM ST-Link V2 programmer which has many more pins than the cheap one I link to above.

And we have a connection using the ST-Link utility.

11:51:09 : ST-LINK SN : 56FF6B064977535412210687
11:51:09 : ST-LINK Firmware version : V2J29S7
11:51:09 : Connected via SWD.
11:51:09 : SWD Frequency = 4,0 MHz.
11:51:09 : Connection mode : Normal.
11:51:09 : Debug in Low Power mode enabled.
11:51:09 : Device ID:0x420 
11:51:09 : Device family :STM32F100xx Low/Medium density Value Line
11:51:09 : Can not read memory!
                  Disable Read Out Protection and retry.

I then tried for several hours to re-programme the chip, and kept failing, before discovering that I needed to turn off the 'Read Out Protection' that was turned on in the chip. I used the STM32 ST-Link utility to do that, connecting to the RS41 (Target → Connect) and then editing the Options Bytes (Target → Options Bytes) to disabled Read Out Protection and 'Unselect all' in the bottom 'Flash sectors protection' section.

15:51:19 : Option bytes updated successfully.
15:51:31 : Flash memory erased.
15:52:01 : Memory programmed in 6s and 812ms.

Now both the ST-Link and the CooCox CoIDE tools will both flash the chip

The RS41 takes 2 x AA batteries - as you look at the battery holder vertically, with the aerial down and temperature sensor up, the right hand battery has + at the top, the left hand battery has + at the bottom.

I have tried all of the software above, but currently am running darksidelemm's and getting packets transmitted:


Hopefully this is of use to others - any corrections please do let me know.

Cheers, Kevin

projects/jimbob/radiosonde.txt · Last modified: 2018/09/05 09:17 by kevwal