<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.muonpi.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Simonglm</id>
	<title>MuonPi-Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.muonpi.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Simonglm"/>
	<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Special:Contributions/Simonglm"/>
	<updated>2026-04-20T22:37:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Raspberry_Pi_Setup&amp;diff=810</id>
		<title>Raspberry Pi Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Raspberry_Pi_Setup&amp;diff=810"/>
		<updated>2023-04-28T16:33:21Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Requirements: Raspberry Pi Versions 0, 2, 3, 4 (with 40-pin GPIO connector) )&lt;br /&gt;
&lt;br /&gt;
This article will introduce to you, how to set up a Raspberry Pi from scratch with all software needed to run the detector hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: If not stated otherwise, this tutorial is developed on Raspian 10 Buster.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
=== Basic ===&lt;br /&gt;
* Create a fresh install of RaspberryPi OS (at least Buster) according to the [https://www.raspberrypi.org/documentation/installation/installing-images/ tutorial]&lt;br /&gt;
* Update your system:&lt;br /&gt;
 sudo apt update &amp;amp;&amp;amp; sudo apt upgrade&lt;br /&gt;
* Change the default password of the user &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt;:&lt;br /&gt;
 passwd&lt;br /&gt;
* (Optional) For a headless install (without monitor and mouse/keyboard), we recommend following this [https://www.raspberrypi.org/documentation/configuration/wireless/headless.md guide].&lt;br /&gt;
=== Interfaces ===&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
* '''Enable the serial interface''' (UART) and '''disable the login shell''' via the UART:&lt;br /&gt;
 3 Interface Options -&amp;gt; P6 Serial Port -&amp;gt; No (login shell over serial) -&amp;gt; Yes (serial port)&lt;br /&gt;
* Enable I2C Interface:&lt;br /&gt;
 3 Interface Options -&amp;gt; P5 I2C -&amp;gt; Yes (enable)&lt;br /&gt;
* (Optional) '''Enable SSH''':&lt;br /&gt;
 3 Interface Options -&amp;gt; P2 SSH -&amp;gt; Yes (enable)&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
By default, the RPi is configured to automatically obtain an IP address when a connection is available and DHCP in your local network is active (this should be the case for most local/home networks).&lt;br /&gt;
If you prefer a fixed IP address in a local network: edit the file /etc/dhcpcd.conf. Use the template and uncomment the &amp;quot;Example Static IP Configuration&amp;quot; section with your desired IP address.&lt;br /&gt;
If network access should be established via WiFi, either configure it via the network configuration wizard in the graphical desktop environment (usually network icon in the system bar), or manually following these steps (either method is fine):&lt;br /&gt;
* Make sure that the wpa_supplicant package is installed:&lt;br /&gt;
 sudo apt install wpasupplicant&lt;br /&gt;
* edit the file /etc/wpa_supplicant/wpa_supplicant.conf:&lt;br /&gt;
 sudo nano /etc/wpa_supplicant/wpa_supplicant.conf&lt;br /&gt;
the configuration should look like this (non-relevant lines not shown):&lt;br /&gt;
 update_config=1&lt;br /&gt;
 country=DE&amp;lt;/br&amp;gt;&lt;br /&gt;
 network={&lt;br /&gt;
        ssid=&amp;quot;&amp;lt;your network ssid&amp;gt;&amp;quot;&lt;br /&gt;
        psk=&amp;quot;&amp;lt;your wifi password&amp;gt;&amp;quot;&lt;br /&gt;
        key_mgmt=WPA-PSK&lt;br /&gt;
 }&lt;br /&gt;
Enter your WiFi's SSID and password in the indicated fields.&lt;br /&gt;
Finally, restart the system that the changes take effect.&lt;br /&gt;
&lt;br /&gt;
=== MuonPi software installation ===&lt;br /&gt;
(Requirements: a MuonPi board plugged onto the GPIO connector of the RPi)&lt;br /&gt;
* First, update your system to make sure, certificates and dependencies are up to date. This might take a while depending on how regularly the system is being updated.&lt;br /&gt;
 sudo apt update &amp;amp;&amp;amp; sudo apt upgrade&lt;br /&gt;
&lt;br /&gt;
* Import and trust the public key as an apt package repository&lt;br /&gt;
 sudo sh -c &amp;quot;curl https://archive.muonpi.org/muondetector.public.key | gpg --dearmor &amp;gt; /etc/apt/trusted.gpg.d/muondetector.gpg&amp;quot;&lt;br /&gt;
* Add archive.muonpi.org repository to the list of sources for apt&lt;br /&gt;
 sudo sh -c &amp;quot;echo deb &amp;lt;nowiki&amp;gt;https://archive.muonpi.org/raspbian $(lsb_release -cs) main&amp;lt;/nowiki&amp;gt; &amp;gt; /etc/apt/sources.list.d/muondetector.list&amp;quot;&lt;br /&gt;
* Update the package list:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
* Install the muondetector-daemon package and it's dependencies:&lt;br /&gt;
 sudo apt install muondetector-daemon&lt;br /&gt;
* Optional: install the Graphical User Interface (GUI) program to monitor and control the MuonPi locally.&lt;br /&gt;
 sudo apt install muondetector-gui&lt;br /&gt;
{{Note|Note that if you want to use the gui on the raspberrypi, it is recommended to use the Raspberrypi OS with Desktop preinstalled.|reminder}}&lt;br /&gt;
&lt;br /&gt;
* The GUI can connect to the MuonPi over network as well, so it can be installed on other computers in the local network. Currently, binary packages for Raspbian, Ubuntu and Windows are available. The Linux-based versions can be installed from the package repositories (execute steps 1,2 and 4 from this list). The Windows program can be downloaded directly from https://archive.muonpi.org and installed by simply unpacking the zip-archive.&lt;br /&gt;
&lt;br /&gt;
=== Login with your user credentials (only once) ===&lt;br /&gt;
&lt;br /&gt;
Before taking the MuonPi detector into operation, you have to set your credentials for publishing data messages to the server via [http://mqtt.org/ MQTT] protocol on first start. This can be managed in two ways, one secure and one where your credentials appear as plain text in the config file:&lt;br /&gt;
==== The Recommended Method ====&lt;br /&gt;
In a bash shell on the MuonPi, run the command &amp;lt;code&amp;gt;muondetector-login&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Note that for the software version 2.0.0 the command to run is &amp;lt;code&amp;gt;sudo runuser -u muonuser -- muondetector-login&amp;lt;/code&amp;gt; instead.'''&lt;br /&gt;
&lt;br /&gt;
When asked for sudo access, enter the password of your raspberry pi user.&lt;br /&gt;
When asked for your user name and password, enter the credentials supplied to you by a MounPi.org official. The credentials are stored (not in clear text) for all further telemetry connections.&lt;br /&gt;
&lt;br /&gt;
==== Alternative Method ====&lt;br /&gt;
Uncomment the &amp;lt;code&amp;gt;mqtt_user&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mqtt_password&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;/etc/muondetector/muondetector.conf&amp;lt;/code&amp;gt; and type your personal username and password into these fields between the quotation marks. Be aware, that these credentials are written in plain text into this file and can be retrieved by malware attacks. However, if you operate a station inside a home network and set up a strong ssh authentication (see above), you should be relatively safe.&lt;br /&gt;
&lt;br /&gt;
=== Start the Daemon ===&lt;br /&gt;
The daemon should be enabled and started automatically after installation and on every reboot. However, when changing items in the config file, the changes have to be made effective by a daemon restart:&lt;br /&gt;
 sudo systemctl restart muondetector-daemon.service&lt;br /&gt;
&lt;br /&gt;
To see the current status of the daemon service use following command:&lt;br /&gt;
 systemctl status muondetector-daemon.service&lt;br /&gt;
&lt;br /&gt;
It can happen that the status shows 'failed' in red, usually a restart of the daemon service resolves this.&lt;br /&gt;
&lt;br /&gt;
If the service should not enable itself by default the status shows a grey 'not loaded'. To enable the service use:&lt;br /&gt;
 sudo systemctl enable muondetector-daemon.service&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
Edit the configuration file /etc/muondetector/muondetector.conf: &amp;lt;code&amp;gt;nano /etc/muondetector/muondetector.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
Change the settings according to your needs or leave them untouched, if unsure. The comments in the config file should guide you through any required modifications. One option, however, describes the placement of your detector. If you like, choose a stationID descriptor, eg.:&amp;lt;/br&amp;gt;&lt;br /&gt;
(file: &amp;lt;code&amp;gt;/etc/muondetector/muondetector.conf&amp;lt;/code&amp;gt;)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; A unique identifier of the user's station&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; leave on default when the user operates a single station&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; all detectors of the user are distinguishable on the basis of this id&lt;br /&gt;
 stationID = &amp;quot;HomeOffice&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(anything which best describes the location of your detector like e.g. &amp;quot;GarageSW&amp;quot;, &amp;quot;Bldg16Lab105&amp;quot;, &amp;quot;AtticNE&amp;quot;). If you operate only one stationary detector, it may as well be left on the default ID which is &amp;quot;0&amp;quot; (zero).&lt;br /&gt;
&lt;br /&gt;
'''Important''': When operating multiple detectors (under the same MQTT user account, see above) the stationID descriptor '''must''' be unique for each detector.&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Spam_filtering&amp;diff=809</id>
		<title>Spam filtering</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Spam_filtering&amp;diff=809"/>
		<updated>2023-02-12T18:49:59Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Created page with &amp;quot;Our website uses '''postfix''' as it's MTA (mail transport agent), which also has the ability to forward incoming mails to so called ''MILTERS'' (&amp;quot;mail filters&amp;quot;). One of those...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our website uses '''postfix''' as it's MTA (mail transport agent), which also has the ability to forward incoming mails to so called ''MILTERS'' (&amp;quot;mail filters&amp;quot;).&lt;br /&gt;
One of those milters configured on our server is the spam filter '''Rspamd'''.&lt;br /&gt;
&lt;br /&gt;
The WebUI of the service is located at [http://rspamd.muonpi.org rspamd.muonpi.org].&lt;br /&gt;
The rspamd service itself is running on &amp;lt;code&amp;gt;localhost:11332&amp;lt;/code&amp;gt; with the UI running on &amp;lt;code&amp;gt;localhost:11334&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Terminology===&lt;br /&gt;
''Spam'' is unwanted mail, while ''Ham'' is referring to false positives.&lt;br /&gt;
&lt;br /&gt;
From Wikipedia on [https://en.wikipedia.org/wiki/Spam_(food) Spam (food)]:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Spam has affected popular culture, including a Monty Python skit, which repeated the name many times, leading to its name being borrowed to describe unsolicited electronic messages, especially email.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
Setup and configuration was done according to [https://rspamd.com/doc/integration.html this guide].&lt;br /&gt;
Configuration for postfix is rather simple, just add &amp;lt;code&amp;gt;inet:localhost:11332&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;smtpd_milters&amp;lt;/code&amp;gt; field:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;smtpd_milters = unix:/opendkim/opendkim.sock,inet:localhost:11332&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training the filter==&lt;br /&gt;
Rspamd has the ability to learn to better filter spam. The training data is stored using a '''redis''' database.&lt;br /&gt;
&lt;br /&gt;
Training can be done by two different methods: Via the WebUIs ''Scan/Learn'' Section of via the command line interface &amp;lt;code&amp;gt;rspamc&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== The WebUI===&lt;br /&gt;
After logging into the WebUI you can see the status of the filter. On the right hand side, a pie chart shows how many mails have been processed and the portions of rejected or annotated mails. &lt;br /&gt;
The Table  named ''Bayesian statistics'' shows how many mails have been declared as 'Spam' or as 'Ham'.&lt;br /&gt;
&lt;br /&gt;
Training is done in the '''Scan/Learn''' tab of the WebUI. Paste the raw message source into the text field and click '''Scan message'''.&lt;br /&gt;
Below you will see the result of the scan. The 'action' indicates what Rspamd would do if it where to receive that mail.&lt;br /&gt;
The symbols listed give the merits on which a message was evaluated.&lt;br /&gt;
They can either have a positive or negative value, indicating if their presence indicates if the given message is ''spam'' or ''ham''.&lt;br /&gt;
&lt;br /&gt;
You can tell rspamd to learn from this message by choosing '''Upload Ham''' or '''Upload Spam'''.&lt;br /&gt;
&lt;br /&gt;
=== The CLI ===&lt;br /&gt;
Similar to the WebUI, you can check if a given mail is spam or not by calling &amp;lt;code&amp;gt;rspamc suspicious.eml&amp;lt;/code&amp;gt;.&lt;br /&gt;
After analysis, the found symbols and the collective score is shown.&lt;br /&gt;
To train the filter on this suspicious mail call &amp;lt;code&amp;gt;rspamc learn_spam suspicious.eml&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;rspamc learn_ham suspicious.eml&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
== Dovecot CLI: 'doveadm' ==&lt;br /&gt;
Since most of the incomming mail is recieved by OSTicket via ''support@muonpi.org'' which does not provide the raw message source in the tickets, &amp;lt;code&amp;gt;doveadm&amp;lt;/code&amp;gt; is used to get the message source.&lt;br /&gt;
&lt;br /&gt;
'''NOTE''': This can only be done with superuser permissions and gives full read/write access to '''all''' users mails. So be careful!&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;doveadm search [-u &amp;lt;user&amp;gt;|-A] [-S &amp;lt;socket_path&amp;gt;] &amp;lt;search query&amp;gt;&amp;lt;/code&amp;gt; to search for mails. See [https://wiki.dovecot.org/Tools/Doveadm/Search wiki.dovecot.org] for command reference and [https://wiki2.dovecot.org/Tools/Doveadm/SearchQuery this page] for ''search_query'' reference.&lt;br /&gt;
&lt;br /&gt;
This one-liner will search and save mails from user &amp;lt;user&amp;gt; which were sent/recieved on the date &amp;lt;YYYY-MM-DD&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;doveadm search -u &amp;lt;user&amp;gt; ON &amp;lt;YYYY-MM-DD&amp;gt; | while read guid uid; do doveadm fetch -u &amp;lt;user&amp;gt; text mailbox-guid $guid uid $uid &amp;gt; $uid.eml; done&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=782</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=782"/>
		<updated>2021-11-22T14:31:15Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: moved sentence above the table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Resources ==&lt;br /&gt;
=== CPU ===&lt;br /&gt;
The majority of CPU utilization associated with the muondetector-daemon is due to the signal transfer to and from the MuonPi HAT via the GPIO-pins. As of [https://github.com/MuonPi/muondetector/releases/tag/v2.0.2 v2.0.2], this is handled by the &amp;quot;pigpiod&amp;quot; process, which takes about 20% of the processor time according to [[wikipedia:top (software)|top]]. The muondetector-daemon itself, uses only ~2%.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
=== Disk I/O ===&lt;br /&gt;
&lt;br /&gt;
== Network Resources ==&lt;br /&gt;
If you wish to operate the MuonPi within a network, that is a company's or other organization's network, the admins might be interested what data this device gathers and transmits or receives.&lt;br /&gt;
Here we elaborate on how the MuonPi uses the network and how a typical data packet looks like.&lt;br /&gt;
&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple: All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packet sizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Outgoing Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source Port !! Purpose !! Destination&lt;br /&gt;
|-&lt;br /&gt;
| muonpi:51508 || GUI connection to other machine on network || othermachine:39830&lt;br /&gt;
|-&lt;br /&gt;
| muonpi:41930 || MQTT message publishing to muonpi.org || muonpi.org:1883&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Connections to localhost are excluded here)&lt;br /&gt;
&lt;br /&gt;
As indicated by the table, the firewall has to allow outgoing connections to our servers on port 1883.&lt;br /&gt;
Otherwise the muondetector-login command will fail to establish the data link, and no event data will be sent to contribute to the detector network.&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and measurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are sent: the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
====Event message====&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature.&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! - !! Event counter !! - !! - !! -&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These event messages are sent every time the unit detects a signal above the threshold.&lt;br /&gt;
It contains the UNIX timestamp of the rising and the falling edge of the signal and the number of the event.&lt;br /&gt;
The MQTT topic includes the username and the detectorID as registered with us, and allows us to associate the incoming data on our servers to your detector.&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various metadata about your MuonPi setup.&lt;br /&gt;
Most of the time, it consist of multiple MQTT messages packed into a single TCP packets, but it can sometimes also be separated into two packets.&lt;br /&gt;
&lt;br /&gt;
An exemplary log message along with a description of each entry:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || [[wikipedia:GeoHash|GeoHash]]&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage across sensing resistor&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=781</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=781"/>
		<updated>2021-11-22T14:28:57Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* MQTT Packet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Resources ==&lt;br /&gt;
=== CPU ===&lt;br /&gt;
The majority of CPU utilization associated with the muondetector-daemon is due to the signal transfer to and from the MuonPi HAT via the GPIO-pins. As of [https://github.com/MuonPi/muondetector/releases/tag/v2.0.2 v2.0.2], this is handled by the &amp;quot;pigpiod&amp;quot; process, which takes about 20% of the processor time according to [[wikipedia:top (software)|top]]. The muondetector-daemon itself, uses only ~2%.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
=== Disk I/O ===&lt;br /&gt;
&lt;br /&gt;
== Network Resources ==&lt;br /&gt;
If you wish to operate the MuonPi within a network, that is a company's or other organization's network, the admins might be interested what data this device gathers and transmits or receives.&lt;br /&gt;
Here we elaborate on how the MuonPi uses the network and how a typical data packet looks like.&lt;br /&gt;
&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple: All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packet sizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Outgoing Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source Port !! Purpose !! Destination&lt;br /&gt;
|-&lt;br /&gt;
| muonpi:51508 || GUI connection to other machine on network || othermachine:39830&lt;br /&gt;
|-&lt;br /&gt;
| muonpi:41930 || MQTT message publishing to muonpi.org || muonpi.org:1883&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Connections to localhost are excluded here)&lt;br /&gt;
&lt;br /&gt;
As indicated by the table, the firewall has to allow outgoing connections to our servers on port 1883.&lt;br /&gt;
Otherwise the muondetector-login command will fail to establish the data link, and no event data will be sent to contribute to the detector network.&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and measurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are sent: the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
====Event message====&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! - !! Event counter !! - !! - !! -&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/&amp;lt;user&amp;gt;/&amp;lt;detectorID&amp;gt; || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These event messages are sent every time the unit detects a signal above the threshold.&lt;br /&gt;
It contains the UNIX timestamp of the rising and the falling edge of the signal and the number of the event.&lt;br /&gt;
The MQTT topic includes the username and the detectorID as registered with us, and allows us to associate the incoming data on our servers to your detector.&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various metadata about your MuonPi setup.&lt;br /&gt;
Most of the time, it consist of multiple MQTT messages packed into a single TCP packets, but it can sometimes also be separated into two packets.&lt;br /&gt;
&lt;br /&gt;
An exemplary log message along with a description of each entry:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || [[wikipedia:GeoHash|GeoHash]]&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage across sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (elaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=780</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=780"/>
		<updated>2021-11-22T14:00:34Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Network Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Resources ==&lt;br /&gt;
=== CPU ===&lt;br /&gt;
The majority of CPU utilization associated with the muondetector-daemon is due to the signal transfer to and from the MuonPi HAT via the GPIO-pins. As of [https://github.com/MuonPi/muondetector/releases/tag/v2.0.2 v2.0.2], this is handled by the &amp;quot;pigpiod&amp;quot; process, which takes about 20% of the processor time according to [[wikipedia:top (software)|top]]. The muondetector-daemon itself, uses only ~2%.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
=== Disk I/O ===&lt;br /&gt;
&lt;br /&gt;
== Network Resources ==&lt;br /&gt;
If you wish to operate the MuonPi within a network, that is a company's or other organization's network, the admins might be interested what data this device gathers and transmits or receives.&lt;br /&gt;
Here we elaborate on how the MuonPi uses the network and how a typical data packet looks like.&lt;br /&gt;
&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple: All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packet sizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Outgoing Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source Port !! Purpose !! Destination&lt;br /&gt;
|-&lt;br /&gt;
| muonpi:51508 || GUI connection to other machine on network || othermachine:39830&lt;br /&gt;
|-&lt;br /&gt;
| muonpi:41930 || MQTT message publishing to muonpi.org || muonpi.org:1883&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Connections to localhost are excluded here)&lt;br /&gt;
&lt;br /&gt;
As indicated by the table, the firewall has to allow outgoing connections to our servers on port 1883.&lt;br /&gt;
Otherwise the muondetector-login command will fail to establish the data link, and no event data will be sent to contribute to the detector network.&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! - !! Event counter !! - !! - !! -&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=779</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=779"/>
		<updated>2021-11-22T13:32:38Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* CPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Resources ==&lt;br /&gt;
=== CPU ===&lt;br /&gt;
The majority of CPU utilization associated with the muondetector-daemon is due to the signal transfer to and from the MuonPi HAT via the GPIO-pins. As of [https://github.com/MuonPi/muondetector/releases/tag/v2.0.2 v2.0.2], this is handled by the &amp;quot;pigpiod&amp;quot; process, which takes about 20% of the processor time according to [[wikipedia:top (software)|top]]. The muondetector-daemon itself, uses only ~2%.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
=== Disk I/O ===&lt;br /&gt;
&lt;br /&gt;
== Network Resources ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple: All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packet sizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Port !! Application&lt;br /&gt;
|-&lt;br /&gt;
| 51508 || GUI connection&lt;br /&gt;
|-&lt;br /&gt;
| 8888 || pigpiod&lt;br /&gt;
|-&lt;br /&gt;
| 1883 (out) || MQTT message publish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! - !! Event counter !! - !! - !! -&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=685</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=685"/>
		<updated>2021-03-25T19:31:30Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: removed non-descript header text in table header&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Resources ==&lt;br /&gt;
=== CPU ===&lt;br /&gt;
=== RAM ===&lt;br /&gt;
=== Disk I/O ===&lt;br /&gt;
&lt;br /&gt;
== Network Resources ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple: All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packet sizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Port !! Application&lt;br /&gt;
|-&lt;br /&gt;
| 51508 || GUI connection&lt;br /&gt;
|-&lt;br /&gt;
| 8888 || pigpiod&lt;br /&gt;
|-&lt;br /&gt;
| 1883 (out) || MQTT message publish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! - !! Event counter !! - !! - !! -&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=684</id>
		<title>User detectors gallery</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=684"/>
		<updated>2021-03-21T13:35:14Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: ...that was too large&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed-hover&amp;quot; widths=350px heights=300px&amp;gt;&lt;br /&gt;
Image:MuonPi-UserSetUp1.jpg|Users setup of the MuonPi detector next to the router.&lt;br /&gt;
Image:User detector dl4ina.jpg|User setup of DL4INA with single-channel connected hexagonal scintillator. &lt;br /&gt;
Image:User_detector_slu.jpg| User setup of slu with custom 3D printed encasing&lt;br /&gt;
Image:Detector_user_mw1cf.jpg| User setup of mw1cfwith, from his [https://mw1cfnradio.blogspot.com/2020/12/a-minor-departure-from-things-entirely.html blogpost]&lt;br /&gt;
Image:Detector_user_mmo.jpg| User setup of mmo with operating on a Raspberry Pi 0 WH&lt;br /&gt;
Image:MunoPi case in the dark.jpg| Custom enclosure for the complete detector setup. Including the Raspberry Pi, MuonPi HAT, and a hexagonal Scintillator. 3D Model was made by user 'slu' from the community.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=683</id>
		<title>User detectors gallery</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=683"/>
		<updated>2021-03-21T13:33:50Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Increased image size&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed-hover&amp;quot; widths=400px heights=300px&amp;gt;&lt;br /&gt;
Image:MuonPi-UserSetUp1.jpg|Users setup of the MuonPi detector next to the router.&lt;br /&gt;
Image:User detector dl4ina.jpg|User setup of DL4INA with single-channel connected hexagonal scintillator. &lt;br /&gt;
Image:User_detector_slu.jpg| User setup of slu with custom 3D printed encasing&lt;br /&gt;
Image:Detector_user_mw1cf.jpg| User setup of mw1cfwith, from his [https://mw1cfnradio.blogspot.com/2020/12/a-minor-departure-from-things-entirely.html blogpost]&lt;br /&gt;
Image:Detector_user_mmo.jpg| User setup of mmo with operating on a Raspberry Pi 0 WH&lt;br /&gt;
Image:MunoPi case in the dark.jpg| Custom enclosure for the complete detector setup. Including the Raspberry Pi, MuonPi HAT, and a hexagonal Scintillator. 3D Model was made by user 'slu' from the community.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=682</id>
		<title>User detectors gallery</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=682"/>
		<updated>2021-03-21T13:25:46Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Added image of MuonPi case by 'slu'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed-hover&amp;quot;&amp;gt;&lt;br /&gt;
Image:MuonPi-UserSetUp1.jpg|Users setup of the MuonPi detector next to the WiFi router.&lt;br /&gt;
Image:User detector dl4ina.jpg|User setup of DL4INA with single-channel connected hexagonal scintillator. &lt;br /&gt;
Image:User_detector_slu.jpg| User setup of slu with custom 3D printed encasing&lt;br /&gt;
Image:Detector_user_mw1cf.jpg| User setup of mw1cfwith, from his [https://mw1cfnradio.blogspot.com/2020/12/a-minor-departure-from-things-entirely.html blogpost]&lt;br /&gt;
Image:Detector_user_mmo.jpg| User setup of mmo with operating on a Raspberry Pi 0 WH&lt;br /&gt;
Image:MunoPi case in the dark.jpg| Custom enclosure for the complete detector setup. Including the Raspberry Pi, MuonPi HAT, and a hexagonal Scintillator. 3D Model was made by user 'slu' from the community.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=File:MunoPi_case_in_the_dark.jpg&amp;diff=681</id>
		<title>File:MunoPi case in the dark.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=File:MunoPi_case_in_the_dark.jpg&amp;diff=681"/>
		<updated>2021-03-21T13:23:54Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Custom enclosure for the complete detector setup. Including the Raspberry Pi, MuonPi HAT, and a hexagonal Scintillator. 3D Model was made by user 'slu' from the community.&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=638</id>
		<title>User detectors gallery</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=638"/>
		<updated>2021-02-23T20:10:20Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
Image:MuonPi-UserSetUp1.jpg|Users setup of the MuonPi detector next to the WiFi router.&lt;br /&gt;
Image:User detector dl4ina.jpg|User setup of DL4INA with single-channel connected hexagonal scintillator. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Setup_Mail_Client&amp;diff=637</id>
		<title>Setup Mail Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Setup_Mail_Client&amp;diff=637"/>
		<updated>2021-02-15T12:33:15Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Was 589 a typo? 587 is SMTP default and works fine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to setup your mail client to use the Mail address issued by MuonPi.org, use the below settings for setup.&lt;br /&gt;
&lt;br /&gt;
Do not use your full E-Mail address as username.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Settings&lt;br /&gt;
| || '''IMAP''' || '''SMTP'''&lt;br /&gt;
|-&lt;br /&gt;
| Address || mail.muonpi.org || mail.muonpi.org&lt;br /&gt;
|-&lt;br /&gt;
| Security || STARTTLS || STARTTLS&lt;br /&gt;
|-&lt;br /&gt;
| Authentication Method || Normal password || Normal password&lt;br /&gt;
|-&lt;br /&gt;
| Port || 143 || 587&lt;br /&gt;
|-&lt;br /&gt;
| Username || &amp;lt;username&amp;gt; || &amp;lt;username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Password || &amp;lt;password&amp;gt; || &amp;lt;password&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=633</id>
		<title>User detectors gallery</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=User_detectors_gallery&amp;diff=633"/>
		<updated>2021-02-09T20:16:05Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Created page with &amp;quot;&amp;lt;div&amp;gt; &amp;lt;gallery mode=&amp;quot;slideshow&amp;quot;&amp;gt; Image:MuonPi-UserSetUp1.jpg|Users setup of the MuonPi detector next to the WiFi router. Although this is an wikipedia:Electromagnetic_interf...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
Image:MuonPi-UserSetUp1.jpg|Users setup of the MuonPi detector next to the WiFi router. Although this is an [[wikipedia:Electromagnetic_interference|EMI]] nightmare, the detector works unaffected.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Main_Page&amp;diff=632</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Main_Page&amp;diff=632"/>
		<updated>2021-02-09T20:08:01Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Gallery of Users' Detectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The MuonPi Cosmic Detector Project =&lt;br /&gt;
The MuonPi Project is a [https://www.raspberrypi.org/ RaspberryPi]-based system using an inexpensive plastic [[Scintillator|scintillator]] + [[Silicon photomultiplier|SiPM]] photo sensor to detect muons from cosmic air showers with a time-stamping accuracy of several tens of nanoseconds utilizing the [https://www.u-blox.com/en/product/neo-m8-series u-blox NEO-M8N GNSS] module's &amp;quot;timemark&amp;quot; feature.&lt;br /&gt;
&lt;br /&gt;
==== Learn about cosmic radiation ====&lt;br /&gt;
* Get started with [[Cosmic Rays]], especially [[Muon]]s&lt;br /&gt;
&lt;br /&gt;
*[https://www.vox.com/the-highlight/2019/7/16/17690740/cosmic-rays-universe-theory-science Extremely powerful cosmic rays are raining down on us. No one knows where they come from.] But with large-scale experiments, scientists around the world are determined to find out. ''Vox'' Jul 25, 2019&lt;br /&gt;
&lt;br /&gt;
*[https://home.cern/science/physics/cosmic-rays-particles-outer-space Cosmic rays: particles from outer space] Earth is subject to a constant bombardment of subatomic particles that can reach energies far higher than the largest machines. ''CERN''&lt;br /&gt;
&lt;br /&gt;
* [https://www.weltderphysik.de/mediathek/podcast/kosmische-strahlung/ &amp;quot;Kosmische Strahlung&amp;quot;] Podcast (in German) on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
* [https://www.weltderphysik.de/thema/bmbf/astro-undastroteilchenphysik/der-kosmischen-strahlung-auf-der-spur/ &amp;quot;Der kosmischen Strahlung auf der Spur&amp;quot;] article (in German)  on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
* [https://www.weltderphysik.de/gebiet/universum/news/2017/kosmische-teilchen-mit-extragalaktischem-ursprung/ &amp;quot;Kosmische Teilchen mit extragalaktischem Ursprung&amp;quot;] article (in German)  on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
&lt;br /&gt;
==== Learn about the detectors ====&lt;br /&gt;
* Basics of [[Scintillator]]s&lt;br /&gt;
* Find out about [[Silicon photomultiplier|Silicon Photomultipliers]]&lt;br /&gt;
* How our [[The Detector|Detectors]] are assembled&lt;br /&gt;
&lt;br /&gt;
==== Related and similar projects ====&lt;br /&gt;
&lt;br /&gt;
* [http://cosmicpi.org/ CosmicPi]: A CERN-based project that aims to build the world's largest open-source distributed cosmic ray telescope.  &lt;br /&gt;
* [https://www.hisparc.nl/en/ HiSPARC]: A distributed muon detection network aimed for high-schools and an experience of over 15 years.&lt;br /&gt;
&lt;br /&gt;
= The Hardware =&lt;br /&gt;
&lt;br /&gt;
=== SiPM PCB ===&lt;br /&gt;
The SiPM photo sensor which detects the dim light generated inside the scintillation detector is mounted on a small [[Sipm_board|SiPM board]]. Different numbers of SiPMs and read-out configurations can be realized through it's flexible design.&lt;br /&gt;
&lt;br /&gt;
=== Preamplifier ===&lt;br /&gt;
The [[preamplifier]] is located in close vicinity to the [[sipm_board|SiPM photodetector board]] and amplifies the weak signals for transmission to the [[muonpi_board|MuonPi]] board, where they are further processed and evaluated.&lt;br /&gt;
&lt;br /&gt;
=== The MuonPi-Board ===&lt;br /&gt;
The main signal processing, voltage generation and parameter monitoring and adjustment is done on the Raspberry Pi plug-on [[muonpi_board|MuonPi Board]]. The board's design is open source hardware and exhibits only commercially available off-the-shelf components which can be obtained from several distributors. With some soldering experience, the MuonPi HAT can be assembled utilizing a standard soldering equipment. A how-to guide and useful hints are available in the [[Assembly Guide|Assembly Guide]].&lt;br /&gt;
&lt;br /&gt;
= The Software =&lt;br /&gt;
The MuonPi software collection is entirely open source and [https://github.com/MuonPi available on github]&lt;br /&gt;
It consists of several components:&lt;br /&gt;
* '''muondetector-daemon''' The main control program running as a background system service on the RPi. The daemon configures, controls and supervises the components on the MuonPi HAT board, handles the comunication to the u-Blox chip and to the outside world via MQTT link and direct access socket, monitors system parameters, such as temperature, voltages, curent, rates etc., performs statistics collections, calculations and logging and much more. The daemon can be installed through the standard system software management tools (such as apt) from our [https://archive.muonpi.org package repository] or compiled from the [https://github.com/MuonPi/muondetector github source] and is everything which is needed to operate a MuonPi detector.&lt;br /&gt;
* '''muondetector-gui''' A graphical user interface (GUI) program which can be launched on any computer in the same network as the MuonPi detector in order to monitor and adjust all operation parameters of the detector, if required. The GUI is available for [https://archive.muonpi.org download] as binary package for several platforms (Raspbian, Ubuntu, Windows) or can be compiled from the current [https://github.com/MuonPi/muondetector github master branch].&lt;br /&gt;
* '''muondetector-login''' A small command line helper tool to initially set up the MQTT telemetry link. The program will ask for the supplied MQTT credentials and stores them locally in encrypted form for continuous use.&lt;br /&gt;
* '''muondetector-cluster''' Allows the operation of a multi-detector cluster as an entity. The program is the cluster head or interface towards the server, searches for coincidences within the cluster and sends the combined coincidence events instead of the single event telegrams to the server. This tool is in development phase with more information about it's utilization to come in near future.&lt;br /&gt;
&lt;br /&gt;
= Setup and Operation of the Detector =&lt;br /&gt;
Here you find a collection of HOW-TOs useful to set-up and operate a detector:&lt;br /&gt;
&lt;br /&gt;
*[[The Detector|How to assemble the detector plates]]&lt;br /&gt;
&lt;br /&gt;
*[[Assembly Guide|MuonPi HAT assembly guide]]&lt;br /&gt;
&lt;br /&gt;
*[[Hardware Setup|How to set up the detector hardware]]&lt;br /&gt;
&lt;br /&gt;
*[[Raspberry Pi Setup|How to install and set up the MuonPi software]]&lt;br /&gt;
&lt;br /&gt;
*[[MuonPi - Grafana|How to view your detector data using Grafana]]&lt;br /&gt;
&lt;br /&gt;
*Detector Surveillance through a [[MuonPi Telegram Bot|Telegram Bot]]&lt;br /&gt;
&lt;br /&gt;
The completed setup is fairly insensitive to the location where it will operate.&lt;br /&gt;
Basic requirement is a good GPS signal, low humidity and obviously power and network connectivity.&lt;br /&gt;
A stable temperature for the scintillator and preamp is desirable, as it affects the noise level of the setup.&lt;br /&gt;
Muons will penetrate several meters of granite rock, so placing the detector in the basement leaves the muon measurements unaffected.&lt;br /&gt;
However due to radon collection in basement rooms and potassium decay a slightly higher natural radioactive background can be observed.&lt;br /&gt;
&lt;br /&gt;
In case there are problems with the set-up or operation of the detector, have a look in the [[Troubleshooting]] section.&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
&lt;br /&gt;
[[News and articles]] about cosmic rays and similar projects.&lt;br /&gt;
&lt;br /&gt;
= Other languages =&lt;br /&gt;
&lt;br /&gt;
* [[Main Page/de]]&lt;br /&gt;
&lt;br /&gt;
= Admin Area = &lt;br /&gt;
&lt;br /&gt;
Useful [[resources]] for admins.&lt;br /&gt;
&lt;br /&gt;
= [[user detectors gallery|Gallery of Users' Detectors]] =&lt;br /&gt;
&lt;br /&gt;
= About this Wiki =&lt;br /&gt;
* How to edit? [[help for creators]]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings List of config variables]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list of new MediaWiki version announcements]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Sandbox page for testing/playing:&lt;br /&gt;
* [[Sandbox]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Main_Page&amp;diff=631</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Main_Page&amp;diff=631"/>
		<updated>2021-02-09T20:03:01Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Gallery of Users' Detectors */ Added photo of a user setup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The MuonPi Cosmic Detector Project =&lt;br /&gt;
The MuonPi Project is a [https://www.raspberrypi.org/ RaspberryPi]-based system using an inexpensive plastic [[Scintillator|scintillator]] + [[Silicon photomultiplier|SiPM]] photo sensor to detect muons from cosmic air showers with a time-stamping accuracy of several tens of nanoseconds utilizing the [https://www.u-blox.com/en/product/neo-m8-series u-blox NEO-M8N GNSS] module's &amp;quot;timemark&amp;quot; feature.&lt;br /&gt;
&lt;br /&gt;
==== Learn about cosmic radiation ====&lt;br /&gt;
* Get started with [[Cosmic Rays]], especially [[Muon]]s&lt;br /&gt;
&lt;br /&gt;
*[https://www.vox.com/the-highlight/2019/7/16/17690740/cosmic-rays-universe-theory-science Extremely powerful cosmic rays are raining down on us. No one knows where they come from.] But with large-scale experiments, scientists around the world are determined to find out. ''Vox'' Jul 25, 2019&lt;br /&gt;
&lt;br /&gt;
*[https://home.cern/science/physics/cosmic-rays-particles-outer-space Cosmic rays: particles from outer space] Earth is subject to a constant bombardment of subatomic particles that can reach energies far higher than the largest machines. ''CERN''&lt;br /&gt;
&lt;br /&gt;
* [https://www.weltderphysik.de/mediathek/podcast/kosmische-strahlung/ &amp;quot;Kosmische Strahlung&amp;quot;] Podcast (in German) on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
* [https://www.weltderphysik.de/thema/bmbf/astro-undastroteilchenphysik/der-kosmischen-strahlung-auf-der-spur/ &amp;quot;Der kosmischen Strahlung auf der Spur&amp;quot;] article (in German)  on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
* [https://www.weltderphysik.de/gebiet/universum/news/2017/kosmische-teilchen-mit-extragalaktischem-ursprung/ &amp;quot;Kosmische Teilchen mit extragalaktischem Ursprung&amp;quot;] article (in German)  on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
&lt;br /&gt;
==== Learn about the detectors ====&lt;br /&gt;
* Basics of [[Scintillator]]s&lt;br /&gt;
* Find out about [[Silicon photomultiplier|Silicon Photomultipliers]]&lt;br /&gt;
* How our [[The Detector|Detectors]] are assembled&lt;br /&gt;
&lt;br /&gt;
==== Related and similar projects ====&lt;br /&gt;
&lt;br /&gt;
* [http://cosmicpi.org/ CosmicPi]: A CERN-based project that aims to build the world's largest open-source distributed cosmic ray telescope.  &lt;br /&gt;
* [https://www.hisparc.nl/en/ HiSPARC]: A distributed muon detection network aimed for high-schools and an experience of over 15 years.&lt;br /&gt;
&lt;br /&gt;
= The Hardware =&lt;br /&gt;
&lt;br /&gt;
=== SiPM PCB ===&lt;br /&gt;
The SiPM photo sensor which detects the dim light generated inside the scintillation detector is mounted on a small [[Sipm_board|SiPM board]]. Different numbers of SiPMs and read-out configurations can be realized through it's flexible design.&lt;br /&gt;
&lt;br /&gt;
=== Preamplifier ===&lt;br /&gt;
The [[preamplifier]] is located in close vicinity to the [[sipm_board|SiPM photodetector board]] and amplifies the weak signals for transmission to the [[muonpi_board|MuonPi]] board, where they are further processed and evaluated.&lt;br /&gt;
&lt;br /&gt;
=== The MuonPi-Board ===&lt;br /&gt;
The main signal processing, voltage generation and parameter monitoring and adjustment is done on the Raspberry Pi plug-on [[muonpi_board|MuonPi Board]]. The board's design is open source hardware and exhibits only commercially available off-the-shelf components which can be obtained from several distributors. With some soldering experience, the MuonPi HAT can be assembled utilizing a standard soldering equipment. A how-to guide and useful hints are available in the [[Assembly Guide|Assembly Guide]].&lt;br /&gt;
&lt;br /&gt;
= The Software =&lt;br /&gt;
The MuonPi software collection is entirely open source and [https://github.com/MuonPi available on github]&lt;br /&gt;
It consists of several components:&lt;br /&gt;
* '''muondetector-daemon''' The main control program running as a background system service on the RPi. The daemon configures, controls and supervises the components on the MuonPi HAT board, handles the comunication to the u-Blox chip and to the outside world via MQTT link and direct access socket, monitors system parameters, such as temperature, voltages, curent, rates etc., performs statistics collections, calculations and logging and much more. The daemon can be installed through the standard system software management tools (such as apt) from our [https://archive.muonpi.org package repository] or compiled from the [https://github.com/MuonPi/muondetector github source] and is everything which is needed to operate a MuonPi detector.&lt;br /&gt;
* '''muondetector-gui''' A graphical user interface (GUI) program which can be launched on any computer in the same network as the MuonPi detector in order to monitor and adjust all operation parameters of the detector, if required. The GUI is available for [https://archive.muonpi.org download] as binary package for several platforms (Raspbian, Ubuntu, Windows) or can be compiled from the current [https://github.com/MuonPi/muondetector github master branch].&lt;br /&gt;
* '''muondetector-login''' A small command line helper tool to initially set up the MQTT telemetry link. The program will ask for the supplied MQTT credentials and stores them locally in encrypted form for continuous use.&lt;br /&gt;
* '''muondetector-cluster''' Allows the operation of a multi-detector cluster as an entity. The program is the cluster head or interface towards the server, searches for coincidences within the cluster and sends the combined coincidence events instead of the single event telegrams to the server. This tool is in development phase with more information about it's utilization to come in near future.&lt;br /&gt;
&lt;br /&gt;
= Setup and Operation of the Detector =&lt;br /&gt;
Here you find a collection of HOW-TOs useful to set-up and operate a detector:&lt;br /&gt;
&lt;br /&gt;
*[[The Detector|How to assemble the detector plates]]&lt;br /&gt;
&lt;br /&gt;
*[[Assembly Guide|MuonPi HAT assembly guide]]&lt;br /&gt;
&lt;br /&gt;
*[[Hardware Setup|How to set up the detector hardware]]&lt;br /&gt;
&lt;br /&gt;
*[[Raspberry Pi Setup|How to install and set up the MuonPi software]]&lt;br /&gt;
&lt;br /&gt;
*[[MuonPi - Grafana|How to view your detector data using Grafana]]&lt;br /&gt;
&lt;br /&gt;
*Detector Surveillance through a [[MuonPi Telegram Bot|Telegram Bot]]&lt;br /&gt;
&lt;br /&gt;
The completed setup is fairly insensitive to the location where it will operate.&lt;br /&gt;
Basic requirement is a good GPS signal, low humidity and obviously power and network connectivity.&lt;br /&gt;
A stable temperature for the scintillator and preamp is desirable, as it affects the noise level of the setup.&lt;br /&gt;
Muons will penetrate several meters of granite rock, so placing the detector in the basement leaves the muon measurements unaffected.&lt;br /&gt;
However due to radon collection in basement rooms and potassium decay a slightly higher natural radioactive background can be observed.&lt;br /&gt;
&lt;br /&gt;
In case there are problems with the set-up or operation of the detector, have a look in the [[Troubleshooting]] section.&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
&lt;br /&gt;
[[News and articles]] about cosmic rays and similar projects.&lt;br /&gt;
&lt;br /&gt;
= Other languages =&lt;br /&gt;
&lt;br /&gt;
* [[Main Page/de]]&lt;br /&gt;
&lt;br /&gt;
= Admin Area = &lt;br /&gt;
&lt;br /&gt;
Useful [[resources]] for admins.&lt;br /&gt;
&lt;br /&gt;
= [[user detectors gallery|Gallery of Users' Detectors]] =&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; &lt;br /&gt;
[[File:MuonPi-UserSetUp1.jpg|thumb|A users setup of the MuonPi detector next to the WiFi router. Althogh this is an EMI nightmare, the detector works unaffected]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About this Wiki =&lt;br /&gt;
* How to edit? [[help for creators]]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings List of config variables]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list of new MediaWiki version announcements]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Sandbox page for testing/playing:&lt;br /&gt;
* [[Sandbox]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=File:MuonPi-UserSetUp1.jpg&amp;diff=630</id>
		<title>File:MuonPi-UserSetUp1.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=File:MuonPi-UserSetUp1.jpg&amp;diff=630"/>
		<updated>2021-02-09T20:00:14Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MuonPi user setup&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Sipm_board&amp;diff=629</id>
		<title>Sipm board</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Sipm_board&amp;diff=629"/>
		<updated>2021-02-09T19:49:04Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Changed redirect target from SiPM Board to SiPM board&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[SiPM_board]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Sipm_board&amp;diff=628</id>
		<title>Sipm board</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Sipm_board&amp;diff=628"/>
		<updated>2021-02-09T19:48:46Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[SiPM_Board]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Vorverst%C3%A4rker&amp;diff=627</id>
		<title>Vorverstärker</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Vorverst%C3%A4rker&amp;diff=627"/>
		<updated>2021-02-09T19:40:56Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Fixed broken Link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Vorverstärker verstärkt die sehr kleine Signalamplitude des SiPMs um ~20dB und sollte möglichst nahe am SiPM selbst platziert werden, um ein akzeptables Signal-Rausch-Verhältnis (SNR) zu erhalten. Daher wurde eine Aufsteckplatine für das [[SiPM_board | SiPM Board]] im gleichen Formfaktor entworfen, die möglichst vielseitig sein soll, um sich für unterschiedliche Auslesekonzepte mit folgenden Eigenschaften anzupassen:&lt;br /&gt;
* Zuführung der SiPM-Vorspannung durch den Vorverstärker einschließlich Vorspannungsfilter&lt;br /&gt;
* AC-Kopplung des Vorstufeneingangs&lt;br /&gt;
* Basierend auf rauscharmem Infineon MMIC [https://www.infineon.com/cms/en/product/rf-wireless-control/low-noise-amplifier-lna-ics/general-purpose-lnas/bga614/ BGA614]&lt;br /&gt;
* Montagemöglichkeit für eine (Default, positiver Ausgang) oder zwei MMIC-Stufen (negativer Ausgang)&lt;br /&gt;
* Optionen für die Spannungsversorgung des Vorverstärkers (+5V): entweder über separaten Anschluss (J2) oder Fernspeisung über das Ausgangssignal (Default)&lt;br /&gt;
&lt;br /&gt;
[[File:Preamp V3-1.jpg|thumb|640px|right|Schaltplan des Vorverstärkers]]&lt;br /&gt;
&lt;br /&gt;
Für die verschiedenen Betriebsarten werden folgende '''Montageoptionen''' angeboten (nicht erwähnte Komponenten sind identisch wie im Schaltplan angegeben oder wie in der Standardoption):&lt;br /&gt;
&lt;br /&gt;
'''Standard (einstufig, Fernspeisung)'''&lt;br /&gt;
* nicht montieren: IC2, C5, C6, L4, R5, C7, J2, J5&lt;br /&gt;
* montieren: R7 (0R), R6 (0R), C2 (0R), verbinde IC2 pins 1 zu 3 (z. B. mit kantenmontiertem 0R-Widerstand)&lt;br /&gt;
&lt;br /&gt;
'''Dual-stage'''&lt;br /&gt;
* montieren: IC2, R6/C7 = Pol-Null-Korrektur-Netzwerk (z.B. 47R/22p)&lt;br /&gt;
&lt;br /&gt;
'''Separater Anschluss der Spannungsversorgung'''&lt;br /&gt;
* nicht montieren: L3&lt;br /&gt;
* montieren: J2&lt;br /&gt;
&lt;br /&gt;
'''Floating-Bias-Spannungsversorgung''' (galvanisch getrennt von Signal-GND)&lt;br /&gt;
* nicht montieren: R7&lt;br /&gt;
* montieren: C5, C6&lt;br /&gt;
&lt;br /&gt;
'''Allzweck 50Ω HF-Verstärker''' (kein SiPM, Signaleingang über u.Fl-Buchse J5)&lt;br /&gt;
* nicht montieren: J1, J3, R1, R2, L2&lt;br /&gt;
* montieren: J5&lt;br /&gt;
&lt;br /&gt;
[[File:Preamp sipm pcbs mounted.JPG|thumb|left|montierte Vorverstärker- (oben) und Fotosensor PCBs (unten) mit einem instrumentierten SiPM]]&lt;br /&gt;
[[File:Preamp_detail1.png|thumb|left|Montierter Vorverstärker, der auf die Stiftleisten der SiPM-Platine einer montierten Detektorplatte gesteckt wird]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=SiPM_board&amp;diff=626</id>
		<title>SiPM board</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=SiPM_board&amp;diff=626"/>
		<updated>2021-02-09T19:36:54Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Simonglm moved page Sipm board to SiPM board without leaving a redirect: Capitalisation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SiPM board is a printed circuit board (PCB) designed to dock and process the signal from the SiPM-scintillator coupling into a readout. Ideally no information such as timing from the scintillator should be lost, and the signal could be amplified/ processed with the board. In some applications involving significant temperature fluctuations, a compensator could also be built into the board. For the Muonpi project, the board should just be able to dock the SiPM-scintillator coupling to the readout. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The circuit configuration of the PCB varies depending on the number of SiPM's it needs to accommodate. For housing a single [https://www.ketek.net/wp-content/uploads/2017/01/KETEK-PM3325-EB-PM3350-EB-Datasheet.pdf Ketek PM3350-EB] SiPM the configuration is to just connect it with ground and readout/ bias. However, for connecting multiple SiPM's there are two possible configurations: parallel (p) and hybrid (h) configuration as illustrated below.&lt;br /&gt;
&lt;br /&gt;
[[File:Jepretan Layar 2020-06-23 pukul 4.23.54 PM.png|thumb|Parallel (p) and hybrid (h) configuration of SiPM board &amp;lt;ref&amp;gt;[S. Zimmermann. The panda barrel-tof detector. DPG-Frühjahrstagung, Münster. Austrian Academy of Sciences, Stefan Meyer Insitute for Subatomic Physics, 28th of March, 2017.]&amp;lt;/ref&amp;gt;. The signal path is depicted in red, the bias current in green, and the ground in blue.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both configurations are quite similar in term of performance, with the hybrid configuration having a slightly faster rising edge (by a few ns &amp;lt;ref&amp;gt;[L. Nies, H. G. Zaunick, &amp;amp; K.-T. Brinkmann. Development of a SiPM-based readout-module for the characterization of various scintillator materials. arXiv. (2018). &amp;lt;/ref&amp;gt;). The signal amplitude for the hybrid configuration decreases by a factor of &amp;lt;math&amp;gt;\frac{1}{\sqrt{N}}&amp;lt;/math&amp;gt; where N the number of SiPM, whereas the signal amplitude does not change for parallel configuration. However, the timing of the parallel configuration also decreases with the number of connected SiPM's; hence, for applications that are very time sensitive, the hybrid configuration might be necessary. Moreover, the hybrid configuration has more complexity, which might make the configuration more expensive to produce. Therefore for simplicity, the MuonPi project uses the parallel configuration. It keeps the simplicity while giving the option for adding SiPM further down the road. The schematic of the SiPM board for the MuonPi project is shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:SiPMBoard.png|thumb|none|300px|Schematic of the SiPM board used in the Muonpi project&amp;lt;ref&amp;gt;[L. Nies, “Development of a sipm-based readout-module for the characterization of various scintillation materials (bachelor’s thesis),” (August 2017).]&amp;lt;/ref&amp;gt;]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:Sipm pcb unmounted.png|thumb|none|300px|Photograph of unmounted SiPM PCB V2.1]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:Sipm_pcb_parts.png|thumb|none|300px|Photograph of a mounted SiPM PCB V2.1 with single SiPM (default configuration), rubber spacer and reflective foil]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=SiPM_board&amp;diff=625</id>
		<title>SiPM board</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=SiPM_board&amp;diff=625"/>
		<updated>2021-02-09T19:34:08Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Fixed Naming inconsistencies&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SiPM board is a printed circuit board (PCB) designed to dock and process the signal from the SiPM-scintillator coupling into a readout. Ideally no information such as timing from the scintillator should be lost, and the signal could be amplified/ processed with the board. In some applications involving significant temperature fluctuations, a compensator could also be built into the board. For the Muonpi project, the board should just be able to dock the SiPM-scintillator coupling to the readout. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The circuit configuration of the PCB varies depending on the number of SiPM's it needs to accommodate. For housing a single [https://www.ketek.net/wp-content/uploads/2017/01/KETEK-PM3325-EB-PM3350-EB-Datasheet.pdf Ketek PM3350-EB] SiPM the configuration is to just connect it with ground and readout/ bias. However, for connecting multiple SiPM's there are two possible configurations: parallel (p) and hybrid (h) configuration as illustrated below.&lt;br /&gt;
&lt;br /&gt;
[[File:Jepretan Layar 2020-06-23 pukul 4.23.54 PM.png|thumb|Parallel (p) and hybrid (h) configuration of SiPM board &amp;lt;ref&amp;gt;[S. Zimmermann. The panda barrel-tof detector. DPG-Frühjahrstagung, Münster. Austrian Academy of Sciences, Stefan Meyer Insitute for Subatomic Physics, 28th of March, 2017.]&amp;lt;/ref&amp;gt;. The signal path is depicted in red, the bias current in green, and the ground in blue.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both configurations are quite similar in term of performance, with the hybrid configuration having a slightly faster rising edge (by a few ns &amp;lt;ref&amp;gt;[L. Nies, H. G. Zaunick, &amp;amp; K.-T. Brinkmann. Development of a SiPM-based readout-module for the characterization of various scintillator materials. arXiv. (2018). &amp;lt;/ref&amp;gt;). The signal amplitude for the hybrid configuration decreases by a factor of &amp;lt;math&amp;gt;\frac{1}{\sqrt{N}}&amp;lt;/math&amp;gt; where N the number of SiPM, whereas the signal amplitude does not change for parallel configuration. However, the timing of the parallel configuration also decreases with the number of connected SiPM's; hence, for applications that are very time sensitive, the hybrid configuration might be necessary. Moreover, the hybrid configuration has more complexity, which might make the configuration more expensive to produce. Therefore for simplicity, the MuonPi project uses the parallel configuration. It keeps the simplicity while giving the option for adding SiPM further down the road. The schematic of the SiPM board for the MuonPi project is shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:SiPMBoard.png|thumb|none|300px|Schematic of the SiPM board used in the Muonpi project&amp;lt;ref&amp;gt;[L. Nies, “Development of a sipm-based readout-module for the characterization of various scintillation materials (bachelor’s thesis),” (August 2017).]&amp;lt;/ref&amp;gt;]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:Sipm pcb unmounted.png|thumb|none|300px|Photograph of unmounted SiPM PCB V2.1]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:Sipm_pcb_parts.png|thumb|none|300px|Photograph of a mounted SiPM PCB V2.1 with single SiPM (default configuration), rubber spacer and reflective foil]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=SiPM_board&amp;diff=624</id>
		<title>SiPM board</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=SiPM_board&amp;diff=624"/>
		<updated>2021-02-09T19:29:22Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Fixed Layout error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SiPM board is a printed circuit board (PCB) designed to dock and process the signal from the SiPM-scintillator coupling into a readout. Ideally no information such as timing from the scintillator should be lost, and the signal could be amplified/ processed with the board. In some applications involving significant temperature fluctuations, a compensator could also be built into the board. For the Muonpi project, the board should just be able to dock the SiPM-scintillator coupling to the readout. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The circuit configuration of the PCB varies depending on the number of SiPM's it needs to accommodate. For housing a single [https://www.ketek.net/wp-content/uploads/2017/01/KETEK-PM3325-EB-PM3350-EB-Datasheet.pdf Ketek PM3350-EB] SiPM the configuration is to just connect it with ground and readout/ bias. However, for connecting multiple SiPM's there are two possible configurations: parallel (p) and hybrid (h) configuration as illustrated below.&lt;br /&gt;
&lt;br /&gt;
[[File:Jepretan Layar 2020-06-23 pukul 4.23.54 PM.png|thumb|Parallel (p) and hybrid (h) configuration of SiPM board &amp;lt;ref&amp;gt;[S. Zimmermann. The panda barrel-tof detector. DPG-Frühjahrstagung, Münster. Austrian Academy of Sciences, Stefan Meyer Insitute for Subatomic Physics, 28th of March, 2017.]&amp;lt;/ref&amp;gt;. The signal path is depicted in red, the bias current in green, and the ground in blue.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both configurations are quite similar in term of performance, with the hybrid configuration having a slightly faster rising edge (by a few ns &amp;lt;ref&amp;gt;[Nies, L., Zaunick, H. G., &amp;amp; Brinkmann, K-. T.. Development of a SiPM-based readout-module for the characterization of various scintillator materials. arXiv. (2018). &amp;lt;/ref&amp;gt;). The signal amplitude for the hybrid configuration decreases by a factor of &amp;lt;math&amp;gt;\frac{1}{\sqrt{N}}&amp;lt;/math&amp;gt; where N the number of SiPM, whereas the signal amplitude does not change for parallel configuration. However, the timing of the parallel configuration also decreases with the number of connected SiPM's; hence, for applications that are very time sensitive, the hybrid configuration might be necessary. Moreover, the hybrid configuration has more complexity, which might make the configuration more expensive to produce. Therefore for simplicity, the Muonpi project uses the parallel configuration. It keeps the simplicity while giving the option for adding SiPM further down the road. The schematic of the SiPM board for the Muon Pi project is shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:SiPMBoard.png|thumb|none|300px|Schematic of the SiPM board used in the Muonpi project&amp;lt;ref&amp;gt;[L. Nies, “Development of a sipm-based readout-module for the characterization of various scintillation materials (bachelor’s thesis),” (August 2017).]&amp;lt;/ref&amp;gt;]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:Sipm pcb unmounted.png|thumb|none|300px|Photograph of unmounted SiPM PCB V2.1]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt; [[File:Sipm_pcb_parts.png|thumb|none|300px|Photograph of a mounted SiPM PCB V2.1 with single SiPM (default configuration), rubber spacer and reflective foil]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=SiPM_board&amp;diff=623</id>
		<title>SiPM board</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=SiPM_board&amp;diff=623"/>
		<updated>2021-02-09T19:15:44Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Added SiPM-Type and Link to Datasheet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SiPM board is a printed circuit board (PCB) designed to dock and process the signal from the SiPM-scintillator coupling into a readout. Ideally no information such as timing from the scintillator should be lost, and the signal could be amplified/ processed with the board. In some applications involving significant temperature fluctuations, a compensator could also be built into the board. For the Muonpi project, the board should just be able to dock the SiPM-scintillator coupling to the readout. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The circuit configuration of the PCB varies depending on the number of SiPM's it needs to accommodate. For housing a single [https://www.ketek.net/wp-content/uploads/2017/01/KETEK-PM3325-EB-PM3350-EB-Datasheet.pdf Ketek PM3350-EB] SiPM the configuration is to just connect it with ground and readout/ bias. However, for connecting multiple SiPM's there are two possible configurations: parallel (p) and hybrid (h) configuration as illustrated below. &lt;br /&gt;
&lt;br /&gt;
[[File:Jepretan Layar 2020-06-23 pukul 4.23.54 PM.png|thumb|Parallel (p) and hybrid (h) configuration of SiPM board &amp;lt;ref&amp;gt;[S. Zimmermann. The panda barrel-tof detector. DPG-Frühjahrstagung, Münster. Austrian Academy of Sciences, Stefan Meyer Insitute for Subatomic Physics, 28th of March, 2017.]&amp;lt;/ref&amp;gt;. The signal path is depicted in red, the bias current in green, and the ground in blue.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both configurations are quite similar in term of performance, with the hybrid configuration having a slightly faster rising edge (by a few ns &amp;lt;ref&amp;gt;[Nies, L., Zaunick, H. G., &amp;amp; Brinkmann, K-. T.. Development of a SiPM-based readout-module for the characterization of various scintillator materials. arXiv. (2018). &amp;lt;/ref&amp;gt;). The signal amplitude for the hybrid configuration decreases by a factor of &amp;lt;math&amp;gt;\frac{1}{\sqrt{N}}&amp;lt;/math&amp;gt; where N the number of SiPM, whereas the signal amplitude does not change for parallel configuration. However, the timing of the parallel configuration also decreases with the number of connected SiPM's; hence, for applications that are very time sensitive, the hybrid configuration might be necessary. Moreover, the hybrid configuration has more complexity, which might make the configuration more expensive to produce. Therefore for simplicity, the Muonpi project uses the parallel configuration. It keeps the simplicity while giving the option for adding SiPM further down the road. The schematic of the SiPM board for the Muon Pi project is shown below. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:SiPMBoard.png| thumb| Schematic of the SiPM board used in the Muonpi project&amp;lt;ref&amp;gt;[L. Nies, “Development of a sipm-based readout-module for the characterization of various scintillation materials (bachelor’s thesis),” (August 2017).]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[File:Sipm pcb unmounted.png|left|thumb|Photograph of unmounted SiPM PCB V2.1]]&lt;br /&gt;
[[File:Sipm_pcb_parts.png|center|thumb|Photograph of a mounted SiPM PCB V2.1 with single SiPM (default configuration), rubber spacer and reflective foil]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=617</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=617"/>
		<updated>2021-02-02T21:10:51Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Network Resources */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Resources ==&lt;br /&gt;
=== CPU ===&lt;br /&gt;
=== RAM ===&lt;br /&gt;
=== Disk I/O ===&lt;br /&gt;
&lt;br /&gt;
== Network Resources ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple: All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packet sizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Port !! Application&lt;br /&gt;
|-&lt;br /&gt;
| 51508 || GUI connection&lt;br /&gt;
|-&lt;br /&gt;
| 8888 || pigpiod&lt;br /&gt;
|-&lt;br /&gt;
| 1883 (out) || MQTT message publish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Connectivity&amp;diff=616</id>
		<title>Connectivity</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Connectivity&amp;diff=616"/>
		<updated>2021-01-31T01:18:01Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Redirect to subsection of Resources&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Resource usage#Network Resources]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=614</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=614"/>
		<updated>2021-01-31T01:14:13Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Simonglm moved page Connectivity to Resource usage: Rename for more info on one page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Resources ==&lt;br /&gt;
=== CPU ===&lt;br /&gt;
=== RAM ===&lt;br /&gt;
=== Disk I/O ===&lt;br /&gt;
&lt;br /&gt;
== Network Resources ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple:All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packetsizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Port !! Application&lt;br /&gt;
|-&lt;br /&gt;
| 51508 || GUI connection&lt;br /&gt;
|-&lt;br /&gt;
| 8888 || pigpiod&lt;br /&gt;
|-&lt;br /&gt;
| 1883 (out) || MQTT message publish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Connectivity&amp;diff=615</id>
		<title>Connectivity</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Connectivity&amp;diff=615"/>
		<updated>2021-01-31T01:14:13Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Simonglm moved page Connectivity to Resource usage: Rename for more info on one page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Resource usage]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=613</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=613"/>
		<updated>2021-01-31T01:12:14Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Restructuring for more comprehensive info on Resources in the future&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Resources ==&lt;br /&gt;
=== CPU ===&lt;br /&gt;
=== RAM ===&lt;br /&gt;
=== Disk I/O ===&lt;br /&gt;
&lt;br /&gt;
== Network Resources ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple:All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packetsizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Port !! Application&lt;br /&gt;
|-&lt;br /&gt;
| 51508 || GUI connection&lt;br /&gt;
|-&lt;br /&gt;
| 8888 || pigpiod&lt;br /&gt;
|-&lt;br /&gt;
| 1883 (out) || MQTT message publish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=610</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=610"/>
		<updated>2021-01-29T14:05:48Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Used Ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Explain how MuonPi uses the Network, Ports, etc.&lt;br /&gt;
&lt;br /&gt;
== Network I/O ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple:All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packetsizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Port !! Application&lt;br /&gt;
|-&lt;br /&gt;
| 51508 || GUI connection&lt;br /&gt;
|-&lt;br /&gt;
| 1883 (out) || TCP/IP (MQTT)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=609</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=609"/>
		<updated>2021-01-29T14:05:24Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Used Ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Explain how MuonPi uses the Network, Ports, etc.&lt;br /&gt;
&lt;br /&gt;
== Network I/O ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple:All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packetsizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 51508 || GUI connection&lt;br /&gt;
|-&lt;br /&gt;
| 1883 (out) || TCP/IP (MQTT)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=608</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=608"/>
		<updated>2021-01-29T14:01:34Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Used Ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Explain how MuonPi uses the Network, Ports, etc.&lt;br /&gt;
&lt;br /&gt;
== Network I/O ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple:All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packetsizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 51508 || GUI connection&lt;br /&gt;
|-&lt;br /&gt;
| 50500 || TCP/IP (MQTT)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Raspberry_Pi_Setup&amp;diff=607</id>
		<title>Raspberry Pi Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Raspberry_Pi_Setup&amp;diff=607"/>
		<updated>2021-01-29T13:47:55Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Initial Setup */ hehe my bad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article will introduce to you, how to set up a Raspberry Pi from scratch with all software needed to run the detector hardware.&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: If not stated otherwise, this tutorial is developed on Raspian 10 Buster.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Initial Setup =&lt;br /&gt;
(Requirements: Raspberry Pi Versions 0, 2, 3, 4 (with 40-pin GPIO connector) )&lt;br /&gt;
* Create a fresh install of Raspbian Buster operating system e.g. from [https://www.raspberrypi.org/downloads/raspberry-pi-os/ here] on microSD card (any version with or without desktop). For an headless install (without monitor and mouse/keyboard), we recommend following this [https://www.raspberrypi.org/documentation/configuration/wireless/headless.md guide].&lt;br /&gt;
* Change the default password of the user &amp;quot;pi&amp;quot;. This is strongly recommended, since connections through ssh will be enabled in the next step which should always have a strong authentication metric. Change it with &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt; &amp;gt;&amp;gt; Change User Password or on the command line with &amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''Enable the serial interface''' (UART) and '''disable the login shell''' via the UART. In terminal: &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt; &amp;gt;&amp;gt; Interfacing Options &amp;gt;&amp;gt; Serial &amp;gt;&amp;gt; Login shell over serial: No &amp;gt;&amp;gt; Enable serial hardware: Yes&lt;br /&gt;
* Enable I2C Interface: In terminal: &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt; &amp;gt;&amp;gt; Interfacing Options &amp;gt;&amp;gt; I2C &amp;gt;&amp;gt; Enable: Yes &amp;gt;&amp;gt; Reboot optional&lt;br /&gt;
* Enable SSH: The SSH protocol is needed if you want to remotely configure your headless Raspberry Pi. In a terminal: &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt; &amp;gt;&amp;gt; Interfacing Options &amp;gt;&amp;gt; SSH &amp;gt;&amp;gt; Enable: Yes &amp;gt;&amp;gt; Reboot&lt;br /&gt;
* Configure the network connection: By default, the RPi is configured to automatically obtain an IP address when a connection is available and DHCP in your local network is active (this should be the case for most local/home networks).&lt;br /&gt;
* If you prefer a fixed IP address in a local network: edit the file /etc/dhcpcd.conf. Use the template and uncomment the &amp;quot;Example Static IP Configuration&amp;quot; section with your desired IP address.&lt;br /&gt;
* If network access should be established via WiFi, either configure it via the network configuration wizard in the graphical desktop environment (usually network icon in the system bar), or manually following these steps (either method is fine):&lt;br /&gt;
** Make sure that the wpa_supplicant package is installed:&amp;lt;code&amp;gt;sudo apt install wpasupplicant&amp;lt;/code&amp;gt;&lt;br /&gt;
** edit the file /etc/wpa_supplicant/wpa_supplicant.conf:&amp;lt;code&amp;gt;sudo nano /etc/wpa_supplicant/wpa_supplicant.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
the configuration should look like this (non-relevant lines not shown):&lt;br /&gt;
&lt;br /&gt;
 update_config=1&lt;br /&gt;
 country=DE&amp;lt;/br&amp;gt;&lt;br /&gt;
 network={&lt;br /&gt;
        ssid=&amp;quot;&amp;lt;your network ssid&amp;gt;&amp;quot;&lt;br /&gt;
        psk=&amp;quot;&amp;lt;your wifi password&amp;gt;&amp;quot;&lt;br /&gt;
        key_mgmt=WPA-PSK&lt;br /&gt;
 }&lt;br /&gt;
Enter your WiFi's SSID and password in the indicated fields.&lt;br /&gt;
Finally, restart the system that the changes take effect.&lt;br /&gt;
Optionally, update your system by:&lt;br /&gt;
 sudo apt update &amp;amp;&amp;amp; sudo apt upgrade&lt;br /&gt;
&lt;br /&gt;
You should have a fully configured Raspbian system by now and are ready-to-go to set up the MuonPi in the next step.&lt;br /&gt;
&lt;br /&gt;
= MuonPi Setup =&lt;br /&gt;
(Requirements: a MuonPi board plugged onto the GPIO connector of the RPi)&lt;br /&gt;
* First, add the MuonPi apt repository to your system:&lt;br /&gt;
 wget -qO - &amp;lt;nowiki&amp;gt;https://archive.muonpi.org/muondetector.public.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add - &lt;br /&gt;
&lt;br /&gt;
 sudo sh -c &amp;quot;echo deb &amp;lt;nowiki&amp;gt;https://archive.muonpi.org/raspbian buster main&amp;lt;/nowiki&amp;gt; &amp;gt; /etc/apt/sources.list.d/muondetector.list&amp;quot;&lt;br /&gt;
* Update the repositories:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
* Install the muondetector-daemon package and it's dependencies:&lt;br /&gt;
 sudo apt install muondetector-daemon&lt;br /&gt;
* Optional: install the Graphical User Interface (GUI) program to monitor and control the MuonPi locally&lt;br /&gt;
 sudo apt install muondetector-gui&lt;br /&gt;
* The GUI can connect to the MuonPi over network as well, so it can be installed on other computers in the local network. Currently, binary packages for Raspbian, Ubuntu and Windows are available. The Linux-based versions can be installed from the package repositories (execute steps 1,2 and 4 from this list). The Windows program can be downloaded directly from https://archive.muonpi.org and installed by simply unpacking the zip-archive.&lt;br /&gt;
&lt;br /&gt;
= Configuration and Start =&lt;br /&gt;
&lt;br /&gt;
Now the installation of the muondetector-daemon should be adapted to your setup:&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Edit the configuration file /etc/muondetector/muondetector.conf: &amp;lt;code&amp;gt;nano /etc/muondetector/muondetector.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
Change the settings according to your needs or leave them untouched, if unsure. The comments in the config file should guide you through any required modifications. One option, however, describes the placement of your detector. If you like, choose a stationID descriptor, eg.:&amp;lt;/br&amp;gt;&lt;br /&gt;
(file: &amp;lt;code&amp;gt;/etc/muondetector/muondetector.conf&amp;lt;/code&amp;gt;)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; A unique identifier of the user's station&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; leave on default when the user operates a single station&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; all detectors of the user are distinguishable on the basis of this id&lt;br /&gt;
 stationID = &amp;quot;HomeOffice&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(anything which best describes the location of your detector like e.g. &amp;quot;GarageSW&amp;quot;, &amp;quot;Bldg16Lab105&amp;quot;, &amp;quot;AtticNE&amp;quot;). If you operate only one stationary detector, it may as well be left on the default ID which is &amp;quot;0&amp;quot; (zero).&lt;br /&gt;
&lt;br /&gt;
'''Important''': When operating multiple detectors (under the same user account, see below) the stationID descriptor '''must''' be unique for each detector.&lt;br /&gt;
&lt;br /&gt;
== Login with your user credentials (only once) ==&lt;br /&gt;
&lt;br /&gt;
Before taking the MuonPi detector into operation, you have to set your credentials for publishing data messages to the server via [http://mqtt.org/ MQTT] protocol on first start. This can be managed in two ways, one secure and one where your credentials appear as plain text in the config file:&lt;br /&gt;
==== The Recommended Method ====&lt;br /&gt;
In a bash shell on the MuonPi, run the command &amp;lt;code&amp;gt;muondetector-login&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Note that for the software version 2.0.0 the command to run is &amp;lt;code&amp;gt;sudo runuser -u muonuser -- muondetector-login&amp;lt;/code&amp;gt; instead.'''&lt;br /&gt;
&lt;br /&gt;
When asked for sudo access, enter the password of your raspberry pi user.&lt;br /&gt;
When asked for your user name and password, enter the credentials supplied to you by a MounPi.org official. The credentials are stored (not in clear text) for all further telemetry connections.&lt;br /&gt;
&lt;br /&gt;
==== Alternative Method ====&lt;br /&gt;
Uncomment the &amp;lt;code&amp;gt;mqtt_user&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mqtt_password&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;/etc/muondetector/muondetector.conf&amp;lt;/code&amp;gt; and type your personal username and password into these fields between the quotation marks. Be aware, that these credentials are written in plain text into this file and can be retrieved by malware attacks. However, if you operate a station inside a home network and set up a strong ssh authentication (see above), you should be relatively safe.&lt;br /&gt;
&lt;br /&gt;
== Start the Daemon ==&lt;br /&gt;
The daemon should be enabled and started automatically after installation and on every reboot. However, when changing items in the config file, the changes have to be made effective by a daemon restart:&lt;br /&gt;
 sudo systemctl restart muondetector-daemon.service&lt;br /&gt;
&lt;br /&gt;
To see the current status of the daemon service use following command:&lt;br /&gt;
 systemctl status muondetector-daemon.service&lt;br /&gt;
&lt;br /&gt;
It can happen that the status shows 'failed' in red, usually a restart of the daemon service resolves this.&lt;br /&gt;
&lt;br /&gt;
If the service should not enable itself by default the status shows a grey 'not loaded'. To enable the service use:&lt;br /&gt;
 sudo systemctl enable muondetector-daemon.service&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=604</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=604"/>
		<updated>2021-01-27T13:49:31Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* MQTT Packet */  annonymised&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Explain how MuonPi uses the Network, Ports, etc.&lt;br /&gt;
&lt;br /&gt;
== Network I/O ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple:All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packetsizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
51508 gui&lt;br /&gt;
50500 TCP/IP (MQTT)&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/user/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/user/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/user/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/user/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/user/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/user/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/user/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=603</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=603"/>
		<updated>2021-01-27T13:15:28Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* MQTT Packet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Explain how MuonPi uses the Network, Ports, etc.&lt;br /&gt;
&lt;br /&gt;
== Network I/O ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple:All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packetsizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
51508 gui&lt;br /&gt;
50500 TCP/IP (MQTT)&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| '''Total''' || '''150 byte'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/simonglm/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/simonglm/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/simonglm/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/simonglm/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/simonglm/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/simonglm/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/simonglm/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=602</id>
		<title>Resource usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Resource_usage&amp;diff=602"/>
		<updated>2021-01-27T03:58:51Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Basic documentation of MQTT communication IO-rates and packet size statistic as well as packet content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Explain how MuonPi uses the Network, Ports, etc.&lt;br /&gt;
&lt;br /&gt;
== Network I/O ==&lt;br /&gt;
=== Data rate ===&lt;br /&gt;
The MuonPi detector board will send measurement data to our data evaluation servers, the rate of which greatly depends on the exact event rate.&lt;br /&gt;
In a proper setup these messages will average out to roughly 600 messages per minute with an average size of 110 bytes.&lt;br /&gt;
This however includes the acknowledgement packets which account for two thirds of the number of packets but they are only small in size (&amp;gt;150 bytes).&lt;br /&gt;
[[File:Muonpi-iorate.png |thumb|Purple:All messages send between the MuonPi unit and muonpi.org &amp;lt;br&amp;gt;&lt;br /&gt;
Green: Only MQTT publish messages, excluding acknowledgement messages]]&lt;br /&gt;
[[File:Muonpi-packetsize.png|thumb|Histogram of packetsizes over 45minutes]]&lt;br /&gt;
&lt;br /&gt;
=== Used Ports ===&lt;br /&gt;
51508 gui&lt;br /&gt;
50500 TCP/IP (MQTT)&lt;br /&gt;
&lt;br /&gt;
=== MQTT Packet ===&lt;br /&gt;
Detector telemetry and mesurement data is send to our servers via the MQTT protocol.&lt;br /&gt;
Upon receiving a MQTT message from the client our servers respond with an MQTT acknowledgment packet which is in turn acknowledged by the client with a short TCP message.&lt;br /&gt;
&lt;br /&gt;
Generally two types of MQTT messages are send, the event message and the log message.&lt;br /&gt;
&lt;br /&gt;
The event messages consist of the following:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Size&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet frame || 14 byte&lt;br /&gt;
|-&lt;br /&gt;
| IP4 Header || 20 byte&lt;br /&gt;
|-&lt;br /&gt;
| TCP Header || 32 byte&lt;br /&gt;
|-&lt;br /&gt;
| MQTT message || 84 byte&lt;br /&gt;
|-&lt;br /&gt;
| Total || 150 byte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The log messages consist of multiple MQTT messages packed into a single (sometimes two seperate) TCP packets&lt;br /&gt;
&lt;br /&gt;
Example data of multiple MQTT packets being send to our data evaluation servers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !!MQTT topic !! timestamp (rising edge) !! timestamp (falling edge) !! Header text !! Event counter !! Header text !! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 1 || muonpi/data/simonglm/0 || 1611698307.895514697 || 1611698307.895515885 || 70 || 35109 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 2 || muonpi/data/simonglm/0 || 1611698307.912153060 || 1611698307.912154247 || 70 || 35110 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || muonpi/data/simonglm/0 || 1611698308.237550951 || 1611698308.237552160 || 70 || 35111 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || muonpi/data/simonglm/0 || 1611698308.404480192 || 1611698308.404481380 || 70 || 35112 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || muonpi/data/simonglm/0 || 1611698308.699026112 || 1611698308.699027299 || 70 || 35113 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || muonpi/data/simonglm/0 || 1611698309.048519516 || 1611698309.048520724 || 70 || 35114 || 1 || 2 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || muonpi/data/simonglm/0 || 1611698309.133318449 || 1611698309.133319657 || 70 || 35115 || 1 || 2 || 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Log message ====&lt;br /&gt;
The log message contains various meta data about your MuonPi setup.&lt;br /&gt;
&lt;br /&gt;
Example log message:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MQTT topic !! Date and Time !! Variable !! Value !! Unit !! Description&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || RXBufUsage              || 0.0000000     || %                  || Buffer usage incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || TXBufUsage              || 0.0000000     || %                  || Buffer usage outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || adcSamplingTime         || 2.4608333     || ms                 ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaPower            || 1.0000000     ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || antennaStatus           || 2             ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockBias               || -319713.3333333 || ns               || Offset of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || clockDrift              || -440.3333333  || ns/s               || Drift of GNSS clock&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatus               || 3             ||                    || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || fixStatusString         || 3D-Fix        || ms                 || GNSS fix status &lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || freqAccuracy            || 265.0000000   ||  ps/s              ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHash                 || u0ypy122vb    ||                    || GeoHash&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHeightMSL            || 177.8400000   || m      || Height above mean sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoHorAccuracy          || 1.2220000     || m      || Horizontal GNSS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLatitude             || 50.5000000    || deg    || Location latitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoLongitude            || 8.7000000     || deg    || Location longitude&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || geoVertAccuracy         || 0.8540000     || m      || Vertical GPS accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ibias                   || 10.2492675    || uA     || Bias current for SiPMs&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || jammingLevel            || 9.0000000     || %      || Jamming level of GPS antenna&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxCNR                  || 43.0000000    || dB     || Carrier to noise ratio&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxRXBufUsage           || 25            || %      || maximum buffer usage for incoming messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || maxTXBufUsage           || 4             || %      || maximum buffer usage for outgoing messages&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || meanGeoHeightMSL        || 185.35        || m      || mean height above sea level&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || positionDOP             || 1.7333333     ||        || position dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampAGC               || 1482.0000000  ||        ||&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || preampNoise             || -87.0000000   || dBHz   || noise level of SiPM preamp&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateAND                 || 0.0000000     || Hz     || event rate (AND)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || rateXOR                 || 3.0525173     || Hz     || event rate (XOR)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || sats                    || 20.7777778    ||        || number of GNSS satellites&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeMem           || 815.3660000   || Mb     || free memory space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemFreeSwap          || 104.8540000   || Mb     || free swap space in host system&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemLoadAvg           || 0.2758790     ||        || average CPU load&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || systemUptime            || 2.6875        || h      || uptime&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || temperature             || 41.5104167    || degC   || Temperature (on PCB)&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeAccuracy            || 31.5000000    || ns     || event timing accuracy&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || timeDOP                 || 0.9233333     ||        || timing dilution of precision&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || ubloxUptime             || 9771          || s      || UBlox uptime in seconds&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || usedSats                || 11.6666667    ||        || number of satellites in use&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/v/0 || 2021-01-26_22-08-43 || vbias                   || 31.6119833    || V      || SiPM bias voltage&lt;br /&gt;
|-&lt;br /&gt;
| muonpi/log/user/0 || 2021-01-26_22-08-43 || vsense                  || 0.2405174     || V      || Voltage accross sensing resistor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only privacy sensitive information contained in these messages are the geolocation and ambient temperature. (ellaborate in [[Privacy]])&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=File:Muonpi-packetsize.png&amp;diff=601</id>
		<title>File:Muonpi-packetsize.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=File:Muonpi-packetsize.png&amp;diff=601"/>
		<updated>2021-01-27T03:56:29Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Statistic of packetsize in MQTT communication&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=File:Muonpi-iorate.png&amp;diff=600</id>
		<title>File:Muonpi-iorate.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=File:Muonpi-iorate.png&amp;diff=600"/>
		<updated>2021-01-27T03:05:50Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Graph of I/O-rate of MuonPi communication&lt;br /&gt;
MQTT messages + MQTT acknowledge + TCP acknowledge in purple and only MQTT messages in green&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Main_Page&amp;diff=558</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Main_Page&amp;diff=558"/>
		<updated>2021-01-05T19:41:15Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Setup and Operation of the Detector */  Added some comments about choosing a detector location.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The MuonPi Cosmic Detector Project =&lt;br /&gt;
The MuonPi Project is a [https://www.raspberrypi.org/ RaspberryPi]-based system using an inexpensive plastic [[Scintillator|scintillator]] + [[Silicon photomultiplier|SiPM]] photo sensor to detect muons from cosmic air showers with a time-stamping accuracy of several tens of nanoseconds utilizing the [https://www.u-blox.com/en/product/neo-m8-series u-blox NEO-M8N GNSS] module's &amp;quot;timemark&amp;quot; feature.&lt;br /&gt;
&lt;br /&gt;
==== Learn about cosmic radiation ====&lt;br /&gt;
* Get started with [[Cosmic Rays]], especially [[Muon]]s&lt;br /&gt;
&lt;br /&gt;
*[https://www.vox.com/the-highlight/2019/7/16/17690740/cosmic-rays-universe-theory-science Extremely powerful cosmic rays are raining down on us. No one knows where they come from.] But with large-scale experiments, scientists around the world are determined to find out. ''Vox'' Jul 25, 2019&lt;br /&gt;
&lt;br /&gt;
*[https://home.cern/science/physics/cosmic-rays-particles-outer-space Cosmic rays: particles from outer space] Earth is subject to a constant bombardment of subatomic particles that can reach energies far higher than the largest machines. ''CERN''&lt;br /&gt;
&lt;br /&gt;
* [https://www.weltderphysik.de/mediathek/podcast/kosmische-strahlung/ &amp;quot;Kosmische Strahlung&amp;quot;] Podcast (in German) on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
* [https://www.weltderphysik.de/thema/bmbf/astro-undastroteilchenphysik/der-kosmischen-strahlung-auf-der-spur/ &amp;quot;Der kosmischen Strahlung auf der Spur&amp;quot;] article (in German)  on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
* [https://www.weltderphysik.de/gebiet/universum/news/2017/kosmische-teilchen-mit-extragalaktischem-ursprung/ &amp;quot;Kosmische Teilchen mit extragalaktischem Ursprung&amp;quot;] article (in German)  on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
&lt;br /&gt;
==== Learn about the detectors ====&lt;br /&gt;
* Basics of [[Scintillator]]s&lt;br /&gt;
* Find out about [[Silicon photomultiplier|Silicon Photomultipliers]]&lt;br /&gt;
* How our [[The Detector|Detectors]] are assembled&lt;br /&gt;
&lt;br /&gt;
= The Hardware =&lt;br /&gt;
&lt;br /&gt;
=== SiPM PCB ===&lt;br /&gt;
The SiPM photo sensor which detects the dim light generated inside the scintillation detector is mounted on a small [[Sipm_board|SiPM board]]. Different numbers of SiPMs and read-out configurations can be realized through it's flexible design.&lt;br /&gt;
&lt;br /&gt;
=== Preamplifier ===&lt;br /&gt;
The [[preamplifier]] is located in close vicinity to the [[sipm_board|SiPM photodetector board]] and amplifies the weak signals for transmission to the [[muonpi_board|MuonPi]] board, where they are further processed and evaluated.&lt;br /&gt;
&lt;br /&gt;
=== The MuonPi-Board ===&lt;br /&gt;
The main signal processing, voltage generation and parameter monitoring and adjustment is done on the Raspberry Pi plug-on [[muonpi_board|MuonPi Board]]. The board's design is open source hardware and exhibits only commercially available off-the-shelf components which can be obtained from several distributors. With some soldering experience, the MuonPi HAT can be assembled utilizing a standard soldering equipment. A how-to guide and useful hints are available in the [[Assembly Guide|Assembly Guide]].&lt;br /&gt;
&lt;br /&gt;
= The Software =&lt;br /&gt;
The MuonPi software collection is entirely open source and [https://github.com/MuonPi available on github]&lt;br /&gt;
It consists of several components:&lt;br /&gt;
* '''muondetector-daemon''' The main control program running as a background system service on the RPi. The daemon configures, controls and supervises the components on the MuonPi HAT board, handles the comunication to the u-Blox chip and to the outside world via MQTT link and direct access socket, monitors system parameters, such as temperature, voltages, curent, rates etc., performs statistics collections, calculations and logging and much more. The daemon can be installed through the standard system software management tools (such as apt) from our [https://archive.muonpi.org package repository] or compiled from the [https://github.com/MuonPi/muondetector github source] and is everything which is needed to operate a MuonPi detector.&lt;br /&gt;
* '''muondetector-gui''' A graphical user interface (GUI) program which can be launched on any computer in the same network as the MuonPi detector in order to monitor and adjust all operation parameters of the detector, if required. The GUI is available for [https://archive.muonpi.org download] as binary package for several platforms (Raspbian, Ubuntu, Windows) or can be compiled from the current [https://github.com/MuonPi/muondetector github master branch].&lt;br /&gt;
* '''muondetector-login''' A small command line helper tool to initially set up the MQTT telemetry link. The program will ask for the supplied MQTT credentials and stores them locally in encrypted form for continuous use.&lt;br /&gt;
* '''muondetector-cluster''' Allows the operation of a multi-detector cluster as an entity. The program is the cluster head or interface towards the server, searches for coincidences within the cluster and sends the combined coincidence events instead of the single event telegrams to the server. This tool is in development phase with more information about it's utilization to come in near future.&lt;br /&gt;
&lt;br /&gt;
= Setup and Operation of the Detector =&lt;br /&gt;
Here you find a collection of HOW-TOs useful to set-up and operate a detector:&lt;br /&gt;
&lt;br /&gt;
*[[The Detector|How to assemble the detector plates]]&lt;br /&gt;
&lt;br /&gt;
*[[Assembly Guide|MuonPi HAT assembly guide]]&lt;br /&gt;
&lt;br /&gt;
*[[Hardware Setup|How to set up the detector hardware]]&lt;br /&gt;
&lt;br /&gt;
*[[Raspberry Pi Setup|How to install and set up the MuonPi software]]&lt;br /&gt;
&lt;br /&gt;
*[[MuonPi - Grafana|How to view your detector data using Grafana]]&lt;br /&gt;
&lt;br /&gt;
*Detector Surveillance through a [[MuonPi Telegram Bot|Telegram Bot]]&lt;br /&gt;
&lt;br /&gt;
The completed setup is fairly insensitive to the location where it will operate.&lt;br /&gt;
Basic requirement is a good GPS signal, low humidity and obviously power and network connectivity.&lt;br /&gt;
A stable temperature for the scintillator and preamp is desirable, as it affects the noise level of the setup.&lt;br /&gt;
Muons will penetrate several meters of granite rock, so placing the detector in the basement leaves the muon measurements unaffected.&lt;br /&gt;
However due to radon collection in basement rooms and potassium decay a slightly higher natural radioactive background can be observed.&lt;br /&gt;
&lt;br /&gt;
In case there are problems with the set-up or operation of the detector, have a look in the [[Troubleshooting]] section.&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
&lt;br /&gt;
[[News and articles]] about cosmic rays and similar projects.&lt;br /&gt;
&lt;br /&gt;
= Other languages =&lt;br /&gt;
&lt;br /&gt;
* [[Main Page/de]]&lt;br /&gt;
&lt;br /&gt;
= Admin Area = &lt;br /&gt;
&lt;br /&gt;
Useful [[resources]] for admins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= About this Wiki =&lt;br /&gt;
* How to edit? [[help for creators]]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings List of config variables]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list of new MediaWiki version announcements]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Sandbox page for testing/playing:&lt;br /&gt;
* [[Sandbox]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=519</id>
		<title>Assembly Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=519"/>
		<updated>2020-12-14T15:08:05Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to populate our MuonPi-PCB, using the construction kit. You can get a kit or a fully assembled PCB by contacting us [http://www.muonpi.org/contact.html here].&lt;br /&gt;
&lt;br /&gt;
All components in this kit (except for the pin headers) are surface-mount devices (SMD).&lt;br /&gt;
Most of these parts are only a few millimeters in size and are prone jump very far, should you slip with the tweezers.&lt;br /&gt;
Soldering these requires steady hands and a bit of technique, but this guide aims to help you with that.&lt;br /&gt;
&lt;br /&gt;
== The Kit ==&lt;br /&gt;
The Kit contains all the parts you need to set up your very own particle detector using your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Contents of the Kit are:&lt;br /&gt;
* The plastic scintillator (generously provided by [https://eljentechnology.com/ Eljen Technology])&lt;br /&gt;
* The bare printed circuit board ([[Muonpi board]])&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Satellite_navigation GNSS] antenna&lt;br /&gt;
* Components to mount on the PCB (Resistors, Capacitors, Inductors, ICs, etc.)&lt;br /&gt;
* Bill of materials (BOM)&lt;br /&gt;
&lt;br /&gt;
The individual components of the kit are glued to a nametag using tape, as can be seen in the picture.&lt;br /&gt;
[[File:Parts-packaging.jpg|thumb|Example of how parts in the detector PCB kit are packaged]]&lt;br /&gt;
Because of the size and difficulty labeling the parts, they are packaged using paper labels and clear tape. &lt;br /&gt;
Getting the parts out of their packaging has to be done quite carefully, as they are easy to lose.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
The bare essential tools are:&lt;br /&gt;
* soldering iron&lt;br /&gt;
* solder&lt;br /&gt;
* (metal) tweezers &lt;br /&gt;
* solder fume extractor&lt;br /&gt;
additional:&lt;br /&gt;
* flux&lt;br /&gt;
* solder wick&lt;br /&gt;
* vise or helping hands&lt;br /&gt;
* scalpel/scissors&lt;br /&gt;
* magnifying glass&lt;br /&gt;
&lt;br /&gt;
Additionally, we recommend to choose a brightl workplace, as dim lights and small components can lead to eye strain and head aches.&lt;br /&gt;
&lt;br /&gt;
Generally,the smaller the tip of your soldering iron is, the better, for small component soldering at least.&lt;br /&gt;
Of course if you have other solder tips, like ones with a solder depot, you can use those too.&amp;lt;br&amp;gt;&lt;br /&gt;
In any case whatever tools you need to get the job done, are the correct tools to use.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
The schematic, layout and BOM of the current hardware version can be found on the [https://easyeda.com/MuonPi/cosmic_shower_detector_v1-52b8a2536bb6468e9f48412a774951d0_copy_copy easyEDA project page].&lt;br /&gt;
While soldering, finding the right pad, where a specific components has to go, can be quite difficult.&lt;br /&gt;
The labels on the PCB are small and space for them is very limited which makes some of them hard to read and find.&lt;br /&gt;
To help you find the correct solder pads, we recommend to have a computer nearby where you can open the [https://easyeda.com/editor#id=ad78628187d94b9cb54d8735233128d7 schematics] and use the search function.&lt;br /&gt;
Alternatively you can print out the layout that is attached on the easyEDA project page.&lt;br /&gt;
&lt;br /&gt;
=== Mounting Options ===&lt;br /&gt;
The BOM specifies multiple mounting options, such as: &amp;quot;Full&amp;quot;, &amp;quot;Single Channel&amp;quot;, &amp;quot;External Bias Supply&amp;quot;, &amp;quot;Fixed Input Polarity&amp;quot;.&lt;br /&gt;
&amp;quot;External Bias Supply&amp;quot; and &amp;quot;Fixed Input Polarity&amp;quot; were used by us in the development and will not be discussed here further.&lt;br /&gt;
The default configuration of the kit contains only one scintillator, therefore only one channel of the detector electronics will be used at a time.&lt;br /&gt;
In that case, the &amp;quot;Single Channel&amp;quot; mounting option would be sufficient.&lt;br /&gt;
However the number of components in the kit follows the &amp;quot;Full&amp;quot; configuration, and mounting all components is still recommended.&lt;br /&gt;
Just mounting all the parts that are included in the kit will lead to a working PCB with both channels working.&lt;br /&gt;
Please [https://muonpi.org/contact.html contact us], if you are interested in a two scintillator setup.&lt;br /&gt;
&lt;br /&gt;
== Assembly ==&lt;br /&gt;
First things first, you should setup your workspace with all parts layed out, along with the BOM and all the tools you might need.&lt;br /&gt;
Personally, I like to sort the parts into categories: Resistors, Capacitors, Inductors, ICs and others.&lt;br /&gt;
This helps to save time and gives a quick overview of your soldering progress.&lt;br /&gt;
In principle the choice which components to mount first comes down to personal preference.&lt;br /&gt;
A helpful guideline is to mount parts depending on their height.&lt;br /&gt;
Lower, smaller parts should be mounted first, as to not interfere too much in the later stages of assembly.&lt;br /&gt;
This is why the GPIO headers should be among the last components to be mounted.&lt;br /&gt;
&lt;br /&gt;
Once you are set up, you can turn on your soldering iron and fume extractor and start soldering.&lt;br /&gt;
&lt;br /&gt;
=== Tips on SMD soldering ===&lt;br /&gt;
SMD components are small and difficult to solder.&lt;br /&gt;
The easiest components to solder are the resistors and capacitors.&lt;br /&gt;
Start with these to get comfortable with SMD soldering first, then proceed to the more difficult ICs.&amp;lt;br&amp;gt;&lt;br /&gt;
A quick guide to SMD soldering can be found at [https://www.sparkfun.com/marcomm/SFE03-0010-KitCard-SolderingSMD-ReaderSpreads.pdf sparkfun.com].&lt;br /&gt;
&lt;br /&gt;
Be careful with the tip of the iron and the PCB. Too much heat and scraping of the pads can remove the top layer from the PCB or even rip the pad off the PCB.&lt;br /&gt;
The later, depending on the pad this happens to, is very likely to completely brick the board and rendering it unusable.&lt;br /&gt;
&lt;br /&gt;
=== Soldering Workflow ===&lt;br /&gt;
[[File:Closeup of one soldered pad and a resistor.jpg|thumb|left|Closeup of a pad with solder and a resistor]]&lt;br /&gt;
Take your BOM and choose one of the resistor/capacitor values to begin with and identify the pad label, where the part is supposed to be placed.&lt;br /&gt;
Now take your soldering iron and heat one side of the pad. After a couple of seconds of heating, add some solder to the pad.&lt;br /&gt;
Take out one of the components out of it's packaging and grab onto it with the tweezers as indicated in the picture on the right.&lt;br /&gt;
Heat the solder blob and slide the component into the molten solder from the side.&lt;br /&gt;
This ensures covering of the components contacts.&lt;br /&gt;
Placing the component into the blob from above can lead to solder bridges underneath the component, which will render the component useless.&lt;br /&gt;
&lt;br /&gt;
Once one side of the component is fixed, it's good practice to lightly press down on the component and remelt the solder.&lt;br /&gt;
Doing this will help to mount the component flush to the board.&lt;br /&gt;
Although not always necessary, doing this will help to avoid solder bridges, especially between the legs of ICs.&lt;br /&gt;
[[File:Flush component.jpg|x300px|thumb|right|Component lifted on one side (top); pressed down and after remelting the solder (bottom)]]&lt;br /&gt;
&lt;br /&gt;
It is a good idea to cross out the components on the BOM once they are soldered.&lt;br /&gt;
Should in the end a label on the BOM be left unmarked you can check to not miss any components.&lt;br /&gt;
&lt;br /&gt;
When you are finished soldering all parts of one kind, pause and check you haven't missed any.&lt;br /&gt;
Only then move on to the next group of parts.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Circuits (ICs) ===&lt;br /&gt;
Once all passive Components are placed and double checked, we can move on to the integrated circuits.&lt;br /&gt;
Soldering these is considerably more difficult, especially the ADC and DAC (U401 &amp;amp; U402 in v3.x) have a very small pad pitch.&lt;br /&gt;
Solder bridges are almost unavoidable and need to be dealt with.&lt;br /&gt;
&lt;br /&gt;
First, solder is added to one pad on a corner of the IC footprint.&lt;br /&gt;
Then, just like the passive components, the IC is moved into the molten solder.&lt;br /&gt;
It is very important to align all the legs of the IC on their respective pads.&lt;br /&gt;
Proceed to fix one of the other legs, preferably a leg on the diagonally opposite side.&lt;br /&gt;
The remaining unsoldered legs can now be soldered to the board.&lt;br /&gt;
&lt;br /&gt;
If solder bridges are created, they need to be removed.&lt;br /&gt;
One possible method to remove solder bridges is the usage of flux.&lt;br /&gt;
Flux is a mixture of multiple compounds that remove and prevent build up of oxides on the solder blob.&lt;br /&gt;
Additionally it increases the surface tension of the molten solder and therefor promotes splitting of solder blobs.&lt;br /&gt;
So just using a good amount of flux can fix solder bridges.&lt;br /&gt;
&lt;br /&gt;
However if there is too much solder on the pads, bridges cannot be fixed just using flux. In that case we need to remove some solder.&lt;br /&gt;
Solder wicks are very useful for this task as its tight copper webbing wicks up any excess solder.&lt;br /&gt;
Place the wick on the solder blob and using the hot soldering iron, press the wick on the solder from above.&lt;br /&gt;
After a while, once the wick is hot enough, the solder will melt and be picked up by the wick.&lt;br /&gt;
Remove the wick and soldering iron simultaneously, otherwise the wick will be soldered to the pad instead, and pulling on the wick in that case can rip the pad off of the PCB.&lt;br /&gt;
&lt;br /&gt;
In the timelapse you might be able to catch, how I soldered the ADC and DAC (U401 &amp;amp; U402 in v3.x).&lt;br /&gt;
Since the pitch is very small and solder bridges are very likely, I didn't even bother trying to avoid them.&lt;br /&gt;
After fixing the IC in place on one leg, I added a lot of solder to all pins and pads in one big blob.&lt;br /&gt;
With the addition of flux, most of the solder was removed using the solder wick, in the hopes that some solder would remain under the legs.&lt;br /&gt;
On first sight it seemed to work, but testing of the board revealed that something did not work.&lt;br /&gt;
Knowing this technique is not 100% reliable, a quick reheat with careful addition of small amounts of solder fixed the issue and the board was fully operational.&lt;br /&gt;
 &lt;br /&gt;
{{#evt:service=youtube|id=E3kZMtjD76c|alignment=right|container=frame|description=Timelapse of IC soldering ([https://www.youtube.com/watch?v=E3kZMtjD76c link to youtube])|dimensions=480}}&lt;br /&gt;
&lt;br /&gt;
=== Connectors ===&lt;br /&gt;
*'''SMA connectors:''' lots of heat&lt;br /&gt;
*'''UFL connectors:''' lots of solder&lt;br /&gt;
&lt;br /&gt;
== Testing the board ==&lt;br /&gt;
'''How-To:'''&lt;br /&gt;
# Assemble the MuonPi-PCB as described in this guide&lt;br /&gt;
# [[Raspberry_Pi_Setup#MuonPi_Setup|Software Setup]]&lt;br /&gt;
# [[Hardware_Setup|Hardware Setup]]&lt;br /&gt;
To test your fully assembled board, follow the Software- and Hardware-Setup How-To.&lt;br /&gt;
Once everything is installed and connected your MuonPi is ready to boot.&lt;br /&gt;
Since the Version 2.0 of the muondetector-deamon will set default values for the thresholds and bias-voltage.&lt;br /&gt;
With these defaults the blue Ch1-LED should start flashing irregularly.&lt;br /&gt;
You are now seeing particles pass through your scintillator!&lt;br /&gt;
&amp;lt;!-- Powering the Pi with improper alignment may damage the electronics, so make sure the connector is properly aligned.&lt;br /&gt;
Next step is connecting the signal and bias-voltage cables to the [[preamplifier]] of the [[Silicon_photomultiplier|SiPM]] and your MuonPi-PCB.&lt;br /&gt;
'''Be careful with the UFL connectors as they are very delicate and only apply moderate pressure from above.'''&lt;br /&gt;
The GPS/GNSS antenna can now be screwed to the SMA connector. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=504</id>
		<title>Assembly Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=504"/>
		<updated>2020-12-12T21:37:57Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: /* Documentation */  Added reference to ibom.html&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to populate our MuonPi-PCB, using the construction kit. You can get a kit or a fully assembled PCB by contacting us [http://www.muonpi.org/contact.html here].&lt;br /&gt;
&lt;br /&gt;
All components in this kit (except for the pin headers) are surface-mount devices (SMD).&lt;br /&gt;
Most of these parts are only a few millimeters in size and are prone jump very far, should you slip with the tweezers.&lt;br /&gt;
Soldering these requires steady hands and a bit of technique, but this guide aims to help you with that.&lt;br /&gt;
&lt;br /&gt;
== The Kit ==&lt;br /&gt;
The Kit contains all the parts you need to set up your very own particle detector using your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Contents of the Kit are:&lt;br /&gt;
* The plastic scintillator (generously provided by [https://eljentechnology.com/ Eljen Technology])&lt;br /&gt;
* The bare printed circuit board ([[Muonpi board]])&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Satellite_navigation GNSS] antenna&lt;br /&gt;
* Components to mount on the PCB (Resistors, Capacitors, Inductors, ICs, etc.)&lt;br /&gt;
* Bill of materials (BOM)&lt;br /&gt;
&lt;br /&gt;
The individual components of the kit are glued to a nametag using tape, as can be seen in the picture.&lt;br /&gt;
[[File:Parts-packaging.jpg|thumb|Example of how parts in the detector PCB kit are packaged]]&lt;br /&gt;
Because of the size and difficulty labeling the parts, they are packaged using paper labels and clear tape. &lt;br /&gt;
Getting the parts out of their packaging has to be done quite carefully, as they are easy to lose.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
The bare essential tools are:&lt;br /&gt;
* soldering iron&lt;br /&gt;
* solder&lt;br /&gt;
* (metal) tweezers &lt;br /&gt;
* solder fume extractor&lt;br /&gt;
additional:&lt;br /&gt;
* flux&lt;br /&gt;
* solder wick&lt;br /&gt;
* vise or helping hands&lt;br /&gt;
* scalpel/scissors&lt;br /&gt;
* magnifying glass&lt;br /&gt;
&lt;br /&gt;
Additionally, we recommend to choose a brightl workplace, as dim lights and small components can lead to eye strain and head aches.&lt;br /&gt;
&lt;br /&gt;
Generally,the smaller the tip of your soldering iron is, the better, for small component soldering at least.&lt;br /&gt;
Of course if you have other solder tips, like ones with a solder depot, you can use those too.&amp;lt;br&amp;gt;&lt;br /&gt;
In any case whatever tools you need to get the job done, are the correct tools to use.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
The schematic, layout and BOM of the current hardware version can be found on the [https://easyeda.com/MuonPi/cosmic_shower_detector_v1-52b8a2536bb6468e9f48412a774951d0_copy_copy easyEDA project page].&lt;br /&gt;
While soldering, finding the right pad, where a specific components has to go, can be quite difficult.&lt;br /&gt;
The labels on the PCB are small and space for them is very limited which makes some of them hard to read and find.&lt;br /&gt;
To help you find the correct solder pads, an interactive BOM with the board layout, highlighting and clickable pads can be found [https://www.muonpi.org/bom/ibom.html on our website].&lt;br /&gt;
Alternatively you can print out the layout that is attached on the easyEDA project page.&lt;br /&gt;
&lt;br /&gt;
=== Mounting Options ===&lt;br /&gt;
The BOM specifies multiple mounting options, such as: &amp;quot;Full&amp;quot;, &amp;quot;Single Channel&amp;quot;, &amp;quot;External Bias Supply&amp;quot;, &amp;quot;Fixed Input Polarity&amp;quot;.&lt;br /&gt;
&amp;quot;External Bias Supply&amp;quot; and &amp;quot;Fixed Input Polarity&amp;quot; were used by us in the development and will not be discussed here further.&lt;br /&gt;
The default configuration of the kit contains only one scintillator, therefore only one channel of the detector electronics will be used at a time.&lt;br /&gt;
In that case, the &amp;quot;Single Channel&amp;quot; mounting option would be sufficient.&lt;br /&gt;
However the number of components in the kit follows the &amp;quot;Full&amp;quot; configuration, and mounting all components is still recommended.&lt;br /&gt;
Just mounting all the parts that are included in the kit will lead to a working PCB with both channels working.&lt;br /&gt;
Please [https://muonpi.org/contact.html contact us], if you are interested in a two scintillator setup.&lt;br /&gt;
&lt;br /&gt;
== Assembly ==&lt;br /&gt;
First things first, you should setup your workspace with all parts layed out, along with the BOM and all the tools you might need.&lt;br /&gt;
Personally, I like to sort the parts into categories: Resistors, Capacitors, Inductors, ICs and others.&lt;br /&gt;
This helps to save time and gives a quick overview of your soldering progress.&lt;br /&gt;
In principle the choice which components to mount first comes down to personal preference.&lt;br /&gt;
A helpful guideline is to mount parts depending on their height.&lt;br /&gt;
Lower, smaller parts should be mounted first, as to not interfere too much in the later stages of assembly.&lt;br /&gt;
This is why the GPIO headers should be among the last components to be mounted.&lt;br /&gt;
&lt;br /&gt;
Once you are set up, you can turn on your soldering iron and fume extractor and start soldering.&lt;br /&gt;
&lt;br /&gt;
=== Tips on SMD soldering ===&lt;br /&gt;
SMD components are small and difficult to solder.&lt;br /&gt;
The easiest components to solder are the resistors and capacitors.&lt;br /&gt;
Start with these to get comfortable with SMD soldering first, then proceed to the more difficult ICs.&amp;lt;br&amp;gt;&lt;br /&gt;
A quick guide to SMD soldering can be found at [https://www.sparkfun.com/marcomm/SFE03-0010-KitCard-SolderingSMD-ReaderSpreads.pdf sparkfun.com].&lt;br /&gt;
&lt;br /&gt;
Be careful with the tip of the iron and the PCB. Too much heat and scraping of the pads can remove the top layer from the PCB or even rip the pad off the PCB.&lt;br /&gt;
The later, depending on the pad this happens to, is very likely to completely brick the board and rendering it unusable.&lt;br /&gt;
&lt;br /&gt;
=== Soldering Workflow ===&lt;br /&gt;
[[File:Closeup of one soldered pad and a resistor.jpg|thumb|left|Closeup of a pad with solder and a resistor]]&lt;br /&gt;
Take your BOM and choose one of the resistor/capacitor values to begin with and identify the pad label, where the part is supposed to be placed.&lt;br /&gt;
Now take your soldering iron and heat one side of the pad. After a couple of seconds of heating, add some solder to the pad.&lt;br /&gt;
Take out one of the components out of it's packaging and grab onto it with the tweezers as indicated in the picture on the right.&lt;br /&gt;
Heat the solder blob and slide the component into the molten solder from the side.&lt;br /&gt;
This ensures covering of the components contacts.&lt;br /&gt;
Placing the component into the blob from above can lead to solder bridges underneath the component, which will render the component useless.&lt;br /&gt;
&lt;br /&gt;
Once one side of the component is fixed, it's good practice to lightly press down on the component and remelt the solder.&lt;br /&gt;
Doing this will help to mount the component flush to the board.&lt;br /&gt;
Although not always necessary, doing this will help to avoid solder bridges, especially between the legs of ICs.&lt;br /&gt;
[[File:Flush component.jpg|x300px|thumb|right|Component lifted on one side (top); pressed down and after remelting the solder (bottom)]]&lt;br /&gt;
&lt;br /&gt;
It is a good idea to cross out the components on the BOM once they are soldered.&lt;br /&gt;
Should in the end a label on the BOM be left unmarked you can check to not miss any components.&lt;br /&gt;
&lt;br /&gt;
When you are finished soldering all parts of one kind, pause and check you haven't missed any.&lt;br /&gt;
Only then move on to the next group of parts.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Circuits (ICs) ===&lt;br /&gt;
Once all passive Components are placed and double checked, we can move on to the integrated circuits.&lt;br /&gt;
Soldering these is considerably more difficult, especially the ADC and DAC (U401 &amp;amp; U402 in v3.x) have a very small pad pitch.&lt;br /&gt;
Solder bridges are almost unavoidable and need to be dealt with.&lt;br /&gt;
&lt;br /&gt;
First, solder is added to one pad on a corner of the IC footprint.&lt;br /&gt;
Then, just like the passive components, the IC is moved into the molten solder.&lt;br /&gt;
It is very important to align all the legs of the IC on their respective pads.&lt;br /&gt;
Proceed to fix one of the other legs, preferably a leg on the diagonally opposite side.&lt;br /&gt;
The remaining unsoldered legs can now be soldered to the board.&lt;br /&gt;
&lt;br /&gt;
If solder bridges are created, they need to be removed.&lt;br /&gt;
One possible method to remove solder bridges is the usage of flux.&lt;br /&gt;
Flux is a mixture of multiple compounds that remove and prevent build up of oxides on the solder blob.&lt;br /&gt;
Additionally it increases the surface tension of the molten solder and therefor promotes splitting of solder blobs.&lt;br /&gt;
So just using a good amount of flux can fix solder bridges.&lt;br /&gt;
&lt;br /&gt;
However if there is too much solder on the pads, bridges cannot be fixed just using flux. In that case we need to remove some solder.&lt;br /&gt;
Solder wicks are very useful for this task as its tight copper webbing wicks up any excess solder.&lt;br /&gt;
Place the wick on the solder blob and using the hot soldering iron, press the wick on the solder from above.&lt;br /&gt;
After a while, once the wick is hot enough, the solder will melt and be picked up by the wick.&lt;br /&gt;
Remove the wick and soldering iron simultaneously, otherwise the wick will be soldered to the pad instead, and pulling on the wick in that case can rip the pad off of the PCB.&lt;br /&gt;
&lt;br /&gt;
In the timelapse you might be able to catch, how I soldered the ADC and DAC (U401 &amp;amp; U402 in v3.x).&lt;br /&gt;
Since the pitch is very small and solder bridges are very likely, I didn't even bother trying to avoid them.&lt;br /&gt;
After fixing the IC in place on one leg, I added a lot of solder to all pins and pads in one big blob.&lt;br /&gt;
With the addition of flux, most of the solder was removed using the solder wick, in the hopes that some solder would remain under the legs.&lt;br /&gt;
On first sight it seemed to work, but testing of the board revealed that something did not work.&lt;br /&gt;
Knowing that this technique is not 100% reliable, a quick reheat with careful addition of small amounts of solder fixed the issue and the board was fully operational.&lt;br /&gt;
 &lt;br /&gt;
{{#evt:service=youtube|id=E3kZMtjD76c|alignment=right|container=frame|description=Timelapse of IC soldering ([https://www.youtube.com/watch?v=E3kZMtjD76c link to youtube])|dimensions=480}}&lt;br /&gt;
&lt;br /&gt;
=== UFL connectors ===&lt;br /&gt;
&lt;br /&gt;
== Testing the board ==&lt;br /&gt;
To test your fully assembled board, get your Raspberry Pi and power it off. Now that the Pi is unpowered align the GPIO headers with the pins of the Pi. When aligned correctly, there should not be any pins unconnected and any headers left without a connection.&lt;br /&gt;
Next step is connecting the signal cables to the preamplifier of the SiPM&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Hardware_Setup&amp;diff=501</id>
		<title>Hardware Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Hardware_Setup&amp;diff=501"/>
		<updated>2020-12-10T15:08:55Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: syntax error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MuonPi HAT board is a plug-on board for Raspberry-Pi minicomputers exhibiting a 40-pin GPIO-connector. Only place the board on the RPi with power disconnected. Use 13 mm long plastic spacers and 2.5mm metric screws to fix the board.&lt;br /&gt;
= Cable Connections =&lt;br /&gt;
The [[preamplifier]] attached to the [[Silicon_photomultiplier|SiPM]]-PCB and the [[Scintillator]] has two connections: One for the provision of the SiPM bias voltage (27...32V for KETEK-type SiPMs) and one for the combined output signal and preamp supply voltage. Both connectors are u.Fl-type coaxial receptacles with the same counterparts on the MuonPi board. They should be connected with standard u.Fl coaxial cables which are widely available (eg. at [https://www.amazon.de/-/en/U-FL-Hirose-Cable-1-13-20/dp/B01MTQGHPM/ref=sr_1_23?dchild=1&amp;amp;keywords=u.fl+kabel+ipx+ipex&amp;amp;qid=1607074316&amp;amp;sr=8-23 Amazon], [https://www.ebay.de/itm/10PCS-IPX-IPEX-u-fl-Female-1-13mm-Connector-Cable-Single-head-Adapter-Connect-QE/303795341801?hash=item46bb9d09e9:g:CpgAAOSw3jxe1erV Ebay] or AliExpress). The connection details are shown in the photograph below. The GNSS antenna is mounted to the SMA jack X7 at the lower edge of the board. Note, that antennas with integrated preamplifier (&amp;quot;active&amp;quot; antennas) are recommended to use in conjunction with the MuonPi board.&lt;br /&gt;
&lt;br /&gt;
[[File:MuonPi-Connections.png|640px|thumb|Hardware connections between MuonPi HAT board and detector]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Hardware_Setup&amp;diff=500</id>
		<title>Hardware Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Hardware_Setup&amp;diff=500"/>
		<updated>2020-12-10T15:06:59Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Phrasing of internal wiki links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MuonPi HAT board is a plug-on board for Raspberry-Pi minicomputers exhibiting a 40-pin GPIO-connector. Only place the board on the RPi with power disconnected. Use 13 mm long plastic spacers and 2.5mm metric screws to fix the board.&lt;br /&gt;
= Cable Connections =&lt;br /&gt;
The [[preamplifier]] attached to the [[Silicon_photomultiplier|SiPM]-PCB and the [[Scintillator]] has two connections: One for the provision of the SiPM bias voltage (27...32V for KETEK-type SiPMs) and one for the combined output signal and preamp supply voltage. Both connectors are u.Fl-type coaxial receptacles with the same counterparts on the MuonPi board. They should be connected with standard u.Fl coaxial cables which are widely available (eg. at [https://www.amazon.de/-/en/U-FL-Hirose-Cable-1-13-20/dp/B01MTQGHPM/ref=sr_1_23?dchild=1&amp;amp;keywords=u.fl+kabel+ipx+ipex&amp;amp;qid=1607074316&amp;amp;sr=8-23 Amazon], [https://www.ebay.de/itm/10PCS-IPX-IPEX-u-fl-Female-1-13mm-Connector-Cable-Single-head-Adapter-Connect-QE/303795341801?hash=item46bb9d09e9:g:CpgAAOSw3jxe1erV Ebay] or AliExpress). The connection details are shown in the photograph below. The GNSS antenna is mounted to the SMA jack X7 at the lower edge of the board. Note, that antennas with integrated preamplifier (&amp;quot;active&amp;quot; antennas) are recommended to use in conjunction with the MuonPi board.&lt;br /&gt;
&lt;br /&gt;
[[File:MuonPi-Connections.png|640px|thumb|Hardware connections between MuonPi HAT board and detector]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Muonpi_board&amp;diff=499</id>
		<title>Muonpi board</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Muonpi_board&amp;diff=499"/>
		<updated>2020-12-10T14:03:02Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Fixed broken preamp link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MuonPi board is designed as plug-on board for the Raspberry Pi B+ in a form factor conforming with the [https://github.com/raspberrypi/hats RPi HAT specifications].&lt;br /&gt;
&lt;br /&gt;
== Functional Description ==&lt;br /&gt;
The MuonPi board implements following functionalities:&lt;br /&gt;
* Two input channels&lt;br /&gt;
* Supply voltage for remote powering the [[preamplifier]] through the signal line: The voltage can be switched on/off through a GPIO signal (individually for the two channels). It includes overcurrent and overtemperature shutdown and a fault feedback signal.&lt;br /&gt;
* Bias voltage supply for the SiPM sensor and bias voltage/current supervision. A DC/DC converter generates the required reverse biasing voltage from the RPi's 5V rail. The voltage can be switched on/off through a GPIO signal. Actual bias voltage and current are measured through the on-board ADC. The voltage can be controlled through the on-board DAC (not in HW version 2).&lt;br /&gt;
&lt;br /&gt;
[[File:MuonPi-blockscheme.png|640px|thumb|right|MuonPi functional block schematic]]&lt;br /&gt;
&lt;br /&gt;
* Signal inverters for the two signal inputs in case negative signals are presented to the board&lt;br /&gt;
* Threshold discriminators with adjustable thresholds (DAC channels 1 and 2) in the range from 0.5 mV to 3V. The discriminator outputs are LVCMOS signals with a length of ~100 ns.&lt;br /&gt;
* Both channels are logically connected by one AND gate and one XOR gate. In this way, a coincidence (&amp;quot;both at the same time&amp;quot;) as well as an anti-coincidence (&amp;quot;only exactly one&amp;quot;) within a 100 ns time window can be asserted.&lt;br /&gt;
* The two gate signals (AND/XOR) are time-shaped to 1 us length and provided to the GPIO interface of the RPi&lt;br /&gt;
* The two discriminator signals and the two logic gate signals are fed to a multiplexer. Its output is fed to the time stamping input of the u-blox GNSS receiver.&lt;br /&gt;
* The u-blox GNSS receiver NEO-M8N is utilized to get the precise time and frequency reference in order to provide a sufficient precision of the time stamping on the nanosecond level. The time stamp of an event (leading and trailing edges of the signal present at the multiplexer output) is transmitted to the RPi via UART interface through the UBX-TIM-TM2 message.&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
The MuonPi board design is open hardware. It is entirely defined in the free EDA cloud tool [https://easyeda.com EasyEDA]. The [https://easyeda.com/MuonPi/cosmic_shower_detector_v1-52b8a2536bb6468e9f48412a774951d0_copy_copy current working version of the design is HW Ver 3] which is explained in detail below.&lt;br /&gt;
&lt;br /&gt;
The predecessor versions are available for reference: [https://easyeda.com/hgzaunick/cosmic_shower_detector_v1-52b8a2536bb6468e9f48412a774951d0_copy HW Ver 2] and [https://easyeda.com/hgzaunick/cosmic_shower_detector_v1-52b8a2536bb6468e9f48412a774951d0 HW Ver 1].&lt;br /&gt;
&lt;br /&gt;
=== Input Stage ===&lt;br /&gt;
[[File:Input stage v3.1.png|thumb|640px|Analog input stage (V3.1)]]&lt;br /&gt;
The signal input comprises a 50 Ohms-terminated signal path with simultaneous provision of the bias voltage (VPRE1) for remote powering of the preamplifier. The AC component is decoupled and provided to the differential wide-band amplifier U100/U200 (LMH6550) with a voltage gain of ~3. In this way, the output is symmetrical around a mid-scale common mode voltage with a non-inverted and an inverted signal superimposed. The analog switch U102/U202 (SN74LVC1G3157) selects either one depending on the switch control input (POL1) and presents the capacitively coupled signal to a fast comparator U2 (TLV3502). The threshold THR1 is provided from the DAC U402 (see &amp;quot;RPi Interface&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Digital Pulse Processor ===&lt;br /&gt;
The outputs of comparator U2 are time-shaped with monostable gate U300 to 100 ns wide pulses. These are indicated as discriminator outputs for both channels. They are logically connected with both, AND gate U304 (which is actually a NOR gate but with the inverted inputs acting as an AND) as well as XOR gate U303. These signals are shaped to 1 us pulse length and supplied to GPIO pins (EVT_XOR and EVT_AND). The discriminator signals are also time-shaped to ca. 100 ms length by U306 to drive the indicator LEDs for a discernible visual signal. With the multiplexer U305 (74AC151), one of the  signals (EVT_AND, EVT_XOR, DISCR1, DISCR2, TIMEPULSE) connected to its inputs can be selected and fed to the output TIME_MEAS. The selection word is supplied by the I2C-expander U404 (PCF9536). The selected output is routed to the interrupt pin of the u-Blox NEO GNSS chip where the rising edge is timestamped with nanosecond resolution and sent as UBX message TIM-TM2 over the UART interface to the host. The discriminator signals, time-shaped logic gates and the inverted multiplexer output are all series terminated in order to avoid false triggering or wrong timing due to reflections whereas the non-inverted multiplexer output driving only the u-Blox interrupt pin is terminated with a Thevenin matching network at the end (see GNSS receiver).&lt;br /&gt;
[[File:Digital-pulse processor v3.1.png|thumb|640px|Digital pulse processor (V3.1)]]&lt;br /&gt;
&lt;br /&gt;
=== GNSS Receiver ===&lt;br /&gt;
The u-Blox NEO M7/M8N receiver chip U700 processes the timing information from the GNSS satellites (GPS, Galileo, Glonass, BeiDou, QZSS, SBAS) and synchronizes its local TCXO to this time grid. The GNSS antenna is connected to SMA jack X7. The u-Blox chip provides a supply voltage for the antenna's preamplifier through R700/L700. The digital pulses are fed into the interrupt pin EXTINT0 for timestamping of both, rising and falling edges. The line is terminated by the Thevenin matching network R702/R703 which is driven by the output of multiplexer U305 with sufficient current. Note, that only the AC-family type has sufficient drive strength. Don't replace with other logic families.&lt;br /&gt;
Communication with the chip is done via UART interface connecting directly to the RPi's TxD/RxD serial lines. Additionaly, the I2C interface is connected to the board's I2C bus. As it turned out, the communication via I2C requires a master capable of clock stretching. This feature is currently not available on the RPi hardware I2C interface, so the u-Blox I2C interface is currently not used.&lt;br /&gt;
The 1pps time pulse is, additional to its distribution to a GPIO pin and the indicator LED409, routed to a the 2-pin pinheader connector J700 (TP_OUT) where it is available for other purposes. The u-Blox pps output can be programmed to other frequencies which may be utilized e.g. for PLL synchronization or disciplining a local oscillator (GPSDO).&lt;br /&gt;
[[File:Gnss receiver v3.1.png|thumb|640px|GNSS receiver section (V3.1)]]&lt;br /&gt;
&lt;br /&gt;
=== RPi Interface ===&lt;br /&gt;
The interface of the MuonPi HAT connects to the 40-pin GPIO header of the Raspberry-Pi with several digital I/Os, the UART interface from the u-Blox chip and the interface to the on-board I2C bus. The four-channel ADC U401 (ADS1015/1115) acquires the voltages of the (optional) peak detector for the pulse amplitude measurement (ch1), the on-board supply voltage (nominal 3.3V, shifted into the ADC's input range by voltage divider R418/R419) on ch2 and the sense voltages (after the voltage dividers R505/506 and R507/508) at both ends of the sense resistor R504 (see &amp;quot;Power section&amp;quot;) connected to channels 3 and 4, respectively. The 12-bit DAC U402 (MCP4728) provides a fine-grained adjustment of the two threshold voltages (THR1, THR2 on channels 1 and 2) and the control voltage on channel 3 for the DC/DC converter around U502. Channel 4 is not used, but routed to a through-hole pad &amp;quot;DAC4&amp;quot; where it may be used for any purpose. There are two I2C EEPROM chips on the board. U400 (24AA02UID) is for the MuonPi's specific storage of calibration parameters and the factory-programmed unique ID, while U405 (CAT24C32WI) which is actually connected to the RPi ID-I2C interface foreseen for exacly this purpose, provides the configuration parameters for HAT identification and automatic GPIO and boot overlay selection during the boot phase.&lt;br /&gt;
Furthermore, the temperature sensor U403 (LM75A/B) and the 4-bit I/O expander U404 (U404) are also controlled via the on-board I2C bus. The I/O expander chip U404 provides the selection bit pattern for the multiplexer U305.&lt;br /&gt;
[[File:Rpi interface v3.1.png|thumb|640px|RPi interface section with ADC, DAC, EEPROM, temp sensor, OLED interface and LEDs. (V3.1)]]&lt;br /&gt;
&lt;br /&gt;
=== Power/Bias Supply ===&lt;br /&gt;
The bias voltage generation for the SiPM photo detector is foreseen in two ways, each one selected depending on the mounting. By default, the bias voltage of &amp;lt;33V is generated by the DC/DC converter around U502 (LM2733Y). It's output voltage is controlled by the voltage provided by channel 3 of the DAC (U402) with an intercept point set by the resistive divider network R500 to R502. The filtered output is shunted to ground by R503 to avoid a varying load of the converter circuit. After RF-filtering by L501, the voltage is passed through the current limiting series resistor R516 and shunted by n-mosfet Q501 which short-cuts the voltage to ground, when the BIAS_EN_N control signal is low. Otherwise, the non-zero output voltage is passed through the current measurement shunt R504. The symmetrical resistive dividers R505/R506 and R507/R508 tap the voltages at either side of R504 which are low-pass filtered through C503/C504 and buffered by U501 before routed to ADC channels 3 and 4. This circuit realizes both, measurement of the actual bias voltage present at the outputs X5,X6 as well as the measurement of the bias current.&lt;br /&gt;
&lt;br /&gt;
Alternativeley, the bias supply may be provided by an external, plug-on module U505. This could be useful when employing photodetectors with different bias voltage specification, e.g. Hamamatsu-type SiPMs with larger operating voltages of ~50..90V. When suplying the bias voltage from such an external DC/DC converter, make sure to not mount the on-board converter U502 and associated components.&lt;br /&gt;
&lt;br /&gt;
The supply voltage of +5V for the preamplifiers is controlled by the current-limited load switches U503/U504 (TPS22944). The switches are enabled independently with a high level on PREAMP1/2_EN signals from the GPIO. The fault outputs from the switches are diode-OR-ed with D501/D502 and provide an error input to the MuonPi in any of these cases: overcurrent (&amp;gt;100mA) and over-temperature. In all cases, the switch disconnects the output until the fault condition is removed.&lt;br /&gt;
[[File:Power section v3.1.png|thumb|640px|Power management and bias voltage generation (V3.1)]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Main_Page&amp;diff=498</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Main_Page&amp;diff=498"/>
		<updated>2020-12-10T14:02:24Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Fixed broken preamp link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The MuonPi Cosmic Detector Project =&lt;br /&gt;
The MuonPi Project is a [https://www.raspberrypi.org/ RaspberryPi]-based system using an inexpensive plastic [[Scintillator|scintillator]] + [[Silicon photomultiplier|SiPM]] photo sensor to detect muons from cosmic air showers with a time-stamping accuracy of several tens of nanoseconds utilizing the [https://www.u-blox.com/en/product/neo-m8-series u-blox NEO-M8N GNSS] module's &amp;quot;timemark&amp;quot; feature.&lt;br /&gt;
&lt;br /&gt;
==== Learn about cosmic radiation ====&lt;br /&gt;
* Get started with [[Cosmic Rays]], especially [[Muon]]s&lt;br /&gt;
&lt;br /&gt;
*[https://www.vox.com/the-highlight/2019/7/16/17690740/cosmic-rays-universe-theory-science Extremely powerful cosmic rays are raining down on us. No one knows where they come from.] But with large-scale experiments, scientists around the world are determined to find out. ''Vox'' Jul 25, 2019&lt;br /&gt;
&lt;br /&gt;
*[https://home.cern/science/physics/cosmic-rays-particles-outer-space Cosmic rays: particles from outer space] Earth is subject to a constant bombardment of subatomic particles that can reach energies far higher than the largest machines. ''CERN''&lt;br /&gt;
&lt;br /&gt;
* [https://www.weltderphysik.de/mediathek/podcast/kosmische-strahlung/ &amp;quot;Kosmische Strahlung&amp;quot;] Podcast (in German) on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
* [https://www.weltderphysik.de/thema/bmbf/astro-undastroteilchenphysik/der-kosmischen-strahlung-auf-der-spur/ &amp;quot;Der kosmischen Strahlung auf der Spur&amp;quot;] article (in German)  on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
* [https://www.weltderphysik.de/gebiet/universum/news/2017/kosmische-teilchen-mit-extragalaktischem-ursprung/ &amp;quot;Kosmische Teilchen mit extragalaktischem Ursprung&amp;quot;] article (in German)  on [https://www.weltderphysik.de weltderphysik.de]&lt;br /&gt;
&lt;br /&gt;
==== Learn about the detectors ====&lt;br /&gt;
* Basics of [[Scintillator]]s&lt;br /&gt;
* Find out about [[Silicon photomultiplier|Silicon Photomultipliers]]&lt;br /&gt;
* How our [[The Detector|Detectors]] are assembled&lt;br /&gt;
&lt;br /&gt;
= The Hardware =&lt;br /&gt;
&lt;br /&gt;
=== SiPM PCB ===&lt;br /&gt;
The SiPM photo sensor which detects the dim light generated inside the scintillation detector is mounted on a small [[Sipm_board|SiPM board]]. Different numbers of SiPMs and read-out configurations can be realized through it's flexible design.&lt;br /&gt;
&lt;br /&gt;
=== Preamplifier ===&lt;br /&gt;
The [[preamplifier]] is located in close vicinity to the [[sipm_board|SiPM photodetector board]] and amplifies the weak signals for transmission to the [[muonpi_board|MuonPi]] board, where they are further processed and evaluated.&lt;br /&gt;
&lt;br /&gt;
=== The MuonPi-Board ===&lt;br /&gt;
The main signal processing, voltage generation and parameter monitoring and adjustment is done on the Raspberry Pi plug-on [[muonpi_board|MuonPi Board]]. The board's design is open source hardware and exhibits only commercially available off-the-shelf components which can be obtained from several distributors. With some soldering experience, the MuonPi HAT can be assembled utilizing a standard soldering equipment. A how-to guide and useful hints are available in the [[Assembly Guide|Assembly Guide]].&lt;br /&gt;
&lt;br /&gt;
= The Software =&lt;br /&gt;
The MuonPi software collection is entirely open source and [https://github.com/MuonPi available on github]&lt;br /&gt;
It consists of several components:&lt;br /&gt;
* '''muondetector-daemon''' The main control program running as a background system service on the RPi. The daemon configures, controls and supervises the components on the MuonPi HAT board, handles the comunication to the u-Blox chip and to the outside world via MQTT link and direct access socket, monitors system parameters, such as temperature, voltages, curent, rates etc., performs statistics collections, calculations and logging and much more. The daemon can be installed through the standard system software management tools (such as apt) from our [https://archive.muonpi.org package repository] or compiled from the [https://github.com/MuonPi/muondetector github source] and is everything which is needed to operate a MuonPi detector.&lt;br /&gt;
* '''muondetector-gui''' A graphical user interface (GUI) program which can be launched on any computer in the same network as the MuonPi detector in order to monitor and adjust all operation parameters of the detector, if required. The GUI is available for [https://archive.muonpi.org download] as binary package for several platforms (Raspbian, Ubuntu, Windows) or can be compiled from the current [https://github.com/MuonPi/muondetector github master branch].&lt;br /&gt;
* '''muondetector-login''' A small command line helper tool to initially set up the MQTT telemetry link. The program will ask for the supplied MQTT credentials and stores them locally in encrypted form for continuous use.&lt;br /&gt;
* '''muondetector-cluster''' Allows the operation of a multi-detector cluster as an entity. The program is the cluster head or interface towards the server, searches for coincidences within the cluster and sends the combined coincidence events instead of the single event telegrams to the server. This tool is in development phase with more information about it's utilization to come in near future.&lt;br /&gt;
&lt;br /&gt;
= Setup and Operation of the Detector =&lt;br /&gt;
Here you find a collection of HOW-TOs useful to set-up and oparate a detector:&lt;br /&gt;
&lt;br /&gt;
*[[The Detector|How to assemble the detector plates]]&lt;br /&gt;
&lt;br /&gt;
*[[Assembly Guide|MuonPi HAT Assembly Guide]]&lt;br /&gt;
&lt;br /&gt;
*[[Hardware Setup|How to set up the Detector Hardware]]&lt;br /&gt;
&lt;br /&gt;
*[[Raspberry Pi Setup|How to install and set up the MuonPi Software]]&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
&lt;br /&gt;
[[News and articles]] about cosmic rays and similar projects.&lt;br /&gt;
&lt;br /&gt;
= Other languages =&lt;br /&gt;
&lt;br /&gt;
* [[Main Page/de]]&lt;br /&gt;
&lt;br /&gt;
= Admin Area = &lt;br /&gt;
&lt;br /&gt;
Useful [[resources]] for admins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= About this Wiki =&lt;br /&gt;
* How to edit? [[help for creators]]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings List of config variables]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list of new MediaWiki version announcements]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Sandbox page for testing/playing:&lt;br /&gt;
* [[Sandbox]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Preamp&amp;diff=497</id>
		<title>Preamp</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Preamp&amp;diff=497"/>
		<updated>2020-12-10T14:01:03Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Simonglm moved page Preamp to Preamplifier: slang&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Preamplifier]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Preamplifier&amp;diff=496</id>
		<title>Preamplifier</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Preamplifier&amp;diff=496"/>
		<updated>2020-12-10T14:01:02Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Simonglm moved page Preamp to Preamplifier: slang&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The preamplifier boosts the SiPM's very small signal amplitude by ~20dB and should be located as close as possible to the SiPM itself in order to maintain an acceptable signal-to-noise ratio (SNR). Therefore, a plug-on PCB for the [[sipm_board|SiPM board]] in the same form factor was designed, which shall be as versatile as possible in order to adapt for different read-out concepts with the following properties:&lt;br /&gt;
* supply of the SiPM bias voltage through the preamp including bias filter&lt;br /&gt;
* AC-coupling of the preamp input&lt;br /&gt;
* based on low-noise Infineon MMIC [https://www.infineon.com/cms/en/product/rf-wireless-control/low-noise-amplifier-lna-ics/general-purpose-lnas/bga614/ BGA614]&lt;br /&gt;
* mounting option for one (default, positive output) or two MMIC stages (negative output)&lt;br /&gt;
* options for preamp voltage supply (+5V): either via separate connector (J2) or remote powering via output signal (default)&lt;br /&gt;
&lt;br /&gt;
[[File:Preamp V3-1.jpg|thumb|640px|right|Preamplifier schematic]]&lt;br /&gt;
&lt;br /&gt;
For the different operation modes, the following '''mounting options''' are offered (unmentioned components are identical as indicated in the schematic or as in the default option):&lt;br /&gt;
&lt;br /&gt;
'''Default (single-stage, remote powering)'''&lt;br /&gt;
* do not mount: IC2, C5, C6, L4, R5, C7, J2, J5&lt;br /&gt;
* mount: R7 (0R), R6 (0R), C2 (0R), connect IC2 pins 1 to 3 (e.g. with edge mounted 0R resistor)&lt;br /&gt;
&lt;br /&gt;
'''Dual-stage'''&lt;br /&gt;
* mount: IC2, R6/C7 = pole-zero-cancellation network (e.g. 47R/22p)&lt;br /&gt;
&lt;br /&gt;
'''Separate power supply connection'''&lt;br /&gt;
* do not mount: L3&lt;br /&gt;
* mount: J2&lt;br /&gt;
&lt;br /&gt;
'''Floating bias voltage supply''' (galvanically isolated from signal GND)&lt;br /&gt;
* dnm: R7&lt;br /&gt;
* mount C5, C6&lt;br /&gt;
&lt;br /&gt;
'''General purpose 50Ω RF amplifier''' (no SiPM, signal input via u.Fl socket J5)&lt;br /&gt;
* dnm: J1, J3, R1, R2, L2&lt;br /&gt;
* mount: J5&lt;br /&gt;
&lt;br /&gt;
[[File:Preamp sipm pcbs mounted.JPG|thumb|left|mounted preamp (top) and photosensor PCBs (bottom) with one instrumented SiPM]]&lt;br /&gt;
[[File:Preamp_detail1.png|thumb|left|Mounted preamp plugged on the pin headers of the SiPM board of an assembled detector plate]]&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=495</id>
		<title>Assembly Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=495"/>
		<updated>2020-12-10T13:57:02Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: Finished IC section. Still [WIP]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to populate our MuonPi-PCB, using the construction kit. You can get a kit or a fully assembled PCB by contacting us [http://www.muonpi.org/contact.html here].&lt;br /&gt;
&lt;br /&gt;
All components in this kit (except for the pin headers) are surface-mount devices (SMD).&lt;br /&gt;
Most of these parts are only a few millimeters in size and are prone jump very far, should you slip with the tweezers.&lt;br /&gt;
Soldering these requires steady hands and a bit of technique, but this guide aims to help you with that.&lt;br /&gt;
&lt;br /&gt;
== The Kit ==&lt;br /&gt;
The Kit contains all the parts you need to set up your very own particle detector using your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Contents of the Kit are:&lt;br /&gt;
* The plastic scintillator (generously provided by [https://eljentechnology.com/ Eljen Technology])&lt;br /&gt;
* The bare printed circuit board ([[Muonpi board]])&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Satellite_navigation GNSS] antenna&lt;br /&gt;
* Components to mount on the PCB (Resistors, Capacitors, Inductors, ICs, etc.)&lt;br /&gt;
* Bill of materials (BOM)&lt;br /&gt;
&lt;br /&gt;
The individual components of the kit are glued to a nametag using tape, as can be seen in the picture.&lt;br /&gt;
[[File:Parts-packaging.jpg|thumb|Example of how parts in the detector PCB kit are packaged]]&lt;br /&gt;
Because of the size and difficulty labeling the parts, they are packaged using paper labels and clear tape. &lt;br /&gt;
Getting the parts out of their packaging has to be done quite carefully, as they are easy to lose.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
The bare essential tools are:&lt;br /&gt;
* soldering iron&lt;br /&gt;
* solder&lt;br /&gt;
* (metal) tweezers &lt;br /&gt;
* solder fume extractor&lt;br /&gt;
additional:&lt;br /&gt;
* flux&lt;br /&gt;
* solder wick&lt;br /&gt;
* vise or helping hands&lt;br /&gt;
* scalpel/scissors&lt;br /&gt;
* magnifying glass&lt;br /&gt;
&lt;br /&gt;
Additionally, we recommend to choose a brightl workplace, as dim lights and small components can lead to eye strain and head aches.&lt;br /&gt;
&lt;br /&gt;
Generally,the smaller the tip of your soldering iron is, the better, for small component soldering at least.&lt;br /&gt;
Of course if you have other solder tips, like ones with a solder depot, you can use those too.&amp;lt;br&amp;gt;&lt;br /&gt;
In any case whatever tools you need to get the job done, are the correct tools to use.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
The schematic, layout and BOM of the current hardware version can be found on the [https://easyeda.com/MuonPi/cosmic_shower_detector_v1-52b8a2536bb6468e9f48412a774951d0_copy_copy easyEDA project page].&lt;br /&gt;
While soldering, finding the right pad, where a specific components has to go, can be quite difficult.&lt;br /&gt;
The labels on the PCB are small and space for them is very limited which makes some of them hard to read and find.&lt;br /&gt;
To help you find the correct solder pads, we recommend to have a computer nearby where you can open the [https://easyeda.com/editor#id=ad78628187d94b9cb54d8735233128d7 schematics] and use the search function.&lt;br /&gt;
Alternatively you can print out the layout that is attached on the easyEDA project page.&lt;br /&gt;
&lt;br /&gt;
=== Mounting Options ===&lt;br /&gt;
The BOM specifies multiple mounting options, such as: &amp;quot;Full&amp;quot;, &amp;quot;Single Channel&amp;quot;, &amp;quot;External Bias Supply&amp;quot;, &amp;quot;Fixed Input Polarity&amp;quot;.&lt;br /&gt;
&amp;quot;External Bias Supply&amp;quot; and &amp;quot;Fixed Input Polarity&amp;quot; were used by us in the development and will not be discussed here further.&lt;br /&gt;
The default configuration of the kit contains only one scintillator, therefore only one channel of the detector electronics will be used at a time.&lt;br /&gt;
In that case, the &amp;quot;Single Channel&amp;quot; mounting option would be sufficient.&lt;br /&gt;
However the number of components in the kit follows the &amp;quot;Full&amp;quot; configuration, and mounting all components is still recommended.&lt;br /&gt;
Just mounting all the parts that are included in the kit will lead to a working PCB with both channels working.&lt;br /&gt;
Please [https://muonpi.org/contact.html contact us], if you are interested in a two scintillator setup.&lt;br /&gt;
&lt;br /&gt;
== Assembly ==&lt;br /&gt;
First things first, you should setup your workspace with all parts layed out, along with the BOM and all the tools you might need.&lt;br /&gt;
Personally, I like to sort the parts into categories: Resistors, Capacitors, Inductors, ICs and others.&lt;br /&gt;
This helps to save time and gives a quick overview of your soldering progress.&lt;br /&gt;
In principle the choice which components to mount first comes down to personal preference.&lt;br /&gt;
A helpful guideline is to mount parts depending on their height.&lt;br /&gt;
Lower, smaller parts should be mounted first, as to not interfere too much in the later stages of assembly.&lt;br /&gt;
This is why the GPIO headers should be among the last components to be mounted.&lt;br /&gt;
&lt;br /&gt;
Once you are set up, you can turn on your soldering iron and fume extractor and start soldering.&lt;br /&gt;
&lt;br /&gt;
=== Tips on SMD soldering ===&lt;br /&gt;
SMD components are small and difficult to solder.&lt;br /&gt;
The easiest components to solder are the resistors and capacitors.&lt;br /&gt;
Start with these to get comfortable with SMD soldering first, then proceed to the more difficult ICs.&amp;lt;br&amp;gt;&lt;br /&gt;
A quick guide to SMD soldering can be found at [https://www.sparkfun.com/marcomm/SFE03-0010-KitCard-SolderingSMD-ReaderSpreads.pdf sparkfun.com].&lt;br /&gt;
&lt;br /&gt;
Be careful with the tip of the iron and the PCB. Too much heat and scraping of the pads can remove the top layer from the PCB or even rip the pad off the PCB.&lt;br /&gt;
The later, depending on the pad this happens to, is very likely to completely brick the board and rendering it unusable.&lt;br /&gt;
&lt;br /&gt;
=== Soldering Workflow ===&lt;br /&gt;
[[File:Closeup of one soldered pad and a resistor.jpg|thumb|left|Closeup of a pad with solder and a resistor]]&lt;br /&gt;
Take your BOM and choose one of the resistor/capacitor values to begin with and identify the pad label, where the part is supposed to be placed.&lt;br /&gt;
Now take your soldering iron and heat one side of the pad. After a couple of seconds of heating, add some solder to the pad.&lt;br /&gt;
Take out one of the components out of it's packaging and grab onto it with the tweezers as indicated in the picture on the right.&lt;br /&gt;
Heat the solder blob and slide the component into the molten solder from the side.&lt;br /&gt;
This ensures covering of the components contacts.&lt;br /&gt;
Placing the component into the blob from above can lead to solder bridges underneath the component, which will render the component useless.&lt;br /&gt;
&lt;br /&gt;
Once one side of the component is fixed, it's good practice to lightly press down on the component and remelt the solder.&lt;br /&gt;
Doing this will help to mount the component flush to the board.&lt;br /&gt;
Although not always necessary, doing this will help to avoid solder bridges, especially between the legs of ICs.&lt;br /&gt;
[[File:Flush component.jpg|x300px|thumb|right|Component lifted on one side (top); pressed down and after remelting the solder (bottom)]]&lt;br /&gt;
&lt;br /&gt;
It is a good idea to cross out the components on the BOM once they are soldered.&lt;br /&gt;
Should in the end a label on the BOM be left unmarked you can check to not miss any components.&lt;br /&gt;
&lt;br /&gt;
When you are finished soldering all parts of one kind, pause and check you haven't missed any.&lt;br /&gt;
Only then move on to the next group of parts.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Circuits (ICs) ===&lt;br /&gt;
Once all passive Components are placed and double checked, we can move on to the integrated circuits.&lt;br /&gt;
Soldering these is considerably more difficult, especially the ADC and DAC (U401 &amp;amp; U402 in v3.x) have a very small pad pitch.&lt;br /&gt;
Solder bridges are almost unavoidable and need to be dealt with.&lt;br /&gt;
&lt;br /&gt;
First, solder is added to one pad on a corner of the IC footprint.&lt;br /&gt;
Then, just like the passive components, the IC is moved into the molten solder.&lt;br /&gt;
It is very important to align all the legs of the IC on their respective pads.&lt;br /&gt;
Proceed to fix one of the other legs, preferably a leg on the diagonally opposite side.&lt;br /&gt;
The remaining unsoldered legs can now be soldered to the board.&lt;br /&gt;
&lt;br /&gt;
If solder bridges are created, they need to be removed.&lt;br /&gt;
One possible method to remove solder bridges is the usage of flux.&lt;br /&gt;
Flux is a mixture of multiple compounds that remove and prevent build up of oxides on the solder blob.&lt;br /&gt;
Additionally it increases the surface tension of the molten solder and therefor promotes splitting of solder blobs.&lt;br /&gt;
So just using a good amount of flux can fix solder bridges.&lt;br /&gt;
&lt;br /&gt;
However if there is too much solder on the pads, bridges cannot be fixed just using flux. In that case we need to remove some solder.&lt;br /&gt;
Solder wicks are very useful for this task as its tight copper webbing wicks up any excess solder.&lt;br /&gt;
Place the wick on the solder blob and using the hot soldering iron, press the wick on the solder from above.&lt;br /&gt;
After a while, once the wick is hot enough, the solder will melt and be picked up by the wick.&lt;br /&gt;
Remove the wick and soldering iron simultaneously, otherwise the wick will be soldered to the pad instead, and pulling on the wick in that case can rip the pad off of the PCB.&lt;br /&gt;
&lt;br /&gt;
In the timelapse you might be able to catch, how I soldered the ADC and DAC (U401 &amp;amp; U402 in v3.x).&lt;br /&gt;
Since the pitch is very small and solder bridges are very likely, I didn't even bother trying to avoid them.&lt;br /&gt;
After fixing the IC in place on one leg, I added a lot of solder to all pins and pads in one big blob.&lt;br /&gt;
With the addition of flux, most of the solder was removed using the solder wick, in the hopes that some solder would remain under the legs.&lt;br /&gt;
On first sight it seemed to work, but testing of the board revealed that something did not work.&lt;br /&gt;
Knowing that this technique is not 100% reliable, a quick reheat with careful addition of small amounts of solder fixed the issue and the board was fully operational.&lt;br /&gt;
 &lt;br /&gt;
{{#evt:service=youtube|id=E3kZMtjD76c|alignment=right|container=frame|description=Timelapse of IC soldering ([https://www.youtube.com/watch?v=E3kZMtjD76c link to youtube])|dimensions=480}}&lt;br /&gt;
&lt;br /&gt;
=== UFL connectors ===&lt;br /&gt;
&lt;br /&gt;
== Testing the board ==&lt;br /&gt;
To test your fully assembled board, get your Raspberry Pi and power it off. Now that the Pi is unpowered align the GPIO headers with the pins of the Pi. When aligned correctly, there should not be any pins unconnected and any headers left without a connection.&lt;br /&gt;
Next step is connecting the signal cables to the preamplifier of the SiPM&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=483</id>
		<title>Assembly Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=483"/>
		<updated>2020-12-07T16:10:45Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[WORK IN PROGRESS] This is a guide on how to populate our MuonPi-PCB, using the construction kit. You can get a kit or a fully assembled PCB by contacting us [http://www.muonpi.org/contact.html here].&lt;br /&gt;
&lt;br /&gt;
All components in this kit (except for the pin headers) are surface-mount devices (SMD).&lt;br /&gt;
Most of these parts are only a few millimeters in size and are prone jump very far, should you slip with the tweezers.&lt;br /&gt;
Soldering these requires steady hands and a bit of technique, but this guide aims to help you with that.&lt;br /&gt;
&lt;br /&gt;
== The Kit ==&lt;br /&gt;
The Kit contains all the parts you need to set up your very own particle detector using your RaspberryPi.&lt;br /&gt;
&lt;br /&gt;
Contents of the Kit are:&lt;br /&gt;
* The plastic scintillator (generously provided by [https://eljentechnology.com/ Eljen Technology])&lt;br /&gt;
* The bare printed circuit board ([[Muonpi board]])&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Satellite_navigation GNSS] antenna&lt;br /&gt;
* Components to mount on the PCB (Resistors, Capacitors, Inductors, ICs, etc.)&lt;br /&gt;
* Bill of materials (BOM)&lt;br /&gt;
&lt;br /&gt;
The individual components of the kit are glued to a nametag using tape, as can be seen in the picture.&lt;br /&gt;
[[File:Parts-packaging.jpg|thumb|Example of how parts in the detector PCB kit are packaged]]&lt;br /&gt;
Unfortunately getting the parts out of their packaging will take half of the time spent on assembly.&lt;br /&gt;
Be careful when you unpack these parts, they can get lost very easily&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
The bare essential tools are:&lt;br /&gt;
* soldering iron&lt;br /&gt;
* solder&lt;br /&gt;
* (metal) tweezers &lt;br /&gt;
* solder fume extractor&lt;br /&gt;
additional:&lt;br /&gt;
* flux&lt;br /&gt;
* solder wick&lt;br /&gt;
* vise or helping hands&lt;br /&gt;
* scalpel/scissors&lt;br /&gt;
* magnifying glass&lt;br /&gt;
&lt;br /&gt;
Additionally, we recommend to choose a brightl workplace, as dim lights and small components can lead to eye strain and head aches.&lt;br /&gt;
&lt;br /&gt;
Generally,the smaller the tip of your soldering iron is, the better, for small component soldering at least.&lt;br /&gt;
Of course if you have other solder tips, like ones with a solder depot, you can use those too.&amp;lt;br&amp;gt;&lt;br /&gt;
In any case whatever tools you need to get the job done, are the correct tools to use.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
The schematic, layout and BOM of the current hardware version can be found on the [https://easyeda.com/MuonPi/cosmic_shower_detector_v1-52b8a2536bb6468e9f48412a774951d0_copy_copy easyEDA project page].&lt;br /&gt;
While soldering, finding the right pad, where a specific components has to go, can be quite difficult.&lt;br /&gt;
The labels on the PCB are small and space for them is very limited which makes some of them hard to read and find.&lt;br /&gt;
To help you find the correct solder pads, we recommend to have a computer nearby where you can open the [https://easyeda.com/editor#id=ad78628187d94b9cb54d8735233128d7 schematics] and use the search function.&lt;br /&gt;
Alternatively you can print out the layout that is attached on the easyEDA project page.&lt;br /&gt;
&lt;br /&gt;
=== Mounting Options ===&lt;br /&gt;
The BOM specifies multiple mounting options, such as: &amp;quot;Full&amp;quot;, &amp;quot;Single Channel&amp;quot;, &amp;quot;External Bias Supply&amp;quot;, &amp;quot;Fixed Input Polarity&amp;quot;.&lt;br /&gt;
&amp;quot;External Bias Supply&amp;quot; and &amp;quot;Fixed Input Polarity&amp;quot; were used by us in the development and will not be discussed here further.&lt;br /&gt;
The default configuration of the kit contains only one scintillator, therefore only one channel of the detector electronics will be used at a time.&lt;br /&gt;
In that case, the &amp;quot;Single Channel&amp;quot; mounting option would be sufficient.&lt;br /&gt;
However the number of components in the kit follows the &amp;quot;Full&amp;quot; configuration, and mounting all components is still recommended.&lt;br /&gt;
Just mounting all the parts that are included in the kit will lead to a working PCB with both channels working.&lt;br /&gt;
Please [https://muonpi.org/contact.html contact us], if you are interested in a two scintillator setup.&lt;br /&gt;
&lt;br /&gt;
== Assembly ==&lt;br /&gt;
First things first, you should setup your workspace with all parts layed out, along with the BOM and all the tools you might need.&lt;br /&gt;
Personally, I like to sort the parts into categories: Resistors, Capacitors, Inductors, ICs and others.&lt;br /&gt;
This helps to save time and gives a quick overview of your soldering progress.&lt;br /&gt;
In principle the choice which components to mount first comes down to personal preference.&lt;br /&gt;
A helpful guideline is to mount parts depending on their height.&lt;br /&gt;
Lower, smaller parts should be mounted first, as to not interfere too much in the later stages of assembly.&lt;br /&gt;
This is why the GPIO headers should be among the last components to be mounted.&lt;br /&gt;
&lt;br /&gt;
Once you are set up, you can turn on your soldering iron and fume extractor and start soldering.&lt;br /&gt;
&lt;br /&gt;
=== Tips on SMD soldering ===&lt;br /&gt;
SMD components are small and difficult to solder.&lt;br /&gt;
The easiest components to solder are the resistors and capacitors.&lt;br /&gt;
Start with these to get comfortable with SMD soldering first, then proceed to the more difficult ICs.&amp;lt;br&amp;gt;&lt;br /&gt;
A quick guide to SMD soldering can be found at [https://www.sparkfun.com/marcomm/SFE03-0010-KitCard-SolderingSMD-ReaderSpreads.pdf sparkfun.com].&lt;br /&gt;
&lt;br /&gt;
=== Soldering Workflow ===&lt;br /&gt;
[[File:Closeup of one soldered pad and a resistor.jpg|thumb|right|Closeup of a pad with solder and a resistor]]&lt;br /&gt;
Take your BOM and choose one of the resistor/capacitor values to begin with and identify the pad label, where the part is supposed to be placed.&lt;br /&gt;
Now take your soldering iron and heat one side of the pad. After a couple of seconds of heating, add some solder to the pad.&lt;br /&gt;
Take out one of the components out of it's packaging and grab onto it with the tweezers as indicated in the picture on the right.&lt;br /&gt;
Heat the solder blob and slide the component into the molten solder from the side.&lt;br /&gt;
This ensures covering of the components contacts.&lt;br /&gt;
Placing the component into the blob from above can lead to solder bridges underneath the component, which will render the component useless.&lt;br /&gt;
&lt;br /&gt;
Once one side of the component is fixed, it's good practice to lightly press down on the component and remelt the solder.&lt;br /&gt;
Doing this will help to mount the component flush to the board.&lt;br /&gt;
Although not always necessary, doing this will help to avoid solder bridges, especially between the legs of ICs.&lt;br /&gt;
[[File:Flush component.jpg|x300px|thumb|right|Component lifted on one side (top); pressed down and after remelting the solder (bottom)]]&lt;br /&gt;
&lt;br /&gt;
It is a good idea to cross out the components on the BOM once they are soldered.&lt;br /&gt;
Should in the end a label on the BOM be left unmarked you can check to not miss any components.&lt;br /&gt;
&lt;br /&gt;
When you are finished soldering all parts of one kind, pause and check you haven't missed any.&lt;br /&gt;
Only then move on to the next group of parts.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Circuits (ICs) ===&lt;br /&gt;
&lt;br /&gt;
{{#evt:service=youtube|id=E3kZMtjD76c|alignment=right|container=frame|description=Timelapse of IC soldering|dimensions=480}}&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=482</id>
		<title>Assembly Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.muonpi.org/index.php?title=Assembly_Guide&amp;diff=482"/>
		<updated>2020-12-07T15:54:20Z</updated>

		<summary type="html">&lt;p&gt;Simonglm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[WORK IN PROGRESS] This is a guide on how to populate our MuonPi-PCB, using the construction kit. You can get a kit or a fully assembled PCB by contacting us [http://www.muonpi.org/contact.html here].&lt;br /&gt;
&lt;br /&gt;
All components in this kit (except for the pin headers) are surface-mount devices (SMD).&lt;br /&gt;
Most of these parts are only a few millimeters in size and are prone jump very far, should you slip with the tweezers.&lt;br /&gt;
Soldering these requires steady hands and a bit of technique, but this guide aims to help you with that.&lt;br /&gt;
&lt;br /&gt;
== The Kit ==&lt;br /&gt;
The Kit contains all the parts you need to set up your very own particle detector using your RaspberryPi.&lt;br /&gt;
&lt;br /&gt;
Contents of the Kit are:&lt;br /&gt;
* The plastic scintillator (generously provided by [https://eljentechnology.com/ Eljen Technology])&lt;br /&gt;
* The bare printed circuit board ([[Muonpi board]])&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Satellite_navigation GNSS] antenna&lt;br /&gt;
* Components to mount on the PCB (Resistors, Capacitors, Inductors, ICs, etc.)&lt;br /&gt;
* Bill of materials (BOM)&lt;br /&gt;
&lt;br /&gt;
The individual components of the kit are glued to a nametag using tape, as can be seen in the picture.&lt;br /&gt;
[[File:Parts-packaging.jpg|thumb|Example of how parts in the detector PCB kit are packaged]]&lt;br /&gt;
Unfortunately getting the parts out of their packaging will take half of the time spent on assembly.&lt;br /&gt;
Be careful when you unpack these parts, they can get lost very easily&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
The bare essential tools are:&lt;br /&gt;
* soldering iron&lt;br /&gt;
* solder&lt;br /&gt;
* (metal) tweezers &lt;br /&gt;
* solder fume extractor&lt;br /&gt;
additional:&lt;br /&gt;
* flux&lt;br /&gt;
* solder wick&lt;br /&gt;
* vise or helping hands&lt;br /&gt;
* scalpel/scissors&lt;br /&gt;
* magnifying glass&lt;br /&gt;
&lt;br /&gt;
Additionally, we recommend to choose a brightl workplace, as dim lights and small components can lead to eye strain and head aches.&lt;br /&gt;
&lt;br /&gt;
Generally,the smaller the tip of your soldering iron is, the better, for small component soldering at least.&lt;br /&gt;
Of course if you have other solder tips, like ones with a solder depot, you can use those too.&amp;lt;br&amp;gt;&lt;br /&gt;
In any case whatever tools you need to get the job done, are the correct tools to use.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
The schematic, layout and BOM of the current hardware version can be found on the [https://easyeda.com/MuonPi/cosmic_shower_detector_v1-52b8a2536bb6468e9f48412a774951d0_copy_copy easyEDA project page].&lt;br /&gt;
While soldering, finding the right pad, where a specific components has to go, can be quite difficult.&lt;br /&gt;
The labels on the PCB are small and space for them is very limited which makes some of them hard to read and find.&lt;br /&gt;
To help you find the correct solder pads, we recommend to have a computer nearby where you can open the [https://easyeda.com/editor#id=ad78628187d94b9cb54d8735233128d7 schematics] and use the search function.&lt;br /&gt;
Alternatively you can print out the layout that is attached on the easyEDA project page.&lt;br /&gt;
&lt;br /&gt;
=== Mounting Options ===&lt;br /&gt;
The BOM specifies multiple mounting options, such as: &amp;quot;Full&amp;quot;, &amp;quot;Single Channel&amp;quot;, &amp;quot;External Bias Supply&amp;quot;, &amp;quot;Fixed Input Polarity&amp;quot;.&lt;br /&gt;
&amp;quot;External Bias Supply&amp;quot; and &amp;quot;Fixed Input Polarity&amp;quot; were used by us in the development and will not be discussed here further.&lt;br /&gt;
The default configuration of the kit contains only one scintillator, therefore only one channel of the detector electronics will be used at a time.&lt;br /&gt;
In that case, the &amp;quot;Single Channel&amp;quot; mounting option would be sufficient.&lt;br /&gt;
However the number of components in the kit follows the &amp;quot;Full&amp;quot; configuration, and mounting all components is still recommended.&lt;br /&gt;
Just mounting all the parts that are included in the kit will lead to a working PCB with both channels working.&lt;br /&gt;
Please [https://muonpi.org/contact.html contact us], if you are interested in a two scintillator setup.&lt;br /&gt;
&lt;br /&gt;
== Assembly ==&lt;br /&gt;
First things first, you should setup your workspace with all parts layed out, along with the BOM and all the tools you might need.&lt;br /&gt;
Personally, I like to sort the parts into categories: Resistors, Capacitors, Inductors, ICs and others.&lt;br /&gt;
This helps to save time and gives a quick overview of your soldering progress.&lt;br /&gt;
In principle the choice which components to mount first comes down to personal preference.&lt;br /&gt;
A helpful guideline is to mount parts depending on their height.&lt;br /&gt;
Lower, smaller parts should be mounted first, as to not interfere too much in the later stages of assembly.&lt;br /&gt;
This is why the GPIO headers should be among the last components to be mounted.&lt;br /&gt;
&lt;br /&gt;
Once you are set up, you can turn on your soldering iron and fume extractor and start soldering.&lt;br /&gt;
&lt;br /&gt;
=== Tips on SMD soldering ===&lt;br /&gt;
SMD components are small and difficult to solder.&lt;br /&gt;
The easiest components to solder are the resistors and capacitors.&lt;br /&gt;
Start with these to get comfortable with SMD soldering first, then proceed to the more difficult ICs.&amp;lt;br&amp;gt;&lt;br /&gt;
A quick guide to SMD soldering can be found at [https://www.sparkfun.com/marcomm/SFE03-0010-KitCard-SolderingSMD-ReaderSpreads.pdf sparkfun.com].&lt;br /&gt;
&lt;br /&gt;
=== Soldering Workflow ===&lt;br /&gt;
[[File:Closeup of one soldered pad and a resistor.jpg|thumb|right|Closeup of a pad with solder and a resistor]]&lt;br /&gt;
Take your BOM and choose one of the resistor values to begin with and identify the pad label, where the resistor is supposed to be placed.&lt;br /&gt;
Now take your soldering iron and heat one side of the pad. After a couple of seconds of heating, add some solder to the pad.&lt;br /&gt;
Take out one of the resistors out of it's packaging and grab onto it with the tweezers as indicated in the picture on the right.&lt;br /&gt;
Heat the solder blob and slide the component into the molten solder from the side.&lt;br /&gt;
This ensures covering of the components contacts.&lt;br /&gt;
Placing the component into the blob from above can lead to solder bridges underneath the component, which will render the component useless.&lt;br /&gt;
Once one side of the component is fixed, it's good practice to lightly press down on the component and remelt the solder.&lt;br /&gt;
Doing this will help to mount the component flush to the board.&lt;br /&gt;
Although not always necessary, doing this will help to avoid solder bridges, especially between the legs of ICs.&lt;br /&gt;
[[File:Flush component.jpg|x300px|thumb|right|Component lifted on one side (top); pressed down and after remelting the solder (bottom)]]&lt;br /&gt;
&lt;br /&gt;
=== Integrated Circuits (ICs) ===&lt;br /&gt;
{{#evt:service=youtube|id=E3kZMtjD76c|alignment=right|container=frame|description=Timelapse of IC soldering|dimensions=480}}&lt;/div&gt;</summary>
		<author><name>Simonglm</name></author>
		
	</entry>
</feed>