Welcome to the Cumulus Support forum.

Latest Cumulus MX V4 release 4.4.2 (build 4085) - 12 March 2025

Latest Cumulus MX V3 release 3.28.6 (build 3283) - 21 March 2024

Legacy Cumulus 1 release 1.9.4 (build 1099) - 28 November 2014
(a patch is available for 1.9.4 build 1099 that extends the date range of drop-down menus to 2030)

Download the Software (Cumulus MX / Cumulus 1 and other related items) from the Wiki

If you are posting a new Topic about an error or if you need help PLEASE read this first viewtopic.php?p=164080#p164080

Decoding the Fine Offset station RF transmissions ?

Discussion specific to Fine Offset and similar rebadged weather stations
Charlie
Posts: 363
Joined: Thu 04 Feb 2010 12:22 pm
Weather Station: 1wire-Cumulus & Fine Offset
Operating System: Windows 7
Location: Whitehorse, Yukon Territory, Canada

Re: Decoding the Fine Offset station RF transmissions ?

Post by Charlie »

I'd be interested in seeing the SPI settings... also interested in a breakdown of the data packet contents and what they mean if you are willing to share.
mr.sneezy
Posts: 35
Joined: Sun 30 Jan 2011 3:17 am
Weather Station: WH2081 & WH2900
Operating System: Microsoft
Location: Adelaide, Australia

Re: Decoding the Fine Offset station RF transmissions ?

Post by mr.sneezy »

Charlie wrote:I'd be interested in seeing the SPI settings... also interested in a breakdown of the data packet contents and what they mean if you are willing to share.
Part one is easy enough. I'm still testing other the Receiver Control parameter values, but I expect that it may stay as it is now.
Also of note is the Data Filter & Clock Recovery parameter.

'Set Configuration for a Hope RFM12 module for use with a OOK signal.
nAddress = $80 : noutData = $17 : GOSUB SPI_Out '433Mhz, 12.5pF, no RX Fifo buffer, TX register disabled

'Set Power Management
nAddress = $82 : nOutData = $C0 : GOSUB SPI_Out 'Enable RX & Base Band Block only

'Set Frequency
nAddress = $A6 : nOutData = $18 : GOSUB SPI_Out 'RX frequency set to 433.9000MHz

'Set Data Rate
nAddress = $C6 : nOutData = $91 : GOSUB SPI_Out 'Data rate 2.362 Kbps

'Set Receiver Controls
nAddress = $94 : nOutData = $89 : GOSUB SPI_Out 'VDI enabled, FAST VDI, RX bandwidth 200kHz, LNA gain -6dBm, -97dBm

'Set Data Filter & Clock Recovery
nAddress = $C2 : nOutData = $20 : GOSUB SPI_Out 'Undocumented Data Filter command for OOK

'Set FiFo & Reset Mode
nAddress = $CA : nOutData = $00 : GOSUB SPI_Out 'Fifo Int level 0, sync on 2 Bytes, fifo fill Start to Sync, Reset sensitivity to High

'Set Synchronisation Pattern
nAddress = $CE : nOutData = $83 : GOSUB SPI_Out 'Sync Byte = 83h

'Set Automatic Frequency Control
nAddress = $C4 : nOutData = $73 : GOSUB SPI_Out 'Enable AFC, AFC mode set F-Offset only once, Offset reg limit set +3 -4, Enable Fr Offset Reg

'Set TX Control
nAddress = $98 : nOutData = $06 : GOSUB SPI_Out 'Freq Shift set Positive, Pow Out set -21dBm, TX Deviation set 15khz

'Set PLL Settings
nAddress = $CC : nOutData = $67 : GOSUB SPI_Out '??

'Set Wake Up Timer
nAddress = $E0 : nOutData = $00 : GOSUB SPI_Out '0mS

'Set Low Duty Cycle
nAddress = $C8 : nOutData = $00 : GOSUB SPI_Out 'Disabled

'Set Low Battery Detect & uC Clock Out
nAddress = $C0 : nOutData = $40 : GOSUB SPI_Out '1.66Mhz, 2.2v low batt detect

One thing to note here is that the RFM12B won't output the data via it's SPI buffer set like this. It will not do that with OOK signals at all, only with FSK as it was intended for. The use of it in this way is a sort of a kludge for OOK...
I'll document part two later as I don't have that in a very readable format.
Last edited by mr.sneezy on Mon 21 Jan 2013 11:15 am, edited 1 time in total.
User avatar
mcrossley
Posts: 14384
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Bullseye Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: Decoding the Fine Offset station RF transmissions ?

