Nicholas works with Fermilab on the QuarkNet project. Fermilab's QuarkNet project provides high schoolers with the equipment needed to run their own high-energy Particle Physics experiments. There is a great learning curve though, and it is very challenging for people to run their own experiments until they are able to attend a once-a-year weeklong workshop. The Current Interface for Quarknet CRMDs (Cosmic Ray Muon Detectors) is an older Java application. It is inefficient as it does not provide good realtime data analysis, remote access, or easy understanding of the code. Moreover, the code to the existing app has been outright lost, and cannot be maintained.

What it does

rEQUIP aims to provide a solution; The goal is to make the learning curve smaller, to run faster and to be scalable.

How we built it

We used a combination of Node.js, Python and Polymer, utilizing the absolute strengths of each platform- Node.js is the industry standard for concurrent operation and realtime communication platforms based on the web; Python is the best language for data analysis.

Challenges we ran into

  • We were unsure of how to make python operations on large lists more efficient, we solved this with constant use of lambda functions.
  • the Serial output was not being split up into uniform blocks; it was being cut into non-uniform blocks.

Accomplishments that we're proud of

We were able to interface a Raspberry Pi with the CRMD control board. We were also able to run all the data analytics on a ~15MB file in under 5 seconds.

What we learned

We learned a lot about the principles of material design, a bit more about high energy physics and a lot more about realtime communication.

What's next for rEQUIP

  • Better data analysis
  • More scalabiity
  • State management
  • Account management to allow for a central instance
  • Better division of DOM manipulation and hardware interface
  • Detector profile management
  • More friendly UI (friendly interface for confusing operations)
  • Assisted plateauing (detector calibration) interface + fully automatic barometer calibration
  • Built in explanation of board operation

Built With

Share this project: