Skip to content

geekysuavo/pyppm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyPPM

An open source Earth's Field NMR Spectrometer.

Introduction

The PyPPM project includes a set of hardware and software designs that enable anyone to perform Nuclear Magnetic Resonance experiments using the Earth's magnetic field.

There are two principal hardware designs in the PyPPM project. The first, PyPPMv1, is a Proton Precession Magnetometer that uses the non-adiabatic method of Russell Varian and Martin Packard to observe NMR signals at Earth's field:

M. Packard, R. Varian, Free Nuclear Induction in the Earth's Magnetic Field, Physical Review, 1954, 93(4): 941.

The second hardware design, PyPPMv2, is more appropriately termed an Earth's Field NMR Spectrometer, as it adds the adiabatic polarization features required to perform more complex NMR experiments.

Note: At the moment, only PyPPMv1 has been verified to function at spec.

Source files

This GitHub repository (or tarball, depending on how you downloaded the source tree) contains all the files necessary for either reproducing or modifying the PyPPM designs. The following sections break down exactly what you can expect to find in each subdirectory of the repo. Each subdirectory also contains it's own README.md file that provides further explication.

Designs

The designs directory holds hardware (schematic and printed circuit board), coil, and enclosure designs. Anything physically constructable is likely to have design files living in this subdirectory.

Firmware

The firmware directory contains all device firmware, both for PyPPM devices and any other devices that use megaAVR microcontrollers.

Footprints

The PyPPM project uses the gEDA PCB design tool for all printed circuit boards. While the gEDA footprint library is fairly extensive, a few custom device footprints had to be made to suit the more exotic/modern parts that went into PyPPM boards.

Models

The models directory holds all SPICE models used by simulations of PyPPM circuit behavior. To see the actual simulation files, look in simulations.

Notes

The notes directory holds a few random jots of information that don't really fit into any of the other subdirectories, like recommended color schemes for Gerber rendering, etc. Documentation related to the PyPPM's entry into The Hackaday Prize will also be placed here.

Scripts

Miscellaneous support scripts that I wrote to make my own life easier during PyPPM development are co-located in the scripts directory.

Simulations

The simulations directory contains all SPICE simulations I've made to analyze the behavior of subcircuit modules in PyPPM.

Software

The software directory holds all software written during the course of the PyPPM project's development. Anything from command-line utilities to python modules to calculations of free induction decays is here.

Symbols

The symbols directory holds all custom gEDA gschem schematic symbols used in the PyPPM schematics.

Licensing

All software in the PyPPM project is released under the GNU GPL 3.0, and all hardware designs (PCB and case designs) are released under the CC-BY-SA 2.0.