Free tool · EVA-DTS 6.2.2

DEX Reader

Read a DEX report off a vending machine over a serial lead — or open a .dex file you already have — and see every field named against the EVA-DTS standard, with the timing of the exchange that fetched it.

  • Runs in your browser. The report is decoded on your own machine.
  • Nothing is sent unless you tick a box below and say so.
  • No sign-up, no licence, no install.
  • Chrome, Edge or Opera to read a machine; any browser to open a saved file.

What it does

Press Collect and the reader runs the whole exchange with the machine — the handshake, the block-by-block transfer, the acknowledgements, the integrity check — and then takes the report apart.

A summary first: the machine’s identity, what it has sold since it was commissioned and since the last reset, cash in and cash out, and a line for every selection with its price, its vend count and its takings.

Then every field. A DEX report is a few hundred lines that look like VA1*1250*17*1250*17. The reader names each one against the EVA-DTS data dictionary — what the segment is, what element this is within it, what the standard says the field means, what type and length it should be, and what page of the specification to look it up on. Currency fields are scaled by the machine’s own decimal setting and labelled with its currency, rather than shown as raw digits.

And the timing. Every frame in and out of the port is stamped, so you can see how long the machine took to answer each request, how close it ran to the protocol’s own timeouts, and what throughput the link actually achieved. When a collection is slow or flaky, this is usually where the reason is.

Who it is for

  • Operators and technicians with a machine that is not adding up — a DEX read tells you what the machine believes it has done, which is the first thing to check against what the management system believes.
  • Anyone integrating DEX who wants to see, field by field, exactly what their equipment is emitting and whether it matches the standard.
  • Anyone handed a .dex file who cannot read it. Open it here; no lead required.

If you want this happening automatically instead of by hand, that is what vending telemetry is — a modem in the machine reading DEX on a schedule and pushing it to a management system that turns it into stock levels and route plans. We have written about real-time DEX collection separately.

Where it came from

We wrote this for ourselves. Our own control board produces DEX reports, and checking them by eye against a 300-page specification is exactly as tedious as it sounds. It reads other manufacturers’ machines just as well, so we have put it here rather than leaving it on a bench.

The decoder is built directly from the EVA-DTS 6.2.2 data dictionary — 695 elements and 416 event codes, extracted from the published specification rather than typed in by hand — and the same code is tested against a real control board on every change.

Frequently asked questions

What is a DEX file?

DEX is how a vending machine reports on itself. The machine keeps a running audit — how many of each selection it has sold, for how much, how much cash is in the tubes and the box, every door opening and fault since the last read — and hands the whole thing over as one block of text when a service tool asks for it. The format of that text is EVA-DTS, a standard published by the European Vending & Coffee Service Association. A .dex file is simply that text saved to disk.

How do I read a DEX file from a vending machine?

You need a serial connection to the machine’s DEX port — usually a 3.5 mm or 6.35 mm jack on the control board, sometimes a DB9 — and something at the other end that speaks one of the two protocols the standard defines. Open this page in Chrome or Edge, plug in a USB-to-serial lead, press Collect and pick the port. The reader runs the handshake, pulls the report and decodes it. If someone has already sent you a .dex file, you can open it here instead and skip the lead.

Is this DEX reader free?

Yes, and there is nothing to sign up for or install. It runs entirely in your browser: the report is decoded on your own machine and is not sent anywhere unless you tick the box asking us to keep it.

Which browsers can talk to a serial port?

Reading from a machine uses the Web Serial API, which Chrome, Edge and Opera support on desktop. Firefox and Safari do not implement it, and no browser on iOS does. Opening a saved .dex file works in any browser. There is also a small bridge program for anyone on a browser without Web Serial — see the next question.

What is the bridge, and why does my browser ask about my local network?

The bridge is a small program you run on your own computer that shares one serial port over a local WebSocket, so a browser with no Web Serial support can still read a machine. Because this page is served from the internet and the bridge is on your own machine, Chrome treats it as a local-network access and asks your permission first; allow it and the reader connects. If you would rather not, run the reader locally instead — it is a single self-contained page and works the same way offline.

What is the difference between DEX/UCS and Enhanced DDCMP?

They are the two ways EVA-DTS defines for getting the report out of the machine. DEX/UCS (chapter 4) is the older and simpler one — fixed 9600 baud, ENQ, then a series of framed blocks that you acknowledge alternately. Enhanced DDCMP (chapter 3) adds a negotiated baud rate, a proper header on every message and a richer set of error responses, and is what most newer equipment uses. This reader speaks both, and both are decoded into exactly the same report.

What does the G85 check mean?

G85 is the last segment of a report and carries a CRC-16 over everything before it. Recomputing it is how you know the report arrived intact — a good check means no byte was dropped or altered between the machine and you. The reader shows the result in its header, and tells you which of the standard’s permitted byte orders matched.

Can I use this on any brand of vending machine?

Any machine with a working DEX port should read, whatever the brand. The decode is driven by the EVA-DTS data dictionary rather than by anything specific to our own boards, so the fields are named the same way for everyone’s equipment. Manufacturers do add their own segments, and where one appears the reader shows it and says plainly that the standard does not define it.