%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:
- How many cosmic rays are there right now?
- How many cosmic rays were there before we measured them?
- 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.
- Scintillator material (Muon -> Photons)
- Silicon Photomultiplier - SiPM (Photons -> Electrons)
- Front end (Electrons -> Digital signal)
- 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!)