Skip to content

Instantly share code, notes, and snippets.

@pingud98
Last active August 21, 2021 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pingud98/7adabd05bb9c5656f92600a7d232dbf8 to your computer and use it in GitHub Desktop.
Save pingud98/7adabd05bb9c5656f92600a7d232dbf8 to your computer and use it in GitHub Desktop.
Cosmic Pi Presentation - CERN WEBFEST 2021

%title: Cosmic Pi - A short intro %author: James Devine %date: 2021-08-21

-> # Cosmic Rays <-

When we started, we had a crazy idea. Let's replicate CERN and put it in a box. Accelerator + Detector + Data Analysis Open source, both hardware and software.


-> # What can we do with it? <-

Cosmic rays are implicated in our climate system. They can cause cloud nucleation. Clouds are very important for our climate.

Two important questions:

  1. How many cosmic rays are there right now?
  2. How many cosmic rays were there before we measured them?

-> # Muons <-

  • High energy cosmic rays hit the atmosphere.
  • They decay into lower energy particles.
  • Muons can be detected at sea level.
  • With a scintillator, you can 'see' muons.

-> # Detector Technology <-

When we started our project (2014), everyone was using GM tubes. This is the cold-war tech you see in movies for radiation detectors. We wanted to use current electronics from CERN detectors.

  1. Scintillator material (Muon -> Photons)
  2. Silicon Photomultiplier - SiPM (Photons -> Electrons)
  3. Front end (Electrons -> Digital signal)
  4. Raspberry Pi (Digital signal -> Internet)

-> # An embedded system <-

Our version 1 was a simple PCB on top of a Raspberry Pi.

It didn't work.


-> # Challenges <-

A working SiPM based muon detector needs:

  • Controllable 30-70V Power supply (step up from 5V USB)
  • Analogue amplifier stages (single photon detection)
  • Trigger (screen out common mode noise)
  • Timing system (ns resolution to be useful)
  • ADC (we don't use it yet!)
  • Other sensors (GPS, Accelerometer, Magnetometer, Humidity)

-> # Timing Resolution <-

c = 3e8m/s timing bucket = 65ns spatial resolution = 20m

This is about what is easily achievable with off the shelf electronic parts. Good enough for our application.


-> # Design Philosophy: Hardware <-

Accelerometer ---- |---- I2C Bus Humidity Sensor ----

GPS --------------------- UART2

Voltage control --------- SPI

Raspberry Pi ------------ UART1


-> # Design Philosophy: IoT <-

The architecture of the system is critical to success:

  • Hard Realtime - Arduino (minimum latency) - C
  • Near Realtime - Raspberry Pi (lowish latency) - Python
  • Archive/Presentation - Raspberry Pi/PC. (buffers) - Python

This is a very common architecture. Many systems have this type of requirement.


-> # An internet telescope <-

It took us a few years to make working hardware. And then to build the infrastructure needed to harvest!

  • Each detector has an MQTT client (lightweight IoT protocol)
  • Single (or multiple) MQTT brokers (messaging bus)
  • Server listens to bus and collects muon data via Python
  • Build database + visualisation with InfluxDB and Grafana

-> # We are now building up our dataset: <-

  • Detector location (Lat/Long)
  • Event time (ns precision)
  • Detector orientation (Acceleration in X, Y and Z)
  • Detector magnetic field (X, Y, Z)
  • Air Pressure
  • Humidity
  • Temperature

Let me know if you are interested in our dataset! cosmicpi.detector at gmail.com


-> # Live demo? Yes please! <-

MQTT: data.cosmicpi.org (port 1883) cosmicpi MuonsFROMSp8ce

Web: https://data.cosmicpi.org

Blog: https://cosmicpi.org

(a better server is in the post!)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment