Close

Brace yourselves... revisions are coming

A project log for PyPPM: A Proton Precession Magnetometer for all!

A device for conducting Nuclear Magnetic Resonance experiments at Earth's field

bradley-worleyBradley Worley 07/09/2014 at 22:330 Comments

After some very insightful conversations with other Projects members on the PyPPM design, I've made the decision to add several new features to the final version of PyPPM, which I'll officially call PyPPM 2.0.

Consider this my own little unofficial RFC. I want to know what you think about the features and the new design, before I've finalized it. Here's a quick overview of what's to come:


So, without further ado: the PyPPM 2.0 block diagram overview:

Oh, and the latest board design :) Like the logo? (It's a proton)


One of the most exciting features of the new PyPPM design is the opportunity to accept "pulse programs", which are small sets of commands that flexibly describe the details of any given experiment. Instead of having a hard-coded "bang-bang" non-adiabatic experiment, the PyPPM will accept any sequence of pulse program commands and parameters and interpret and execute them on the fly! That means the user can run anything from the simple non-adiabatic experiment, to spin echos, to multi-acquisition Carr-Purcell-Meiboom-Gill experiments or even two-dimensional experiments. Fun!

Here's what the building blocks of the PyPPM 2.0 pulse program language look like:

TL;DR: PyPPM 2.0 has graduated from a simple magnetometer to a complete Earth's Field Nuclear Magnetic Resonance Spectrometer.


And as always, the latest revisions are available in the PyPPM source code on my website, also linked from this project page. Let me know what you think!

Discussions