Millennium USB Pulse Rate Totalizer

The simplest, most reliable way to get pulse data into any USB-equipped system

Millennium USB Pulse Rate Totalizer
Millennium Top View

The Millennium is a compact, optically isolated USB I/O module that connects pulse-output sensors directly to any Windows PC, industrial PC, PLC, Raspberry Pi, or custom controller — using a simple ASCII serial command interface that any language or platform can drive.

A non-volatile totalizer with a 281-trillion count maximum means the Millennium never loses count through a power cycle and effectively never overflows. Both the pulse input and the USB interface are optically isolated, eliminating ground loops in noisy industrial environments.

 Contact →

Compatible Host Devices

Windows PCAny USB port Industrial PC / HMIPanel mount PLC (USB host)Direct connect Raspberry Pi / SBCLinux / IoT Custom ControllerASCII serial

Technical Specifications

Input Power+12 VDC, <30 mA
Pulse Input — TypeOptically isolated, 5 to 24 VDC
Pulse Input — Frequency0.5 Hz to 30 kHz
Pulse Width> 33.33 µs high / low
Analog Inputs3 channels, 0 to 5 VDC, 12-bit resolution (0 to 4,096)
Digital Inputs2 channels, 5 VDC
Digital Outputs3 channels (2 user + 1 power-on indicator), 5 VDC
USB InterfaceOptically isolated, Mini-B connector, 128,000 baud
Totalizer / Counter56-bit non-volatile counter; retained through power loss
Maximum Count72,057,594,037,927,935
Count Longevity~76,000 years @ 30 kHz  •  ~457,000 years @ 5 kHz
Communication ProtocolASCII serial commands via USB

ASCII Command Reference

Command ASCII Code Description
Read Counter '&' (38d, 26h) Returns the accumulated pulse total
Read Rate '^' (94d, 5Eh) Returns the current pulse frequency
Reset Counter '-' (45d, 2Dh) Clears the counter via USB command
Read Analog — Single Channel '$' + ch# (36d, 24h) Returns 12-bit ADC value for one analog channel
Read Analog — All Channels '$' (35d, 23h) Returns all three analog channel values
Read Digital In — Single '!' + ch# (33d, 21h) Returns state of one digital input channel
Read Digital In — All '@' (64d, 40h) Returns all digital input states
Write Digital Out '$' + ch# + '01'/'00' Sets a digital output ON ('01') or OFF ('00')

Application Examples

Flow Measurement Connect any turbine, gear, or paddle-wheel meter with pulse output directly to a PC or controller — no dedicated flow computer required. Fuel & Fluid Dispensing Precise batch totaling for fleet fuel management, chemical dispensing, and lubrication systems. Isolated USB eliminates ground loops in vehicle environments.
Spindle / RPM Monitoring Feed encoder or hall-effect tach signals from CNC spindles, motors, or turbines into Windows-based machine control software. Compatible with Mach3 / Mach4. Energy Submetering Interface pulse-output kWh meters (typically 1,000 pulses/kWh) to PC-based energy logging, SCADA, or building management systems.
Rotating Equipment & Run-Hour Logging Non-volatile count survives power loss — ideal for tracking run hours on pumps, compressors, fans, and conveyor drives. Industrial IoT / Edge Computing Feed clean, isolated pulse + analog + digital data into Raspberry Pi, BeagleBone, or any Linux SBC running a data acquisition or IoT gateway application.
📄 Product Specification Sheet
Millennium USB — Full specifications, command reference, and application notes (PDF)
Download PDF ↓