openQCM TWIN · Dual-crystal QCMSubtract the world.
openQCM TWIN carries two identical oscillators on one OEM board. One crystal meets your gas or your vacuum; the other stays behind as a reference, under the same conditions. Whatever moves both, temperature first of all, cancels in the difference. Whatever moves only the sensor is your signal.
F10000000,10000000,0
- crystals: sensor and reference
- 2
- frequency range
- 1–25MHz
- Peltier drive
- ±1.5A
- board weight
- ~25g

Two oscillators, one difference.
Two Pierce oscillators on SN74LVC1GX04 inverters, with identical components, drive the sensor and the reference crystal through gold-plated MMCX connectors. A Teensy 4.0 counts both in hardware over 2 ms gates, accumulated into a one-second window, and reports the two frequencies and their difference. The difference also leaves the board as a TTL signal on its own connector, for a counter or a data logger.
Every connector, named.
59.8 × 53.5 mm, four M2 holes. A schematic map, not to scale: point at a connector.
TTL DIFFMMCX · TTL signal at the difference frequency
And a Peltier to hold still.
A Thorlabs MTD415T controller drives a thermoelectric element up to ±1.5 A, heating or cooling, reading a 10 kΩ thermistor with better than 10 mK resolution (2 mK typical). Its digital PID, with auto-tuning, holds the setpoint to 100 mK typical. An MCP9808 sensor (±0.25 °C) watches the board, and a PWM fan output completes the loop.
- Thermistor resolution, typical
- 2mK
- Setpoint stability, typical
- 100mK
- Peltier current, both ways
- ±1.5A
Plain text on a serial port.
The open Arduino firmware prints one line per second: F with reference frequency, sensor frequency and their difference in hertz; T with the Peltier temperature; C with the board temperature. Anything typed on the port goes straight to the MTD415T, so the temperature controller can be tuned from a terminal.
Made to disappear into your rig.
TWIN mounts on four M2 screws and takes your own sensor holder, Peltier, thermistor and fan on push-wire terminal blocks. In the box: the board with a Teensy 4.0 and sample firmware, USB data cable, USB power cable and 5 V adaptor for the Peltier, five SMA-to-MMCX cables and a sample Peltier-thermistor kit.
Where the board ends.
TWIN measures frequency at the fundamental only. Its manual gives no frequency-noise figure and no vacuum rating for the board itself: in a vacuum system, the crystals sit in your holder and the board stays outside, behind a feedthrough.
The data sheet.
From the official manual. Where two documents disagree, the figure is left out until it is confirmed.
Measurement
- Crystals
- 2: sensor and reference
- Range
- 1–25 MHz
- Quantity
- Frequency, at the fundamental
- Oscillators
- 2 × Pierce, SN74LVC1GX04
- Counting
- Teensy 4.0 timers, 2 ms gates × 500 = 1 s
- Outputs
- USB serial (115200 baud); TTL difference frequency
Thermal
- Controller
- Thorlabs MTD415T
- Drive
- ±1.5 A at 4 V, heating and cooling
- Sensor
- 10 kΩ NTC thermistor, resolution < 10 mK (2 mK typical)
- Stability
- 100 mK typical (digital PID, auto-tune)
- Board sensor
- MCP9808, ±0.25 °C typical
- Fan
- PWM output with RPM line
Board
- Size
- 59.8 × 53.5 mm
- Weight
- ~25 g
- Mounting
- 4 × M2 holes
- RF connectors
- MMCX: SENS IN/OUT, REF IN/OUT, TTL difference
- Power
- USB 5 V (logic); 5 V jack (Peltier)
Build TWIN into your rig.
Tell us about your gas cell or vacuum system, and we will help you with holders, Peltier and firmware.