Contemporary text + source history

An evidence-based ACARSd timeline.

Dates below are drawn from the December 2004 story, surviving RCS/CVS metadata, archived website documentation and release material. Where the exact day is not preserved, the entry is intentionally approximate.

HA-LCX — the Tupolev KjM wanted to hear

KjM photographs Pannon Airlines Tu-154M HA-LCX at Budapest. It becomes one of the aircraft he most wants to receive through ACARS, but Pannon disappears before that wish can be fulfilled.

The accidental ANAD report

A misdirected email from Gábor K. in Budapest, containing a monthly report of aircraft movements over Hungary, triggers the question: how can this data be received at home?

Debrecen apron access

KjM and Hungarian spotter friends, including Tamás Martényi, are invited to Debrecen for Ural Airlines Tu-154B-2 RA-85459 and Siberia Airlines Il-86 RA-86120. Surviving captions document driving his own car on the taxiways and buckets catching leaking kerosene beneath the Tu-154.

Mriya at Linz

Linz Airport invites KjM onto the apron to photograph Antonov An-225 UR-82060. He travels with Hungarian friends, including Tamás Martényi, and photographs the unique aircraft at close range.

The scanner finally arrives — eventually the right one

After a wrong US shipment, a Uniden Bearcat 120XLT is purchased in Germany. Linux is the preferred platform, but no Linux ACARS decoder can be found.

KRACARS becomes the reference

KRACARS, WACARS and AirNav are compared. KRACARS appears to produce the strongest decode results on the local setup.

Captured WAVs and printed samples

A known ACARS transmission is recorded and repeatedly modified. Approximately a thousand pages of sample values are printed while looking for a usable pattern.

First successful live decode: HA-LOC

With the scanner accidentally connected to the Linux system, ACARSd receives HA-LOC, a new Malév Boeing 737 on its delivery flight. This is the first documented live decode.

The antenna that disappeared

A roughly 4.9-metre roof antenna used for the 131.750 MHz ACARS setup dramatically extends reception. When the message stream suddenly goes silent, the server, PC and Bearcat initially appear to be the suspects. The real cause is discovered after tennis: alarm-system installers working next door have removed the large antenna and put their own small white antenna in its place. The ACARS installation — including the expensive cut-to-length cable — eventually has to be restored.

HA-LOC in front of the camera

KjM photographs Malév Boeing 737-8Q8 HA-LOC at Budapest. The surviving Flugzeugbilder.de entry links the aircraft from ACARSd's first live decode to his aviation-photo archive.

Flying to Concorde’s final German landing

Through the aviation-photo world around fysb.de, KjM receives VIP access for the arrival of Air France Concorde F-BVFB at Karlsruhe/Baden-Baden. Rather than face the expected road congestion, KjM, Jürgen H. and two companions fly from Stuttgart to FKB in Cessna F172N D-ELBW with Julian H. The surviving photographs document both the Cessna and F-BVFB on the day of the Concorde’s final flight. The unusual low slide-in manoeuvre remembered by KjM and Jürgen H. occurred later on the return approach to Stuttgart, not on arrival at FKB. Two photographs by Jürgen H., timestamped 16:17:50 and 16:18:02, were rediscovered in 2026 and now document that return approach. After landing, Julian H. told the passengers that his own flight instructor had died during a similar manoeuvre; the museum records that as Julian’s recollection, not as an independently verified accident comparison.

First documented invitation to Taszár

KjM photographs Volga-Dnepr Antonov An-124-100 RA-82079 while Hungarian military vehicles are unloaded through its nose. Original camera files rediscovered in 2026 reconstruct the operation in detail; EXIF places the spotter group on an armoured vehicle at 09:21:14.

VP-CGM — the photographs never published

During apron access at Stuttgart with Julian H., KjM photographs Dassault Falcon 2000 VP-CGM and shortly afterwards speaks with Michael Schumacher, who asks that his aircraft not be photographed. The pictures are never uploaded to the aviation databases. Rediscovered in 2026, their EXIF metadata fixes the encounter to 30 July 2003 at 13:21:07.

First release + Tcl/Tk client

The decoder is stabilized and released together with a client. Server functionality and a searchable aircraft database are already part of the intended architecture.

Live aircraft positions on a local map

ACARSClient uses static map images and Tcl/Tk canvas plotting to display aircraft when usable latitude/longitude is found in ACARS traffic. The surviving position module credits Ingo Richardt and Kai-jens Meyer. Consecutive reports can be connected into tracks.

ACARS LIVE in the browser

An experimental web client uses the acarsdhttpd proxy, PHP and JavaScript to display live traffic from central Hungary and fetch aircraft images from FYSB. The surviving page labels itself an untested test version.

