My name is Andrew Rich, Amateur radio callsign VK4TEC. My works history includes 10 years in Telecommunications, retail store manager, and now Surveillance Specialist RADAR. I like to experiment with different position reporting technologies, in particular ADS-B and APRS. I have built my own trackers and like chasing the lastest satellites, including the International Space Station. I write programs under the LINUX operating system and prefer PERL and MySQL. I also program PIC chips in assembly language.
Quick Links
  • ADS-B Station
  • Track my car
  • Brisbane Weather
  • VK4TEC-10 Weather
  • GPS SD CARD Logger + LCD
  • contact andrew
  • Project and Interests
  • ADS-B into mysql for stats
  • ADS-B tracking and coverage mapping
  • Antenna Build - Quadfillar helix, verticals
  • Antenna Build - yagi, quads, eggbeaters
  • PIC uP - serial A/D LOGIC
  • PIC uP - NMEA GPS PARSE tracking projects
  • easyradio 434 MHz radio modules
  • APRS - opentracker, tinytrack
  • APRS - Kenwood D700,D710 and D7 HT
  • GPS LCD display
  • Airborne APRS tracking
  • Google earth output programming
  • PERL - serial UDP TCP MySQL GD GPS
  • PERL - servers SMPP SMTP POP
  • PHP - Online databases and stats.
  • PHP - remote control apps
  • ADS-B into APRS formats
  • ADS-B into CAT 48 Asterix format
  • RF - 1090 / 144 / 430 MHz pre-amps
  • 137 MHz weather satellites
  • Software defined Radio
  • Passive RADAR
  • Antenna positioning using hobby motors
  • Satellite tracking in LINUX
  • 430 MHz power amp - minikits WA
  • Sent and rx 1296 MHz FM TV
  • Sent and rx 434 MHz AM TV
  • Digital experiments - International Space Station
  • bitScope evalutaion for use as A/D sample.
  • LINUX talking weather station (festival)
  • Parrallel port control programs
  • Worked MIR on a commodore C64 and packet radio
  • Built satellite robot using Basic Stamp. (PCSAT)
  • Interested in UAV technology
  • Restored a marine RADAR
  • Sent 10 GHz signals - door opener modules
  • Experimented with teleurometers
  • Hosting ADS-B server for sharing data
  • Wrote ADS-B feeder application in Visual Basic
  • PIC 16F628 MODE S synch generator
  • 434 MHz OOK TX / RX
  • ADS-B onto GPS ($GPWPL)
  • ASUS eeePC coding
  • Nokia 6110 tracking
  • GSM / SMS / GPRS tracking
  • Horse enduro score system LINUX
  • Model Rockets
  • Wicen car rallies - comms and data
  • Fully auto satellite ground station
  • Radio Direction Finding - picoDOPP USA
  • Aircraft Radio Operators Cert
  • Amateur Radio Licence
  • Designed PCB's at home - eagle
  • Manufactured PCB's light exposure method
  • Fed telemetry from satellites to internet servers.
  • Wrote a comms package in visual basic 6.
  • Grandfather ATC, RAAF PILOT and Jackaroo.
  • Father Army/Civil pilot (instructor,check and test).
  • Dabbles with photography - Canon 350D.
  • Active participant APRS/ADS-B groups.
  • SlowScan TV
  • Aviation - VHF / HF NAVAIDS COMMS
  • RADAR - Secondary / Primary
  • ADS-B ground station
    I have a Mode S receiver. It is made by Kinetic. It can receive ADS-B and other Mode S messages. I have a LINUX computer running per l code and MySQL tables. From this I can create displays, log to disk, and create statistics.

    You can also open the data in google earth and visualise the targets, trails and even coverage in real time.

  • Written in perl, MySQL PHP and with an apache web server
  • Takes data from an SBS-3 Mode S receiver.
  • ADS-B ground station
  • Kite Camera
    I took a dual line control kite and added a little HD video camera I bought from JAYCAR. I strapped it to the cross member of the kite using sticky tape and then set the camera rolling. The video is from Redcliffe north of Brisbane. At the start of the video the kite fell over and I had to start again.

  • Video of kite camera
  • 434 MHz / GPS tracker
    I started out with simple 434 MHz transmitters and then discovered the easy radio series of tx modules. These are really handy in that they can take care of the manchester encoding. I designed and built a 1 Hz transmitter. The GPS used was a GARMIN GPS18LVC 5 volt 4k8 data rate. The transmitter was an Easyradio ETRS-400 434 MHz 10 mW 19k2. The micrprocessor used was a PIC 16F628 SMT, running at 20 MHz. An SMT MAX232 chip converted teh RS232 from the GSP to TTL. There are four LED's - Blue is GPS, Green is receive, Red is transmit and yello is power. The data output is APRS and RAW.

    Larger image
    PCB mask
    PCB mask(2)
    Electronics and tracking
    I have been building circuits and also trying some bought RF modules for various projects. The Easy radio modules have come in hnady for the RF stages. I have made use of some PIC development boards and also made some surface mount boards myself. I use Eagle PCB for making the PCB masks. In the image you can see also some LCD displays I have interfaced with the PIC.

  • Larger Image
  • RADAR DME ADS-B 1090 MHz Video
  • SBS-1 1090 MHz receiver
  • Digital storage scope
  • Video 1
  • Video 2
  • ADS-B over 3G
  • SBS-1 ADS-B on LAN gate
  • Netgear 3G router
  • adsb.no-ip.org DYN DNS

    Larger image
  • Solar APRS telemetry
  • Solar powered 12 volts 1Amp panel
  • Opentracker APRS module
  • TXC1 ISM band TX 433 MHz 100 mW
  • Update rate = 1 minute
  • 1200 baud AX25
  • Sends temperature and voltage


    VK4TEC-10>APOTC1,qAR,VK4TEC:!2720.26S/15302.59E/ 13.6V 23C
  • Opentracker SMT + GPS
  • Opentracker APRS module (SMT)
  • 1200 baud AX25
  • GPS - NMEA

    Larger Image
  • Byonics MT-8000 FA
  • APRS module
  • 1200 baud AX25
  • GPS - NMEA
  • Frequency Agile - set via serial port
  • mW to 8 Watts ( Motorola RA08H1317M )

    Larger Image
  • Byonics MT-8000 FA ( in a box )
  • APRS module
  • 1200 baud AX25
  • GPS - NMEA
  • Frequency Agile - set via serial port
  • mW to 8 Watts ( Motorola RA08H1317M )

    Larger Image
  • RadioMetrix 145.175 MHz and Opentracker SMT ( in a box )
  • APRS module
  • 1200 baud AX25
  • GPS - NMEA
  • 145.175 MHz
  • 300 mW

    Larger Image
    Larger Image
  • Mode S decode project
    I found I could take the video capture from my DSO (Digital Storage Osciloscope) and decode it using perl under LINUX. I used perl to arm, and then collect the samples from the DSO. The requirement on the DSO was to be 10 MS/S or faster - of which it was. The software determines the maximum height of the replies, and then works out half way from that. The captue window has to be greater than 120 us. My code can identify DME pulses as well. The input is 0-3volts. My perl code detects the Mode S preamble. The code also decodes the CA (Capability flags) within the Mode S message. My code can detect DF17,DF11,DF00 and DF18 messages. The code can also decode the 5 bits into the payload, which indicates message type for DF17. The target Mode S address is also decoded. The FlightID ( BDS 2,0 ) is extracted. The data rate of the Mode S massages is 1MB/s. The Mode S message starts with a pre-amble of 0.5 wid pulses at positions 0,1,3.3 and 4.5 us. The data stream them starts 8 us from the begining of the waveform. The scope is accessable at /sev/tty/ACM0 under linux. The model is a GDS-1022.

    Larger Image
    Mode S formats
    USRP and gnuradio for TX and RX
    I am currently learning about the USRP and gnuradio. This is a hardware interface and software defined radio. I am hoping to be able to try some RADAR types things such as an antenna rotation simulator, Mode S decoder, Multilateration, passive RADAR, mono RADAR. (under LINUX)

    Larger image
    USRP website
    GNUradio website
    PIC 16F628 ADS-B generator
    I took a 16F628 PIC micro running at 8 MHz and generated a DF17 format type 4, Identity packet. I then used my digital oscilloscope and perl under LINUX to decode the waveform. The hex address used was 7CABCD and the flight id of VHABC___.

    Larger image
    Rob Rich - Helicopter Pilot
    My dad, Rob Rich, has been flying most of his life, with most of it spent in the Australian Army. Rob has worked for CASA and emergency services, flying some medium and large helicopters. Rob was the president of the HAA (Helicopter Association of Australia).

    Larger image
    Ronald Rich - Pilot Jackaroo Air Traffic Controller
    In this image you can see my grandfather, Ronald Rich, (furtherest away) at the controls of air traffic control back in the 50's. Ron was also a lancaster pilot during WWII.

    Larger image
    Radio Control Helicopters
    I built and flew a TREX 450 sports edition. Electric motor. GYRO stabilisation for the tail rotor.

    Larger image
    Model building
    I enjoy building models, and also collecting nice diecast ones as well. This is a picture of a Bell 47 helicopter I made a while back, I also have made an F-111 as well.

    Larger image
    Another hobby of mine is rocketry. The engines are designed to burn for so long, coast and then burn a charge that pops out a parachute. The engines are ignited using a hot wire, which is battery powered. The rockets are made of cardboard and very light.
    ADS-B in 3D in google earth
    One of the first things I did when I got my SBS-1 was put the data into MySQL and make it available to google earth. It is quite impressive when you see the path a plane took. Often the updates are every half second.
    ADS-B in UI-VIEW
    I wrote a LINUX PERL script to connect to windows port 30003, which is the ADS-B stream from an SBS-1. I then turned it around and coded it for APRS format packets. I sent them to UI-VIEW local server, so I had cars boats and planes on screen.
    Inside the SBS-1 Mode S receiver
    Inside the SBS-1 / SBS-1er Mode S receiver
    The SBS-1eR is 1090 MHz MODE S receiver with an inbuilt AM Aviation radio. It can receive and decode ADS-B and some MODE S signals. The decode consists of a fast ADC and an FPGA to do the decoding. You need to have windows to make any sense of the data.

    Larger image
    Inside the SBS-1er Mode S receiver
    The SBS-1eR is 1090 MHz MODE S receiver with an inbuilt AM Aviation radio. It can receive and decode ADS-B and some MODE S signals. The decode consists of a fast ADC and an FPGA to do the de coding. You need to have windows to make any sense of the data.

    Larger image
    DSO video
    perl ADS-B display
    I wanted to learn how to use PERL GD , so I took ADS-B data and plotted planes on a plain background. The data came from a MySQL database, which was being fed positions from a PERL script, which was taking in the ADS-B data from an SBS-1 receiver.

    Larger image
    Marine RADAR
    At a hamfest, I spotted a Marine RADAR for sale. I took it home and restored it. I got a few weird looks when I took it down to the seaside and sat it on top of the car for testing. It ended up going to a Marine training school.

    Larger image
    Classical RADAR vs Mode S short
    This image shows a classical RADAR response (20.3 us) and a Mode S short reply (8us of preamble + 56 us of data = 64us)

    Mode S short vs Mode S long
    This image shows a Mode S short (8+56uS = 64us) and a Mode S long reply (8+112us = 120us)

    Classical RADAR vs Mode S long
    This image shows a classical RADAR response (20.3 us) and a Mode S long reply (8us of preamble + 112 us of data = 120us)

    Standard SBS-1 antenna plot
    One of the cool things you can do with PERL and google earth, is record the maximum distance for a partiulcar azimuth. This is the standard 1090 MHz antenna that comes with the SBS-1 ADS-B receiver. Height is not included, just range.

    Larger image
    1090 MHz vertical antenna
    This design has proven itself time and time again. Not very hard to make and gives good results.

    Larger photo
    End caps
    perl GD graph
    It is possible to see the Mode S waveform in a web deliverable png format image, by using a perl GD package. This allows me to look very closely at what the waveform looks like.

    Larger photo
    DME match
    It is possible for DME to sneak into the pass band of my 1090 MHz receiver. I have coded perl up to detect DME.

    Larger photo
    ADS-B example
    In this image I have shown the video capture and the data output of a DF17, Format type 11, Airborne position message.

    Larger photo
    Plaenplotter is a program that can team up amateur ADS-B receiver stations and share the data.

    Larger photo
    ADS-B MiniNet
    Here is an idea I have about sending ADS-B position reports back to small planes for display on a GPS.

    Larger photo
    ADS-B on a Garmin GPS72
    I took the data coming from an ADS-B stream and turned it into serial $GPWPL signals for a GPS72. Planes on screens.

    Larger photo
    Sample ADS-B data from SBS-1
    Like to do some programming for yourself ? Here is some daily logs for you to dabble with.

    ADS-B logs
    1090 MHz video
    Here you can see DME, SSR and MODE S video captures.

    1090 MHz video
    ADS-B on the ground
    So how good is ADS-B on the ground ?

    ADS-B on the ground
    Each day at 09:15 AM and 09:15 PM local time from Brisbane Airport, a radio sonde is released. Here I have been tracking one on 401.500 MHz WFM.

    YouTube Video
    GPS LCD and Radio
    I took a 16F628 with USART, a GPS18 GARMIN GPS and a 20x4 LCD and 433 MHz easy radio module. The GPS data comes into the PIC at 4800 baud, and then the PIC filters out the time, status, lat, lon, and number of satellites. The data is on passed at 19k2 to the easy radio transmitter. The easy radio transmitter takes in the data, adds pre-amble, and encodes the data. At the other end, a receiver does the opposite and sends out reverse TTL logic which goes to a MAX232. Hyperterm is used to watch the output.

    Larger photo
    Glider tracker
    This project required me to send the position of a glider back to base. The GPS used was an inboard GARMIN. The radio was a 434 MHz easy radio. The signal went about 3 kms. Google earth was used to plot the position. It was pretty cool seeing the glider turn downwind than base and finals with 1 second intervals.

    I wanted a LCD display that would show me some information coming from a GPS module. I programmed up a OLIMEX board and dabbled with both two and four line LCD displays. The LCD displays use a 4 wire bus and som control lines.
    Tracker gets a new board
    It was time to make a nice prototype with a more professional PCB. I used eagle and made up a mask. Before that I was using the light exposure method on pre-treated baords to make my own PCB at home.
    ARGOS is a system fitted to LEO Polar Orbiting Weather Satellites. ARGOS receives beacons from trackers on animals and ocean buoys etc. The uplink frequency is 401.650 MHz. NOAA 15 16 17 18 and 19 are fitted with rx capability. NOAA 19 is the first of new set of satellites to carry TX capability for the new ARGOS3 system. This TX on 465.9875 MHz and triggers or polls ground trackers to save on TX duty cycle. METOP-A is also fitted with ARGOS RX and ARGOS TX.
    PIC / 434 MHz Easy Radio Modules
    I took a 16F628 and wrote some code to send telemetry using some 433 MHz Easy Radio modules. These little transmitters and receivers can send up to 180 bytes in one burst. They take care of preamble, manchester encoding and checksum.
    PIC ADS-B generator
    I took a 16F628 PIC MCU running at 8 MHz, which gave an instruction cycle of 500 ns which is 1/2 of one chip in ADS-B. The CRO capture shows the ADS-B pre-amble and the start of the first data chip.
    PIC / 433 MHz OOK
    I took a 16F877 and wrote some code to send telemetry using some 433 MHz OOK AM (On/OFF Keying) radio modules.
    400-470 MHz Power Amp
    Minikits over in VK5 make some nice gear. I put together one of their power amps for UHF. Up to 30 Watts out (adjustbable).
    Radio Direction Finding
    PicoDopp is a doppler radio direction finding kits from the USA. I made one up and tracked a few stations. The display is windows or what ever you like as the data output is serial plain text.
    Tracking solutions
    This is diagram showing mixes of Operating Systems, interfaces and protocols that can be used for tracking.

    Larger image
    Cooby creek tracking station
    During the apollo missions, Cooby creek west of Brisbane took part in the comms relay for NASA.

    Larger image
    APRS and Google Earth
    It is possible to take the position derived from APRS (Autmatic Position Reporting System) and feed the data into a MySQL table.A cgi script can then put targets on google earth on demand.

    Larger image
    Satellite Antennae
    I have tried a few antenna types over the years, vertical, quads, helix, quadhelix, yagis.

    More images
    Radio rack
    I have built a few radio enclosures, here is my latest, housing a 23A PSU , 1200/9600 Baud TNC and ICOM 706 MKii. All portable and with voltage and current meters to boot.

    Larger image
    PIC and PCB's
    Some photos showing some of the PCB's I have made for the PIC.

    Larger image
    Satellite status page
    This website keeps tracking of data coming from the international space station, and other satellites.

    Larger image
    Byonics - APRS kits and trackers
    Byon makes some really nice kits and trackers - check out his web site.

    Larger image
    Opentracker - APRS kits and trackers
    Some really nice kits and trackers - check out his web site.

    Larger image
    137 MHz Weather satellites
    I was involved with weather satellites when they where around on 137 MHz. The carrier was AM modulated 2400 Hz.

    Larger image
    Parrallel port interface
    Jaycar sell a parrallel port intreface board that is handy for all sorts of projects where you need to control something. In my case, when a satellite was coming over, I switched from battery charger to battery for the duration of the pass and then back onto battery charger. All driven by LINUX.

    Larger image
    PIC 16F877A programming
    The 16F877A features comms ports and A/D converters. ADC's are handy for positioning antenna. You run a satellite tracking program under LINUX and then read in where the antenna is and should be, then command the motor to steer that way.

    Larger image
    9600 Baud BISYNC to UDP
    One of my current projects is converting 9600 baud serial sync (bisync) to TCP/IP UDP. 16F628 PIC and Ethernet module from futrelec.

    Larger image
    Nokia 6110 tracking
    GSM Tracker allows you to send your position to a server using UDP.

    Larger image
    Ultrasonic range finding
    I picked up a cheap ultrasonic range finder to see how it worked. I should get a laser system going one of these days.

    Larger image
    GPS and LCD displays
    I was learning about NMEA and PIC coding, so i decided to marry them together and make a simple GPS display.

    Larger image
    434 MHz GPS tracker with LCD Display
    I have started work on a 16F628A / MAX232 / GPS18x LVC / 20x4 LCD tracker.

    Larger image
    Radio Mobile
    Radio mobile is a great program you can use for coverage maps.

    Larger image
    CW / Carrier 16F628 434 MHz TX 10 mW beacon
    I put a 16F628 which keys up a little 434MHz TX sends morse and carrier 10mW.

    Larger image
    GPS to SD CARD Logger
    I have selected a MaxiMite and DuinoMite Mini to collect data from a GPS and store it RAW on SD Card.

    Project Article
    DuinoMite Forum
    Kinetic SBS-3 Video Tap Off
    SBS-3 Video Tap off - 1090 MHz Decode Test point TP26 near AD9203

    Larger image
    Sample Mode S Short
    GPS LED Display
    GPS DuinoMite Mini LED display 7 seg x 8 - SPI 16 bit registers. CLK DIN LOAD GND 5V

    Larger image
    434 MHz Explorer Board
    SK Pang in the UK make a nice EasyRadio Explorer board. USB on board.

    Larger image
    VK4TEC-7 AeroMobile May 2012
    Took a flight ex Redcliffe near Brisbane. Had Kenwood THD72A / Holux M-1000C data logger on board.

    Youtube video
    Logger image
    APRS route
    SBS port 30006 RAW decode
    SBS Mode S receiver can decode DF0,DF4,DF5,DF11,DF17,DF20,DF21

    Port 30006 info
    434 MHz TX and RX
    434 MHz EasyRadio TRS and GARMIN GPS18xLVC PIC16F628 ASM APRS transmitter 1Hz. Receiver is 434 MHz SK Pang (UK) receiver board.

    Larger Image
    FA18 Simulator Ride
    Took a ride in an FA18 hornet simulator here in Brisbane = tons of fun.

    Larger Image
    Garmin 18 5Hz DuinoMite MicroSD logger
    1. Outboard GARMIN GPS 5 Hz
    2. RS232 to TTL converter
    3. DuinoMite Mini running MMBasic
    4. 16 GB Class 10 MicroSD Card
    5. Belkin USB 5 V back pack 2000 mAH
    6. Saves to file very minute
    7. Cuts daily files.

    Larger Image
    AVR data decode Mode S
    AVR data decode Mode S

    Mode S Downlink Formats
    Mode S downlink formats

    Software Defined Radio 1090 MHz
  • SDR Sharp software R820T USB dongle
  • Larger Image

  • ADSB# 1090 MHz Mode S Decode
  • ADSB Sharp software R820T USB dongle
  • AVR format
  • Software
  • Larger Image

  • ADSBScope 1090 MHz Mode S display
  • ADSB Scope software R820T USB dongle
  • AVR format from ADSB# program
  • Larger Image
  • Larger Image

  • RTL1090 1090 MHz decoder Mode S and A/C RADAR and ADS-B
  • RTL1090 Program R820T USB dongle
  • Signals in space display
  • Larger Image

  • Raspberry Pi
  • ADS-B plane tracking server
  • Larger Image

  • Raspberry Pi ADS-B
  • ADS-B plane tracking server SDR dongle, dump1090 sofwtare. 3G or WiFi connection.
  • Larger Image
  • 10 hours ADSBScope

  • DJI Phantom
    I have been flying a DJI Phantom quad copter with great success. Telemetry packages yet to be flown.
  • Andrew Rich DJI Phantom videos

  • QUAD copter APRS
    I flew the DJI phantom with a APRS Hamradio tracker on board
  • Larger Image

  • MaxiMite GPS tracker
    I made a GPS tracker from a GPS, MaxiMite and an EasyRadio 434 MHz TX
  • Larger Image

  • GPS Derived RTC ( real time clock )
    I am making a GPS derived RTC clock
  • Larger Image

  • Dump1090 notes
    dump1090 notes
  • Larger Image
  • dump1090 notes

  • Raspberry Pi server
    Rasberry Pi server
  • Server
  • GPS corrected clock
    GPS corrected clock
  • Code and instructions