Site migration in progress (Wordpress->Jekyll). Things may break.
‘Cos things break, don’t they?
Graph Arduino compatible geiger counter on Raspberry Pi
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:
rtl_sdr windows 32/64 bit builds
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.
Download: rtl_sdr windows 32 bit binaries (03/01/2016) rtl_sdr windows 64 bit binaries (03/01/2016)
Experimental builds: rtl_sdr keenerd branch windows 32 bit binaries (04/06/2015) rtl_sdr mutability branch windows 32 bit binaries (19/06/2015)
kalibrate-rtl windows build (32 bit)
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
rtl_433 windows binary (32/64 bit)
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
rtl_433 windows 32 bit binary (11/11/2016)
rtl_433 windows 64 bit binary (11/11/2016)
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