Post by mcrossley »

The relevant bits being sent are:

static uint8_t mode = 0;
static uint8_t bits = 8;
static uint32_t speed = 1000000;
static uint16_t delay = 0;

uint16_t cmd_drate = CMD_DRATE|0xaa; // drate is c8xx rather than c6xx
uint16_t cmd_freq = CMD_FREQ|0x67b; // 868 - G1 centre 868.3

uint16_t cmd_afc = CMD_AFC|AFC_ON|AFC_OUT_ON|AFC_MANUAL|AFC_FINE|AFC_RL_7;
uint16_t cmd_dcycle = CMD_LOWDUTY|0x00;
uint16_t cmd_fifo = CMD_FIFO|0x00;

uint16_t cmd_config = CMD_CONFIG|BAND_868|LOAD_CAP_12C0|BW_340;
uint16_t cmd_rcon = (CMD_RCON|RX_EN|VDI_DRSSI|LNA_0|RSSI_103);
uint16_t cmd_dfilter = (CMD_DFILTER|CR_LOCK_FAST|FILTER_OOK);

Though I play around with the bandwidth, LANA, and RSSI values.
mr.sneezy
Posts: 35
Joined: Sun 30 Jan 2011 3:17 am
Weather Station: WH2081 & WH2900
Operating System: Microsoft
Location: Adelaide, Australia

Re: Decoding the Fine Offset station RF transmissions ?

Post by mr.sneezy »

Hi Mark,

I have been trying -103dBm and a couple of bandwidths, but I keep finding the -97dBm better so far. I also find a small antenna seems to work better than a big one at typical domestic ranges (like 10-15m).

Did you do the chip capacitor mod on the RFM12B board for OOK ?
User avatar
mcrossley
Posts: 14384
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Bullseye Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: Decoding the Fine Offset station RF transmissions ?

Post by mcrossley »

mr.sneezy wrote:Hi Mark,

I have been trying -103dBm and a couple of bandwidths, but I keep finding the -97dBm better so far. I also find a small antenna seems to work better than a big one at typical domestic ranges (like 10-15m).
The code actually scans all the LNA/RSSI values and prints a table of the duty values, I've been picking pairs of values just below the noise level.
mr.sneezy wrote:Did you do the chip capacitor mod on the RFM12B board for OOK ?
Nope, what is that?
mr.sneezy
Posts: 35
Joined: Sun 30 Jan 2011 3:17 am
Weather Station: WH2081 & WH2900
Operating System: Microsoft
Location: Adelaide, Australia

Re: Decoding the Fine Offset station RF transmissions ?

Post by mr.sneezy »

Might be well worth doing this cap mod and trying the scan type thing again.

Basically it's the replacement of the C_arssi capacitor with a value 150-300pf.
Described here.
http://jeelabs.net/projects/cafe/wiki/R ... ied_RFM12B

As a off-shoot of this subject, I've noticed that the output pulse period changes a little with signal strength on the RFM12B, so I had to expand my windows for a valid 1 and valid 0 pulse length more than what I initially calculated. After than I started getting very reliable frames.
User avatar
mcrossley
Posts: 14384
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Bullseye Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: Decoding the Fine Offset station RF transmissions ?

Post by mcrossley »

What is the exact frequency are you using? I have set 868.3MHz just because that is what the sticker on the transmitter days, I have no idea if it is accurate enough.
mr.sneezy
Posts: 35
Joined: Sun 30 Jan 2011 3:17 am
Weather Station: WH2081 & WH2900
Operating System: Microsoft
Location: Adelaide, Australia

Re: Decoding the Fine Offset station RF transmissions ?

Post by mr.sneezy »

mcrossley wrote:What is the exact frequency are you using? I have set 868.3MHz just because that is what the sticker on the transmitter days, I have no idea if it is accurate enough.
I'm set to 433.90Mhz

