Technical Specifications

See also: Publications and here for an article published by the USGS’s Albuquerque Seismological Laboratory (ASL) on the performance of the Raspberry Shake.

What is the difference between the RS1D, RS3D and RS4D models?


Click to enlarge

*sps = samples per second on all channels

The RS1D, RS3D, RS4D and RS&BOOM have the same capabilities for detecting Earth motion in the vertical dimension. The RS3D replicates these abilities in the horizontal dimensions, providing the user with a fuller view of earth motion in all 3 dimensions. The difference between the RS1D and the RS4D is that the RS4D has a 3 dimensional accelerometer built into the board. This is interesting for people who live in earthquake zones where the strong motion might be enough to saturate the vertical sensor. With the accelerometer, the Earth motion would remain on scale with the added benefit of being able to detect lateral motion as well.

Flow Chart For Raspberry Shake RS1D


Storage is now user configurable and can be much longer than 7 days, which is the default. Raspberry Shake is also Wifi compatible.

Instrument response files and self-noise

The Raspberry Shake RS1D, RS3D, RS4D and RS&BOOM velocity channels have flat frequency responses from ~0.5 Hertz (2 seconds) to 80% Nyquist, or ~40 Hz.


See below to download a nominal instrument response file for your Raspberry Shake in SeisComP XML, RESP and/ or dataless SEED formats. If you have data forwarding turned on, then an instrument response file for your specific shake can be downloaded in XML format by clicking on your Raspberry Shake’s station icon at StationView.

The instrument response files are provided below in 3 formats:

  • Modern seiscomp-xml format for use with SeisComP3 and SeisComPro
  • RESP for use with Earthworm (AQMS, Earlybird, Hydra), PQLX, SQLX, SEISAN
  • dataless SEED

Raspberry Shake RJAM

We do not provide a nominal response file for the RJAM universal digitizer. As the RJAM is a universal digitizer that is personalized for every sensor, there are just too many possibilities/ resultant sensitivities for a nominal response to be possible. Here is some background information that will help you build your own custom instrument response file:

LOWER CORNER: This will be dictated by the sensor, not the RJAM. The RJAM’s response is flat to DC.

UPPER CORNER: The RJAM operates at 100 sps and the high corner frequency will almost always be limited by this decimation routine used by the RJAM and not the sensor itself (most seismic sensors are designed to have flat frequency responses from the low corner frequency to past 50 Hz … We use the same decimation routine (FIR coefficients) for the RJAM as for all other RS products. On the RJAM itself it is possible to introduce a single pole low-pass filter (by including capacitors at C[a] and C[b]), these would generally be used to chomp off any noise from 50/60 cycles per second electric lines).

SENSITIVITY: This will depend on the sensor and resistors used in the RJAM. You can determine this empirically with a step table (aka a calibration table) or Shake Table.

The RJAM has a +/- 2.048 V differential input range.

The RJAM is a 24-bit ADC, with 21 noise free bits.

Example ObsPy code for removing response

from obspy import read_inventory, read
from obspy.clients.fdsn import Client
from obspy.core.datetime import UTCDateTime

rs = Client(base_url='')
start = UTCDateTime(2019, 1, 1, 0, 0, 0)
end = UTCDateTime(2019, 1, 1, 0, 30, 0)

stn = 'R0000'            # your station name
inv = read_inventory('' % (stn))

stream = rs.get_waveforms('AM', stn, '00', 'EHZ', start, end)

resp_removed = stream.remove_response()

You can change the behavior of remove_response by adding the options described at:

Timing Quality (NTP)

In all Raspberry Shake products, data packet time stamps are done using Network Timing Protocol (NTP) time. Timing quality is +/- 10 ms for all products. To give you an idea what this means, consider an earthquake’s P-wave traveling at a very fast 6000 m/s. With an uncertainty of +/- 10 ms, this translates into a location uncertainty of only +/- 60 meters. For lower P-wave velocities, the uncertainties diminish. This uncertainty is well within a reasonable margin of error for locating earthquakes.

Click here for even more timing details: NTP and GPS timing details.

Click here for details on using the USB GPS antenna available for purchase at our shop: GPS Antenna

RPi’s supported

Any Ethernet- or Wifi-capable Raspberry Pi (RPi) computer can, theoretically, be supported. The only information we need to support an old or new model of the RPi is the serial port where data is read from, where the basic rule is for some specific models the tty port is named /dev/ttyS0 (e.g., Revisions 9000c1 and 920093) and for all others (as a catch-all condition) the tty name is /dev/ttyAMA0.

There is a physical limitation: with the exception of the RS1D, all Raspberry Shake boards have 4 mounting holes. This means that the older Model B which has 2 diagonally positioned mounting holes, is not supported. The Model A+ is also not “technically” supported for this same reason, but all of the software does run on it. You can find Raspberry Shake model-specific information below.

The Raspberry Shake RS1D supported modules:

000[d,e]: Model B, Revisions 000[2-9] & 000f lack mounting holes are not supported

00[10,13],900032: Model B+

a[01040,01041,21041,22042]: 2 Model B

9000[92,93],9200[92,93]: Zero

a[02082,22082,32082,52082]: 3 Model B

a020d3: 3 Model B+

9000c1: Zero W(H)

The Raspberry Shake RS3D, RS4D and RJAM supported modules:

00[10,13],900032: Model B+

a[01040,01041,21041,22042]: 2 Model B

a[02082,22082,32082,52082]: 3 Model B

a020d3: 3 Model B+

Due to the form factor of the Model B (2 mounting holes diagonally-positioned), the Model B is not supported.

The RBOOM and RS&BOOM” supported modules:

00[10,13],900032: Model B+

a[01040,01041,21041,22042]: 2 Model B

9000[92,93],9200[92,93]: Zero

a[02082,22082,32082,52082]: 3 Model B

a020d3: 3 Model B+

9000c1: Zero W(H)

Due to the form factor of the Model B (2 mounting holes diagonally-positioned), the Model B is not supported.

For additional information on RPi Revision codes, see:

GPIO pins


All Raspberry Shake boards (“hats”) sit on pins 01 through 26. So GPIOs and grounds on pins 27 to 40 are easily available to endusers for other applications. The Raspberry Shake does not, however, use all of the pins from 01 to 26. The following pins are used:

  • 02,04: 5v
  • 06,09,14,20,25: Ground
  • 08,10: Tx/Rx
  • 15: RESET
  • 17: 3.3v

All other pins are available for use. Some have specific functions such as pins 27 and 28, but the others can all be used for general purpose or their specific functions.


The header on the Raspberry Pi computer is the same for the Model B+, 2 Model B, 3 Model B(+), Zero, Zero W(H).