Share |

Black Cat Systems
Follow our tweets to instantly hear about new releases!

Home
Purchase
Support Forum
Get Our CD-ROM
News
Mac OS X Software
Mac OS 9 Software
Windows Software
Ham Radio iPhone/iPad
Linux Software
Documentation
Support/FAQ
Update Policy
Lost Reg Code?

Radiation Detectors
USB Icom CI-V Interface
MIL-STD-188 Interface

General Interest Programs

  Atomic Mac/PC
  Audiocorder
  Audio Toolbox
  Black Cat Timer
  Diet Sleuth
  iUnit
  Graffikon
  Graph Paper Maker
  Health Tracker
  Knitting Wizard
  Label Wizard
  Prog Audio Gen
  Sound Byte
  Synth 76477

Amateur Radio Programs
  Audiocorder
  Black Cat CW Keyer
  DX Toolbox
  Elmer
  MatchMaker
  MININEC Pro
  Morse Mania
  MultiMode
  mySdrPlayback
  RF Toolbox
  SelCall
  Sonde

iPhone/iPad Apps
  ALE
  Atoms To Go
  dB Calc
  Drill Calc
  DX Toolbox
  Elmer Extra
  Elmer General
  Elmer Tech
  Feld Hellschreiber
  Field Strength Calc
  Function Generator Pad
  GMDSS
  Godafoss
  HF Weather Fax
  iAttenuate
  iFunctionGenerator
  iGeiger
  iSoundex
  iSoundByte
  iSweep
  iUnit
  Morse Mania
  ACARS Pad
  Morse Pad
  NAVTEX Pad
  Packet Pad
  PSK31 Pad
  SSTV Pad
  Photon Calc
  Rad Map Tracker
  RF Link Calc
  SelCall Tone Gen
  Sound Byte
  Sound Byte Control
  Spectrum Pad
  SWBC Schedules
  Synth 76477
  Synth Motion
  Transmission Line Calc
  Weather Calc
  Wire Calc

Android Apps
  ACARS
  HF Weather Fax
  NAVTEX
  Rad Map Tracker
  SelCall Tone Gen
  Sound Byte Control
  SWBC Schedules
  Wire Calc

About Black Cat Systems
Geiger Counter
Site Map
Our software for Mac OSX
Privacy Policy
Press/Media
HFunderground
Apple /// Emulator

Macintosh Links
Shortwave Radio
Pirate Radio
Spy Numbers Stations
Science and Electronics
Ham Radio Software
Geiger Counters


   

Mode S (ADS-B) aircraft transponder decoder for Mac OS X

Cocoa1090 is a Mode S (ADS-B) aircraft transponder decoder, written for use with RTL-SDR devices (RTL based USB tuner dongles)

Download a copy of Cocoa1090 beta version 0.1.2 (which includes a copy of the RTL-SDR drivers and associated files) here: http://www.blackcatsystems.com/download/Cocoa1090.zip"

I've run it under Mac OS X 10.6 and 10.8, It should run under 10.7, and may run under 10.5.

Cocoa1090 requires that rtl_tcp be installed and running. rtl_tcp performs the actual interfacing to the RTL tuner, and serves I/Q data to Cocoa1090.

Instructions on installing RTL-SDR, which includes rtl_tcp, can be found here: http://www.hfunderground.com/wiki/RTL-SDR

Please note that I cannot provide any support for installing or using RTL-SDR.

After you have installed RTL-SDR, and run rtl_test to verify it works, you need to start rtl_tcp.

The easiest way is to go to Finder, navigate to the rtl-sdr folder you downloaded, then double click on rtl_tcp to start the tcp server.

Using a terminal window: Start rtl_tcp by opening a terminal window and typing:

./rtl_tcp
Alternately, you can start it with
./rtl_tcp -g 9999
This sets the gain to the maximum value, I find this sometimes improves the decode rate.

(Note: you can quit rtl_tcp when you're all done by first quitting Cocoa1090, then wait a few seconds, then hit control-C while in the rtl_tcp terminal window. Then close the window.) Then start Cocoa1090. It should connect to rtl_tcp, an error message will be displayed if it cannot. Normally the default I/Q source address of 127.0.0.1 and port 1234 will work correctly. You can change this in the Cocoa1090 preferences. There is also a value for the UDP output port, this is for future use. Note that after making any changes to these values, you must quit and restart Cocoa1090.

Cocoa1090 displays several columns of data, for the decoded information from the ADS-B frames:

ICAO - the hex value of the ICAO assigned address for the plane
TAIL - the tail number of the plane, based on the ICAO address, read from the icao.txt file. A dash is displayed if the tail number cannot be found in the file.
FLIGHT - the flight number
ALTITUDE - in feet
SPEED - in knots
LAT - latitude
LON - longitude
TRACK - bearing in degrees
MESSAGES - the total number of messages received from this plane
SEEN - how long (in seconds) since a message from this plane was received. That is,  how long since it as been seen (or heard from).
PLANE - the make and model of the plane, from the icao.txt file

The bottom of the window displays the status of the program, along with one option that may be enabled:

Preamble - the number of preambles of ADS-B frames detected
Demod - the number of ADS-B frames demodulated
Good CRC - the number of ADS-B frames with a valid CRC
Bad CRC - the number of ADS-B frames with a bad CRC
Fixed - the number of ADS-B frames with a bad CRC that were fixed (made good), followed by two numbers showing how many had 1 bad bit, and how many had 2
Frames/sec - the number of good (valid plus fixed) frames per second. This can be used as a relative indicator of activity levels, and is useful when adjusting or comparing antennas, etc

The Fix 2 check box can be checked if you wish to try and fix packets with two bad bits. This uses a lot more CPU time, and often produces bad frames. I generally leave it off (unchecked).

icao.txt file

Cocoa1090 looks for a file called icao.txt when it starts. If it finds it, it loads in plane data from this file. The format of this file is text, with one plane entry per line. Each line has four tab delimited fields, such as:

A318EA	N299WN	B737	B737-7H4/W
The first field is the ICAO number in hex
The second field is the tail (registration) number of the plane
The third field is the plane model (not currently used, but must be present)
The fourth field is the detailed plane information


Email your comments and questions to info@blackcatsystems.com

Last modified March 12, 2014