I checked that originally with a cheap UHF handheld radio on receive (can send you a link for it), and also later with my RTL-SDR dongle and SDR Sharp (SDR#) software. The RTL-SDR dongle is not a calibrated instrument BUT if you know another nearby radio station frequency you can zero it against that.

With the BW setting of the RFM12B at 200khz a bit either way shouldn't matter a great deal. My setup still works OK still at 67kHz, just a bit better at 200khz, did not try more than that yet. I'm happy enough with reception I'm getting now. Normally a receiver is best to have a RF bandwidth that just covers the transmitted bandwidth. OOK should be very narrow...

I guess I could offset my RFM12B's RX frequency for a test and let you know how it behaves anyway. When time permits though.
I use this tool for selecting the RFM12B config settings BTW.
http://tools.jeelabs.org/rfm12b

Hey what do your recovered pulses look like on a CRO anyway ?
User avatar
mcrossley
Posts: 14384
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Bullseye Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: Decoding the Fine Offset station RF transmissions ?

Post by mcrossley »

mr.sneezy wrote:Hey what do your recovered pulses look like on a CRO anyway ?
What recovered pulses, and what CRO? :( I am poorly equipped in the electronics department, a multimeter and soldering iron is about it! :roll:
mr.sneezy
Posts: 35
Joined: Sun 30 Jan 2011 3:17 am
Weather Station: WH2081 & WH2900
Operating System: Microsoft
Location: Adelaide, Australia

Re: Decoding the Fine Offset station RF transmissions ?

Post by mr.sneezy »

mcrossley wrote:
mr.sneezy wrote:Hey what do your recovered pulses look like on a CRO anyway ?
What recovered pulses, and what CRO? :( I am poorly equipped in the electronics department, a multimeter and soldering iron is about it! :roll:
Hmm. Sounds like building some test gear might be the next priority :)
Try Google this string - sound card oscilloscope
You should be able to capture the pulses like that and at least see if you have something meaningful.

Also there are some very cheap CRO's on DX.COM website.
uncle_bob
Posts: 505
Joined: Wed 17 Aug 2011 2:58 pm
Weather Station: WeatherDuino Pro2
Operating System: 2008
Location: Canberra

Re: Decoding the Fine Offset station RF transmissions ?

Post by uncle_bob »

Mr Sneezy, that's great! Would love a circuit schematic so I could also make one ;)
Actually, you could probably sell these.
Interested in building your own Weather Station? Maybe check out the WeatherDuino Pro Project Here
Conder, Canberra Weather
Image
User avatar
mcrossley
Posts: 14384
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Bullseye Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: Decoding the Fine Offset station RF transmissions ?

Post by mcrossley »

Yeah, I guess I should get my finger out and at least knock up some leads for a sound card based 'scope, then boot up the 'pi again...
mr.sneezy
Posts: 35
Joined: Sun 30 Jan 2011 3:17 am
Weather Station: WH2081 & WH2900
Operating System: Microsoft
Location: Adelaide, Australia

Re: Decoding the Fine Offset station RF transmissions ?

Post by mr.sneezy »

uncle_bob wrote:Mr Sneezy, that's great! Would love a circuit schematic so I could also make one ;)
Actually, you could probably sell these.
Once I refine a few things I'll knock up a schematic and post the hex file for the PIC if you are interested. You'll need to be able to program a PIC16F819 or something close (that I can recompile for).
You'd need the RFM12B module as well, but they can be got from online stores or Ebay (where mine came from). It might be possible that the 433.92Mhz receiver that Jaycar stock might work too, but not sure as I don't have one.

The parts may well add up close to what a whole spare or compatible console from the USA might cost BTW. This is more about DIY and a special purpose than saving money...
Martin

PS. Still no signs of rain here, might have to trigger the rain sensor with a watering can so I can get the info I need to finish that bit :)
mr.sneezy
Posts: 35
Joined: Sun 30 Jan 2011 3:17 am
Weather Station: WH2081 & WH2900
Operating System: Microsoft
Location: Adelaide, Australia

Re: Decoding the Fine Offset station RF transmissions ?

Post by mr.sneezy »

mcrossley wrote:Yeah, I guess I should get my finger out and at least knock up some leads for a sound card based 'scope, then boot up the 'pi again...
Can the 'pi be a scope ?
(Raspberry Pi I assume?)
User avatar
mcrossley
Posts: 14384
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Bullseye Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: Decoding the Fine Offset station RF transmissions ?

Post by mcrossley »

mr.sneezy wrote:Can the 'pi be a scope ?
(Raspberry Pi I assume?)
Dunno, but I'm using the Raspberry Pi to drive the RFM12, I want a low power receiver that is independent of the FO base unit and capable of FTP/Web services etc. All it needs in addition to the RFM12 (when I get it to work) is a pressure sensor.
Post Reply