Developer API

The surviving api.h formalises structured client/server operations for messages, searches, routes, aircraft context, database contributions, access control and compressed or binary data.

Real-world regression testing against ANAD

A special ACARSd build saves audio that ANAD can decode while ACARSd cannot. Repeated improvements eventually produce the documented comparison: ANAD 137 versus ACARSd 169 in one hour.

Four public servers online

The December 2004 story states that four freely accessible ACARSd servers were already online during this early phase, with multiple remote clients connected to the author’s server.

CRC verification added

After feedback from Norway and technical help from the author of RadioRaft, ACARS checksum verification becomes part of ACARSd.

Windows port

The C code is brought to Windows using Cygwin and the Windows audio API. Later builds move to MinGW; Tcl/Tk supplies the cross-platform GUI.

libacarsd documented

Preserved developer documentation is dated 12 December 2003 and describes libacarsd as a real-time multi-pass decoder library.

The original ACARSd manual

A surviving 23-page English manual documents installation, databases, server and daemon modes, logs, frequencies, client/server protocol, live web access and the project acknowledgements. It also records that ACARSd was completely written in C and that an experimental Cygwin build had already succeeded.

TWO IN ONE

Stereo interleaving is exploited to decode two independent scanners from one sound card. Support is then expanded to multiple sound cards.

One listener port: 2202

A preserved CVS log states: “acarsd listens now only to one port (2202).” Older client code still knows 2203 as an alternate server port.

Decoder modularization

The decoding engine lives as libacarsd, exposing a reusable C API. The surviving library repository contains multi-pass code-table decoding, CRC routines, learning experiments and FFT code.

ACARSd 1.51 CVS import

Surviving source comments identify an ACARSd 1.51 import. Later repository resets complicate reconstruction of the earlier revision chain.

Repository recovery

Source history contains the note “New CVS import because old server was crashed,” explaining why some pre-2004 history survives only in embedded logs or old backups.

Taszár Air Base — aviation photography meets the ACARSd world

KjM is invited to photograph World Airways MD-11 operations at Taszár as US troops returning from Iraq continue toward Ramstein. Surviving PlanePictures entries document his photographs of N804DE from that day.

“The story behind acarsd” is written

The project’s origin story is published on acarsd.org while the events are still recent. This becomes the most useful contemporary narrative source for the early years.

ACARSd on the terrace in Corfu

KjM and Jürgen H. use ACARSd as a spotting early-warning system beside the runway at Corfu, feeding scanner audio through a laptop MIC-IN while photographing traffic. A surviving Omskavia Tu-154M image from this day later reaches roughly 52,900 views.

Back to Corfu with scanner, laptop and cameras

Another surviving photo series documents the recurring routine: ACARSd decoding beside the runway while aircraft photography supplied fysb.de and other aviation databases.

Network and database ecosystem expands

Public server lists, real-time web access, central reports, routing/fleet databases and richer clients turn ACARSd into a broader aircraft-data platform.

Up to eight scanners

Release material documents support for four sound cards and eight airband scanners, alongside public uploads, database services and browser-based live servers.

EUclaim data exchange

According to KjM's recollection, a dispute over automatically fetched Dutch flight-number translations leads to a meeting in Amsterdam. Accompanied by his friend Jürgen H., he agrees to exchange the translation data for the ACARSd live stream. Only at a second meeting a few months later does he learn that the organisation behind the cooperation is EUclaim.

Martinair MP815 — a public-record match

A later Dutch judgment documents EUclaim's case concerning Martinair MP815, Amsterdam–Calgary–Edmonton–Amsterdam, operated more than 24 hours late. The route and delay closely match an early EUclaim case remembered by KjM, although the published judgment does not identify ACARSd as an evidence source.

dbadd_lhr bridges the live ingest path

The surviving source continuously imports uploaded contacts into operational MySQL tables and passes normalised records into libhomeradar. KjM remembers this bridge as an important real-time source for ATLAS and other displays.

SBS-1 positions enter the ACARSd ecosystem

libhomeradar reads the SBS-1 BaseStation plain-text stream on TCP 30003. ACARSClient marks these ADS-B-derived records as *SBS-1*, distinguishing them from decoded ACARS messages while reusing the broader aircraft-data platform.

TN-AHT photographed at Sármellék

After an unexpected invitation from the airport, KjM and fellow spotters receive ramp access to photograph Ilyushin Il-76T TN-AHT. Surviving originals document the group in high-visibility vests, creative low-angle photography and Ryanair 737 EI-DLZ arriving behind the parked Il-76. The airframe remained there into April 2009.

ACARSdGUI and the mature console preserved

