Introduction

AMMC - Amb MyLaps Multidecoder Converter is a command utility to convert multiple decoders binary protocol data into JSON open format. It connects to decoder and waits for data to come. Once received binary packet, this is converted to JSON. Based on command line parameters the JSON is logged, stored to a database or sent to WebSocket. Your timing can read this in real-time from WebSocket or do a query in database.

binary nameAMB/TranX3/ RC4/DR5/ChipXVostok
ammc-amb.exe👍
ammc-vostok.exe👍

For more detail usage see Supported decoder

JSON produced by AMMC is the simplest possible JSON with Passings data. Common fields between decoders are names the same and only filled in with specific decoder's data. Example:

{
  "msg": "PASSING",
  "passing_number": 1,
  "transponder": 232323,
  "rtc_time": "2022-10-11T22:57:36.099241435+02:00",
  "strength": 0.0,
  "resend": false,
  "tran_code": "ID:232323",
  "loop_id": "55"
}
  • each passing has a passing number unique to the decoders session
  • there is transponder or trans_code based decoder type
  • there is always RTC time or UTC time depending on decoders architecture
  • additional features like strength, resend or loop id appears based on decoder's setup and abilities

Fields the decoder did not send are left out, so a passing from one decoder model may carry tran_code, loop_id or voltage where another does not. The complete definition of every field is in passing.schema.json, included in the zip.

Where the JSON goes

On its own AMMC only prints the passings. Add one option per destination, and as many as you like at the same time:

.\ammc-amb.exe --db mysql://root:password@localhost:3306/mysql 10.0.11.10
.\ammc-amb.exe -w 9000 10.0.11.10
.\ammc-amb.exe -e 35000 -w 9000 --db mysql://root:password@localhost:3306/mysql 10.0.11.10

See Storing data, WebSockets and UDP broadcast. Every option also has an AMMC_* environment variable — the full list is on Parameters.

Finding the decoder

With -a AMMC broadcasts on the local network and connects to the decoder that answers, which takes about four seconds. It needs UDP ports 5403 and 5303 open in addition to TCP 5403, and it only works on the decoder's own subnet — broadcasts do not cross routers. When nothing answers you get

[2026-08-09T08:20:15Z INFO  ammc::amb_discovery] No decoders found
[2026-08-09T08:20:15Z INFO  ammc] No decoder found

and AMMC exits. Give the address on the command line instead, optionally with a non-standard port as 10.0.11.10:5403.

AMMC conversion's utility can be also embedded into your app using a native API for JavaScript, Java, C++, Python or any other programming language with FFI interface. For more details with examples see the API description

Supported platforms

AMMC is fully supported on Windows and Linux 64 bit only. Some decoders are supported on Apple OSX as well.

Platform/OSAMBVostokSimulator
Windows 64bityesyesyes
Linux 64bityesyesyes
OSX M CPUyesyesyes
Raspberry Pi 4+ (Arm 64bit)yesyesyes

Windows 32 and Linux 32 are platform supported on request only. If you need other platform, please contact us by email.

The zip has one folder per platform — windows64, apple_m, linux_x86-64 and optionally linux_arm64 — each holding ammc-amb, ammc-vostok and ammc-sim. The examples throughout this documentation use the Windows binaries; elsewhere the commands are the same without the .exe.

For Android support see our AMMC Demo timing app, using the AMMC lib for timing compatible with AMB and Vostok decoders. Contact us for your timing app support on Android or other platform support

Setting up as Windows Service (start on boot)

AMMC can be setup to start with Windows boot. It can be setup as Windows service using nssm utility. The nssm utility can be downloaded from https://nssm.cc/download Extract downloaded nssm-xxx.zip file and run following based on your Windows version (32 or 64bit):

nssm.exe install ammc

A gui of nssm utility opens. Setup following values (see screenshots in "screens" directory):

  • Application -> Path - link to ammc-xx executable file
  • Application -> Startup directory - link to directory where is AMMC extracted
  • Application -> Arguments - fill in parameters required like decoder IP address, license, DB url etc
  • Details -> Display name - name the new service - something like AMMC etc

Other fields might be configured as necessary

Press edit service to save and create new Windows service. The new service can be started by

`nssm.exe start ammc`   (running as superuser might be necessary)

Once started windows will restart the service if failed and start it with Windows boot.

Use nssm.exe start ammc o nssm.exe stop ammc to restart ammc service; or Windows service manager UI to do the same.