Skip to the content
4 layersIONPAK2, the printed circuit board in 3D

A modern, low-cost universal controller for hot-cathode ionization vacuum gauges. (WIP)

Copper layers
4
Thickness
1.6 mm
Parts
259
Nets
166
Pads
839
Tracks, vias
2,722, 256
Pours
24
Routed
Yes
KiCad
KiCad 4
Created
3 May 2017
Updated
6 Feb 2019

Overview

IONPAK2 is an open-source printed circuit board by m-labs, from the m-labs/ionpak repository on GitHub. It is a 4-layer board with 259 parts on 166 nets, routed with 2,722 tracks and 256 vias.

It is built around the FAN3100CSX, 74HC00D and AMS1117-3.3, with the BAT54, DMG2305UX and DMN3404L among its other parts. Its parts include 116 resistors, 58 capacitors, 18 diodes, 12 transistors and 10 ICs.

Main components

12

README

README.md

ionpak

A modern, low-cost universal controller for hot-cathode ionization vacuum gauges.

ionpak picture

Why?

Many physics experiments require a good vacuum and therefore tools to diagnose vacuum-related problems. Ionization gauges provide a way to measure pressures in the medium to ultra-high vacuum regimes.

While the gauges themselves can be procured quite easily, the controller situation is more problematic. Existing commercial and DIY solutions have one or more of the following issues:

  • expensive
  • proprietary
  • poor performance at low (pA) collector currents
  • designed with obsolete components and overly bulky
  • lack of gauge voltage/current programmability
  • no/poor connectivity to a logging database
  • poor design and construction

The ionpak features:

  • a single-board low-cost design with modern components
  • open hardware and software
  • sub-pA electrometer performance
  • configurable voltages and emission current to adapt to various gauges
  • Ethernet connectivity

Where to find ionization vacuum gauges?

For medium and high vacuum, Chinese gauges can be ordered on Taobao under references ZJ-27 and ZJ-10. The Chinese for ionization gauge is 电离规. Those gauges have a simple construction and an extremely low cost, under USD 10 for glass tubulated models (requires flameworking) and a few times that price for flange-mounted ones. Those manufactured by Chengdu Zhenghua appear to work satisfactorily, and glass gauges arrive sealed under vacuum (around 10⁻⁵ to 10⁻⁶ mbar) so they can be tested immediately. Ceramic sockets for the gauges can often be ordered from the same Taobao vendor.

For ultra-high vacuum, you can use G8130 from KJLC, which is pricy but of excellent quality. There is a lower-cost Bayard-Alpert Chinese gauge ZJ-12, of dubious quality for those pressure ranges, and with 2.5x less sensitivity than the KJLC part.

A low-cost source of quality UHV gauges remains to be found. You can try eBay, but the condition of the items is highly random.

How to connect the gauge?

The collector must be connected with a shielded (e.g. coaxial) cable. If the gauge has a metallic body (e.g. gauges mounted on CF flanges), connect the shield of the cable to the body, so that current from the high voltage electrodes will not leak into the collector electrode. This should not cause any ground loop in your system, as the gauge circuits inside the ionpak are galvanically isolated from its power input and from its Ethernet connector.

If a single cable is used for the filament and anode connections, the anode wire must be particularly well insulated from the filament wires, to avoid leakage currents that can be significant when the gauge is operated with a low emission (100µA or less) and influence the measurement result.

"Domino" terminal blocks from the local hardware store, with the plastic removed, can be used to connect the cables to the pins of CF-flanged gauges. Female circular contacts, such as Amphenol AT62-16-0122, are a nicer alternative but are slightly harder to find.

For baked systems, use PTFE insulated cables that can withstand 200°C. Operating the gauge during bake-out can remove the need to degas it (see the paper Comments on the stability of B-A ionization gages).

It is a good idea to attach the cables to the vacuum system with a strap to avoid damaging the gauge by accidentally pulling on the cables, and to place a cover onto the pins to reduce the electrical shock hazard from the high voltage. Preferably those items should be made of metal so that they can be left on during bakeout.

Using the ionpak

Connect the ionpak to a firewalled Ethernet network only, as it does not provide authentication over the network.

The ionpak has a static IP address that defaults to 192.168.69.1. It has a self-explanatory web interface that you can access by pointing your browser to http://192.168.69.1. By default, the controller is disabled and the ionpak will not produce any output voltages; use the web interface to input your gauge settings and enable the controller.

The IP address, along with all the other configuration options, can be reset to the defaults by holding the pushbutton while the ionpak is powering up. The status LED will flash rapidly to acknowledge the configuration reset.

