In the drive to have a controller for the ubiquidous MKS-901p vacuum gauges available for cheap on ebay (around $50~USD) I decided to take my hand at laying out a board and getting more familar with the MSP430 line of microcontrollers available from TI. I had not long before this gotten ahold of some cheap dev kits off ebay for them which kinda ended up being the deciding factor on using it over an Atmel/PIC/Etc. Although anything probably would have been fine.

Ultimately what I wanted was a simple few button interface, a nice color LCD for not only gauge readout but also graphing functionality, and an onboard supply for everything since the gauge needed 9-30VDC. Now the gauge uses a simple RS-232 interface so this is relatively simple, although with rev 2 of the board I ended up adding an ADC and an 8P8C connector to allow sampling of Pfeiffer ActiveLine gauges to make this a full range vacuum gauge and controller using both a cold cathode gauge (IKR-251) and the MKS-901p.

After some through-hole prototyping with one of the devboards I had and a week of coding I had a basic prototype put together. This included writing a library to control the ILI9341 LCD over SPI and implementing some basic drawing functions and a basic graphing function.

prototype

After this I set my sights on getting a board designed. The goal was to keep it under 100x100mm which is the common size for getting cheap PCBs. I seem to have lost the first rev before I added the ADS8866 ADC for the ActiveLine interface. So here is what the final board ended up looking like.

board_prototype

You’ll also notice a CP2104 on the board. This was added in-case I ended up deciding to sell these. A have some friends in the high-vacuum communities that showed some interest. The idea behind this was to allow for on the fly updating of the firmware over USB. There was also the thought that I might at some point add software on the PC side to allow for data-logging on a PC.

Here is the first rev board together and working. There was a minor issue with the programming interface for the MSP430 but otherwise the board worked beautifully.

working_prototype

I quickly iterated on this board and ended up with rev 2, the PCB layout shown in the kicad view. This is how that board turned out, only a minor oopsie on the input protection for the ADC which was corrected with a small jumper and a cut trace.

rev2_top

rev2_bottom

rev2_assembled

Next I need to add the code and try out the ADC for the ActiveLine gauges, but to do that I need to get a high vacuum chamber going again which is another story.

-Connor Krukosky