Nine surviving screenshots show ACARSdGUI 0.27.165 and the Linux console in operation: live messages, aircraft images, first-contact history, airline statistics, keyboard help and the hidden BreakOut/Memory/MovePuzzle games. Where a route was known, the console could also show calculated distance and approximate flight time.

The searchable database hits scaling limits

libhomeradar news records 30-second termination of long queries, new fast indices for flight-number and airport searches, and server slowdowns caused by simultaneous searches. KjM remembers more than 18 million flight movements in the database by this period.

HomeRadar and Mode-S/SBS

libhomeradar generalizes aircraft/flight data handling and adds Mode-S/SBS-related processing, extending the project’s ideas beyond ACARS alone.

AF447 — the archive is queried

After the loss of Air France AF447, F-GZCP, KjM recalls being asked by an organisation involved in accident research for the ACARSd archive of that aircraft. The archive included traffic close to the accident and older messages, including unrelated historical oil-pressure messages.

libacarsd2 turns the decoder into a reusable engine

The second-generation library exposes sound-card decoding, TwoOnOne, ACARS network server/client functions, local databases and later public contribution to applications such as mACARS and winsend2.

Four weeks to build the FlightGlobal application

KjM remembers INLINE marketing manager Daniel F. joking that the deal would soon put KjM in a Porsche. The project instead produced a much more immediate challenge: a Flash/Flex application, a roughly four-week delivery window and a severe contractual late penalty. When no external developer had been found ten days before the deadline, KjM taught himself enough ActionScript to complete the application. His build was finished two days before the London acceptance meeting and was accepted there two days later. The Porsche never materialised.

ATLAS source tree begins

The recovered CVS repository starts with a Flash/Flex application using Google Maps, FlightGlobal branding and distributed SBS receiver data. Internal deployment also points to atlas.inline.de.

winsend2 is updated for the new collector and ATLAS

The recovered CVS log explicitly records “Fixed version to work with new collector and atlas,” linking the broad SBS/RadarBox/ACARS Windows workstation directly to the ATLAS data path. Unlike the earlier Tcl/Tk ACARSClient, winsend2 was a native Win32 application written in C and built in the MinGW32 toolchain, with Windows resources, dialogs, list views and its own WinMain entry point.

Airline-colour aircraft rendering enters ATLAS

CVS logs record “Test with aircraft colorize,” followed on 26 November by “Version 1.86g with airline colorize support.” Aircraft SVGs are assembled from separately colourable body, wings, tail and engine layers.

Colourised icons for all aircraft types

The CVS log explicitly records “Colorized icons for all aircraft types.” The repository contains dedicated silhouettes for major airliner families, regional aircraft, helicopters, business jets and the Beluga.

757, 787 and A350 added

ATLAS expands its type-specific icon set with the Boeing 757, Boeing 787 and Airbus A350.

Phase 1.1 release

Multiple core ATLAS files are tagged with the “Phase 1.1 Release” commit. FlightGlobal URLs remain embedded in the application source.

FlightShare2 becomes the focused ATLAS feeder

FlightGlobal wanted a much simpler contribution program than winsend2. The surviving application identifies itself as the “FlightShare2 1.07a Atlas contribution tool” written by INLINE GmbH for FlightGlobal. It too was a native Win32 C application rather than a Tcl/Tk front-end, using MinGW32-era Windows resources and a WinMain/CreateWindow interface.

Nmap adds a dedicated ACARSd discovery script

acarsd-info.nse identifies and queries ACARSd servers on the characteristic TCP 2202 service, reporting version/API and operational information from the daemon's own protocol response.

The former TN-AHT is lost at Brazzaville

The Il-76 photographed at Sármellék in 2008, by then registered EK-76300, crashes short of runway 05L at Brazzaville in poor weather. Thirty-two people are killed in the aircraft and on the ground.

ACARSd development ends after the commercial project

According to KjM's 2026 recollection, the FlightGlobal contract required work on ACARSd and related projects to stop when the collaboration was no longer continued. The public ACARSd infrastructure itself remained online afterward.

Germanwings 4U9525 — interpreting a flight profile

While in Thailand, KjM receives a call from an old SWF3/SWR3 contact asking for his view of the accident. His immediate reading of the flight profile is that the descent appears controlled. The later BEA investigation establishes that the aircraft descended continuously under autopilot after 100 ft was selected.

The remaining ACARSd servers are shut down

With GDPR becoming applicable across the EU, the surviving public infrastructure is finally taken offline. This shutdown date is preserved as the author's recollection rather than a CVS event.

The museum reconstruction

Original source archives, website content, RCS/CVS files and personal recollections are brought together to document ACARSd as a piece of early networked aviation-software history.