In addition to displaying its measurement results in the web interface, the ionpak exports them in the JSON format. The results are very straightforward to access from Python:

text
>>> import requests
>>> import json
>>> json.loads(requests.get("http://192.168.69.1/measure.json").text)
{'pressure': 3.8e-06, 'current': 3.357e-08}

In the JSON document, pressure is expressed in millibars and current (through the collector input) is expressed in amperes.

Warning

Ionization gauges use dangerous voltages and the ionpak is capable of delivering a lethal amount of power. Be careful and use at your own risk.

Building and loading the firmware

sh
cd firmware
cargo build --release
openocd -f openocd.cfg

License

Copyright 2017 M-Labs Limited.

License TBD, probably will be CERN OHL and GPL.

Pictures in the pictures folder, except proto_rev1.jpg, are copyright Michelle Poon and not free.

Parts

259
QtyValueFootprintReferences
220.1uFCapacitors_SMD:C_0603C101, C102, C103, C104, C201, C205, C304, C353, C355, C410, C411, C414, C502, C503, C504, C505 +6
1410KResistors_SMD:R_0603R119, R121, R301, R320, R351, R355, R356, R501, R503, R510, R519, R520, R521, R522
1110uFCapacitors_SMD:C_0603C400, C401, C402, C403, C404, C405, C406, C407, C408, C409, C511
10BAT54proj_footprints:SOT-23D100, D101, D102, D208, D209, D211, D304, D305, D306, D500
9240RResistors_SMD:R_0603R213, R300, R319, R350, R403, R406, R502, R508, R509
810K/1%Resistors_SMD:R_0603R112, R117, R215, R221, R223, R230, R317, R318
71KResistors_SMD:R_0603R111, R217, R218, R404, R405, R523, R524
733KResistors_SMD:R_0603R118, R120, R207, R210, R407, R408, R500
77.5K/1%Resistors_SMD:R_0603R113, R115, R211, R212, R214, R238, R239
54.7K/1%Resistors_SMD:R_0603R110, R208, R209, R226, R228
5470uF/16VCapacitors_THT:C_Radial_D13_L21_P5C300, C301, C350, C356, C412
410uF/25V/1206Capacitors_SMD:C_1206C302, C303, C351, C352
4240R/1%Resistors_SMD:R_0603R116, R229, R400, R401
43.5mm_Mounting_Holeproj_footprints:NPTH_3mm5_IDH401, H402, H403, H404
4470K/1206Resistors_SMD:R_1206R308, R309, R310, R311
449.9RResistors_SMD:R_0603R511, R512, R513, R514
475RResistors_SMD:R_0603R515, R516, R517, R518
315M/1%/RNVResistors_ThroughHole:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR200, R201, R240
3470R/1%Resistors_SMD:R_0603R114, R220, R227
3DMG2305UXproj_footprints:SOT-23Q100, Q101, Q401
3DMN3404Lproj_footprints:SOT-23Q104, Q202, Q203
3S1Mproj_footprints:DO-214ACD201, D300, D350
20.1uF/100V/1206Capacitors_SMD:C_1206C305, C354
20RResistors_SMD:R_0603R304, R354
21000pFCapacitors_SMD:C_0603C500, C501
2100KResistors_SMD:R_0603R102, R107
2100K/1206proj_footprints:R_1206_nsR100, R101
2100RResistors_SMD:R_0603R222, R504
210uF/450VCapacitors_THT:C_Radial_D14_L25_P5C307, C308
212pFCapacitors_SMD:C_0603C512, C513
21uFCapacitors_SMD:C_0603C202, C204
22.7M/1%Resistors_SMD:R_0603R205, R206
22200pF/2kV/1812Capacitors_SMD:C_1812C309, C515
22N7002proj_footprints:SOT-23Q102, Q103
23.3RResistors_SMD:R_0603R302, R352
233RResistors_SMD:R_0603R108, R109
24.7K/2512Resistors_SMD:R_2512R303, R353
2560K/1%Resistors_SMD:R_0603R202, R203
274HC00SMD_Packages:SOIC-14_NU501, U502
29001-05-00proj_footprints:COTO-9001_nsRL100, RL101
2BAT54Sproj_footprints:SOT-23D206, D210
2FAN3100Cproj_footprints:SOT-23-5U301, U351
2FB_10Aproj_footprints:28F0121-0SR-10FB400, FB401
2H11Lproj_footprints:6-SMDU300, U350
2HMC1206JT500Mproj_footprints:R_1206_nsR105, R106
2IRFR3411proj_footprints:DPAKQ300, Q350
2LTL-533-11LEDs:LED_D3.0mm_Horizontal_O3.81mm_Z10.0mmD400, D501
2TSV324ASMD_Packages:SOIC-14_NU101, U200
110000pF/1206Capacitors_SMD:C_1206C200
1100pFCapacitors_SMD:C_0603C357
110K/RNVResistors_ThroughHole:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR306
110RResistors_SMD:R_0603R402
110pF/1206Capacitors_SMD:C_1206C306
115M/RNVResistors_ThroughHole:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR525
1180R/1%Resistors_SMD:R_0603R225
1180R/1WResistors_ThroughHole:R_Axial_DIN0414_L11.9mm_D4.5mm_P15.24mm_HorizontalR216
11M/1%Resistors_SMD:R_0603R204
12035-09proj_footprints:BOURNS-GDT-2035THGDT201
12051-09proj_footprints:BOURNS-GDT-2051_nsGDT100
12057-35-BLFproj_footprints:BOURNS-GDT-2035THGDT400
122KResistors_SMD:R_0603R219
122R/1WResistors_ThroughHole:R_Axial_DIN0414_L11.9mm_D4.5mm_P15.24mm_HorizontalR312
125MHzproj_footprints:XTAL3_2X2_5Y500
127K/1%/1206proj_footprints:R_1206_nsR103
12KResistors_SMD:R_0603R507
12M/1%/RNVResistors_ThroughHole:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR313
12R/2512Resistors_SMD:R_2512R305
13.3K/1206Resistors_SMD:R_1206R307
136R/1%/1206Resistors_SMD:R_1206R224
13mm_Mounting_Hole_EARTHproj_footprints:3mm_EARTHH400
14.87K/1%Resistors_SMD:R_0603R505
147pF/1206proj_footprints:C_1206_nsC100
15.1M/1%/1206proj_footprints:R_1206_nsR104
151RResistors_SMD:R_0603R506
1AMS1117-3.0proj_footprints:SOT-223U403
1AMS1117-3.3proj_footprints:SOT-223U404
1BAS116proj_footprints:SOT-23D202
1BC807-40proj_footprints:SOT-23Q400
1BC817-40proj_footprints:SOT-23Q301
1BNCproj_footprints:bnc_90_1-1337543-0_nsP1

