I wanted to share my recent work updating Finn Hammer's MKS 901P pressure transducer display and power source from 2017 for both myself and others on the forum. The impetus came from wanting to build my own version of Joe Ballantyne's Fusor V2 and wondering what the most cost-effective way would be to monitor the vacuum pressure. I had noticed that 901P Vacuum Transducers could be acquired (in questionable condition) from eBay for less than $50, which led me to Finn's thread. After that, I set out to make my own.
I used JLCPCB, a very affordable Chinese PCB prototype service, to order the last revision of the PCB along with the other parts and battery. All together, I think it came out to be about $50. After I got all the parts, several issues arose:
- All the OLED displays seem to have swapped VCC and GND pins since Finn's original design - you can see the jump cables I used in the picture to address this.
Programming the Pro Mini was a pain. The CP2102 USB 2.0 to UART TTL with a USB-C port also caused me much aggravation - it just wouldn't work on my Mac. A deep dive on the manufacturer's forum eventually led me to the answer that the chip would only work on Mac when connected through a USB-A port. I had to go from USB-C -> USB-A -> USB-C to get it working. It was incredibly difficult to reprogram the Pro Mini due to the serial being flooded by the usage of the only dedicated serial pins to communicate with the 901P. Programming it required holding the reset button until a precise moment (that could only be guessed) right after the initial communication from the computer to the Arduino - this issue would bite me again later...

His enthusiasm inspired me to go further. I had wanted to swap out the deprecated Pro Mini with the more readily available Arduino Nano, which had an onboard USB FTDI Interface for programming. Additionally, it was readily available with the 2.54mm headers pre-soldered, saving more soldering work. With both these changes, I could eliminate all soldering completely.
I added a TPS61170DRVR-based circuit to provide about 9.6V of power to the 901P and updated the design to include female headers for both the display and the Nano so that it would be plug-and-play. I placed an order for the minimum 5 copies of the redesigned board. I also experimented with a number of displays - I purchased 0.96 inch (used by Finn originally), 1.3 inch, and 2.42 inch OLED displays. The 2.42 was so big I had to use a standoff header so that it would fit - it was very wobbly!
Unfortunately, after I got the prototypes in the mail, I came across an issue that I should have foreseen - overloading of the Arduino's serial ports. It turned out that the FTDI chip just sharing the lines was enough to interfere with the 901P connection. In exasperation, I ripped out the USB/serial chip from one of the Nanos and resorted to programming it the same way as I had the Mini. Afterwards, I realized I could instead emulate serial communication on other digital pins of an Arduino board using software to replicate the functionality. The emulated serial connection, of course, lacks the performance and capabilities of the dedicated hardware-based serial communication, but the communication with the 901Ps is quite simple. For the rest of the boards, I was able to simply clip the two female header connectors that connected to the Nano's serial pins and solder two jumper wires behind the board to connect the Max3232 board to two unused digital pins on the back- you can see the green and white wires in the picture below: After this, I sent Joe the 4 remaining unharmed boards along with 6 different displays with a variety of sizes and colors to test. After getting back some feedback, I've updated the design to use a simpler on-off button that doesn't stick off to the side so much and changed the D-sub connector to one without hexagonal standoffs sticking out (turns out my 901P did not have threaded studs, but most do!). I've also updated the circuit to use an emulated serial port from the digital pins on the Arduino. I've ordered 5 more boards with this (hopefully) final design! I also updated the software - the buttons now simply iterate either forwards or backwards through the three pressure units (mbar, torr, and pascal). Using two buttons for this purpose is a bit excessive... but whatever

When purchased in decent volume, the new design is almost an order of magnitude cheaper than the old design! We decided on the white 1.3 inch OLED - if you want to use one of the other display sizes, you will have to reprogram the board, which should be easy now that they have an onboard USB connector. Soon they will be available for purchase paired with a tested 901P on Joe's store! If you already own a 901P then I'm sure he can sell you a board alone as well.
I want to thank Joe for his numerous suggestions and support and for helping fund the first two rounds of 5 prototype orders. I also want to thank my local electronic parts supply store - they saved me when I inadvertently ordered the wrong type of D-Sub connector from Digikey for my first order: Anchor Electronics, 2040 Walsh Ave, Santa Clara, California. Now, I need to finish my Cloud Chamber project!
In the future, one could use this to also recalibrate 901Ps: https://www.mks.com/mam/celum/celum_ass ... n-REVI.pdf
Theoretically, the board could be simplified further… the entire top row of buttons, switches, and the usb c port could be dropped. The board would then just be powered through the Arduino’s own usb c and pressure units could be fixed (changed by reprogramming). Power on and off would be controlled through unplugging it.