Site migration in progress (Wordpress->Jekyll). Things may break.
‘Cos things break, don’t they?
Python script for “Arduino compatible” geiger counter on Raspberry Pi - outputs to Collectd format
Run with Collectd “exec” plugin
sudo apt-get install python-rpi.gpio
Connect interrupt pin of Geiger counter to GPIO12 of RPi (configurable in script)
May need to run as root if /dev/gpiomem not available
Used with a Collectd frontend such as Collectd Graph Panel for fancy graphs:
In this post you’ll find my windows builds of rtl_sdr. The first link is the main branch and this is probably what most people will want. The other links are for keenerd’s experimental branch of rtl-sdr with additional features and the mutability branch - allows direct sampling without a hardware mod - “very experimental - probably broken” according to the author.
Kalibrate-rtl is a program that can scan for GSM base stations and use them to calculate the local oscillator frequency offset (ppm error) of an RTL2832 USB dongle.
I finally got this to build after a lot of trial and error with MSYS/MinGW. As often, not that complicated, just a case of building the libraries and configuring paths correctly. Also, there was a dependency on the POSIX library librt, which doesn’t exist in MinGW.
Download here: kalibrate-rtl windows 32 bit build 05/06/2015
Run like this:
kal.exe -g 35 -s EGSM
-g sets the gain. 35 is probably a good choice -s tells kalibrate-rtl to scan for mobile base stations. Band can be GSM850, GSM-R, GSM900, EGSM, DCS, PCS
Once you’ve found a channel, run kal.exe again like this:
kal.exe -g 35 -c 117
Again, -g is the gain. -c is the number of the channel you want to use for calibration. After a few seconds you should have a ppm figure for your dongle:
I recommend using the dongle normally for half an hour or so before trying to calibrate, as the ppm figure will change as the dongle warms up. It should stabilise after a while.
Here I obtained 39.4 ppm, very close to my previous manually estimated figure of 40 ppm, only much quicker to obtain.
For rtl_433/rtl-sdr builds see my previous post
UPDATE 07/05/2019 - This page is no longer maintained and the rtl_433 builds here are out of date. A more recent Windows build may be available here. I have not tested this however.
Archived post follows
rtl_433 (https://github.com/merbanan/rtl_433) is a program that allows you to use an RTL2832 based USB DVB device as a generic receiver for 433 MHz devices (temperature sensors, weather stations etc).
Here you will find my unofficial Windows 32/64 bit builds compiled using MinGW. For my librtlsdr builds go here.
If you can see signals in other programs but find nothing is decoded in rtl_433 try adjusting the gain and bit detection levels:
rtl_433.exe -g 35 -l 0
These values work for me but are highly dependent on signal strength/noise so you will have to experiment. -l 0 is automatic level detection (EDIT: this is now the default). Enabling analyze mode (-a) can be helpful in working out what the program is seeing (if anything).
If you have a slow CPU and need to save some resources you might want to disable some devices e.g.:
rtl_433.exe -R 12
would enable support for Oregon Scientific weather sensors and disable all the rest
The binaries above are tested by me and known to work. For the most up to date version you can try my automatic daily builds (32 bit / 64 bit) but note I do not test these and they may or may not work.
Usage: = Tuner options = [-d <RTL-SDR USB device index>] (default: 0) [-g <gain>] (default: 0 for auto) [-f <frequency>] [-f...] Receive frequency(s) (default: 433920000 Hz) [-p <ppm_error] Correct rtl-sdr tuner frequency offset error (default: 0) [-s <sample rate>] Set sample rate (default: 250000 Hz) [-S] Force sync output (default: async) = Demodulator options = [-R <device>] Enable only the specified device decoding protocol (can be used multiple times) [-G] Enable all device protocols, included those disabled by default [-l <level>] Change detection level used to determine pulses [0-16384] (0 = auto) (default: 0) [-z <value>] Override short value in data decoder [-x <value>] Override long value in data decoder [-n <value>] Specify number of samples to take (each sample is 2 bytes: 1 each of I & Q) = Analyze/Debug options = [-a] Analyze mode. Print a textual description of the signal. Disables decoding [-A] Pulse Analyzer. Enable pulse analyzis and decode attempt [-D] Print debug info on event (repeat for more info) [-q] Quiet mode, suppress non-data messages [-W] Overwrite mode, disable checks to prevent files from being overwritten = File I/O options = [-t] Test signal auto save. Use it together with analyze mode (-a -t). Creates one file per signal Note: Saves raw I/Q samples (uint8 pcm, 2 channel). Preferred mode for generating test files [-r <filename>] Read data from input file instead of a receiver [-m <mode>] Data file mode for input / output file (default: 0) 0 = Raw I/Q samples (uint8, 2 channel) 1 = AM demodulated samples (int16 pcm, 1 channel) 2 = FM demodulated samples (int16) (experimental) 3 = Raw I/Q samples (cf32, 2 channel) Note: If output file is specified, input will always be I/Q [-F] kv|json|csv Produce decoded output in given format. Not yet supported by all drivers. [-C] native|si|customary Convert units in decoded output. [-T] specify number of seconds to run [-U] Print timestamps in UTC (this may also be accomplished by invocation with TZ environment variable set). [<filename>] Save data stream to output file (a '-' dumps samples to stdout) Supported device protocols: * Silvercrest Remote Control  Rubicson Temperature Sensor  Prologue Temperature Sensor  Waveman Switch Transmitter * Steffen Switch Transmitter * ELV EM 1000 * ELV WS 2000  LaCrosse TX Temperature / Humidity Sensor * Acurite 5n1 Weather Station * Acurite 896 Rain Gauge  Acurite 609TXC Temperature and Humidity Sensor  Oregon Scientific Weather Sensor * Mebus 433 * Intertechno 433  KlikAanKlikUit Wireless Switch  AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon) * Cardin S466-TX2  Fine Offset Electronics, WH-2 Sensor  Nexus Temperature & Humidity Sensor  Ambient Weather Temperature Sensor  Calibeur RF-104 Sensor * X10 RF * DSC Security Contact * Brennstuhl RCS 2044 * GT-WT-02 Sensor * Danfoss CFR Thermostat * Energy Count 3000 (868.3 MHz) * Valeo Car Key  Chuango Security Technology  Generic Remote SC226x EV1527  TFA-Twin-Plus-30.3049 and Ea2 BL999  Fine Offset WH1080 Weather Station  WT450  LaCrosse WS-2310 Weather Station  Esperanza EWS * Efergy e2 classic * Inovalley kw9015b rain and Temperature weather station  Generic temperature sensor 1 * Acurite 592TXR Temp/Humidity, 5n1 Weather Station, 6045 Lightning * Acurite 986 Refrigerator / Freezer Thermometer  HIDEKI TS04 Temperature and Humidity Sensor  Watchman Sonic / Apollo Ultrasonic / Beckett Rocket oil tank monitor  CurrentCost Current Sensor  emonTx OpenEnergyMonitor  HT680 Remote control  S3318P Temperature & Humidity Sensor  Akhan 100F14 remote keyless entry  Quhwa  OSv1 Temperature Sensor  Proove  Bresser Thermo-/Hygro-Sensor 3CH  Springfield Temperature and Soil Moisture  Oregon Scientific SL109H Remote Thermal Hygro Sensor  Acurite 606TX Temperature Sensor  TFA pool temperature sensor  Kedsum Temperature & Humidity Sensor  blyss DC5-UK-WH (433.92 MHz)  Steelmate TPMS  Schraeder TPMS * LightwaveRF  Elro DB286A Doorbell  Efergy Optical  Honda Car Key * Template decoder  Fine Offset Electronics, XC0400  Radiohead ASK  Kerui PIR Sensor  Fine Offset WH1050 Weather Station  Honeywell Door/Window Sensor * Disabled by default, use -R n or -G