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 name | AMB/TranX3/ RC4/DR5/ChipX | Vostok |
|---|---|---|
| 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
transponderortrans_codebased 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/OS | AMB | Vostok | Simulator |
|---|---|---|---|
| Windows 64bit | yes | yes | yes |
| Linux 64bit | yes | yes | yes |
| OSX M CPU | yes | yes | yes |
| Raspberry Pi 4+ (Arm 64bit) | yes | yes | yes |
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 fileApplication->Startup directory- link to directory where is AMMC extractedApplication->Arguments- fill in parameters required like decoder IP address, license, DB url etcDetails->Display name- name the new service - something likeAMMCetc
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.