The 228 most common of 259 parts.

More from m-labs/ionpak

1
  • 4 layersIONPAK1, the printed circuit board in 3D

    IONPAK1

    m-labs/ionpak

    A modern, low-cost universal controller for hot-cathode ionization vacuum gauges. (WIP)

    246 parts23

Similar boards

  • 2 layers91.4 × 40.6 mmMhixy, the printed circuit board in 3D

    Mhixy

    iblue/mhi-xy-bus

    Reverse engineering of the Mitsubishi Heavy Industries X/Y Bus as used in FDUM air condition

    70 parts6
  • 2 layers18 × 19.5 mmJar light, the printed circuit board in 3D

    Jar light

    jonnydyer/jar_light

    26 parts
  • 2 layers150 × 80 mmRpi extension, the printed circuit board in 3D

    Rpi extension

    andriy-bilynskyy/rpi-extension

    This project is a PCB design to create SDR transceiver using Raspberry Pi and Radioberry boards. Simple connection of boards seems incomplete:

    97 partsMIT
  • 4 layers166.3 × 70 mmGanglia, the printed circuit board in 3D

    Ganglia

    H2O-Tnp/ganglia

    Ganglia is an open BLDC / brushed motor driver platform — custom PCB hardware plus STM32 firmware that runs a real-time control loop on top of FreeRTOS.

    202 parts
  • 2 layers105 × 50 mmMagneto chico, the printed circuit board in 3D

    Magneto chico

    MarianoDel/kicad_magneto_chico

    Placa para el magneto chico

    53 parts
  • 4 layers217 × 152 mmWirebonder, the printed circuit board in 3D

    Wirebonder

    onurefe/Wirebonder

    Wirebonder hardware for buspin

    356 parts
  • 2 layers100 × 155 mmCurrent dr psu, the printed circuit board in 3D

    Current dr psu

    werediver/current-dr-amp

    A current drive headphone amplifier

    82 parts7

Questions

What parts does the IONPAK2 use?

259 parts, built around the FAN3100CSX, 74HC00D, AMS1117-3.3 and BAT54. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the IONPAK2 KiCad files?

From the m-labs/ionpak repository on GitHub, at the commit this page was made from: the board is hardware/rev2/kicad/IONPAK2.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the IONPAK2 design in my own project?

Its repository states no licence, so its author keeps all rights: ask m-labs before reusing the design.