/openeew-sensor

Firmware and Hardware for an OpenEEW sensor

Primary LanguageC++Apache License 2.0Apache-2.0

OpenEEW Sensor

The OpenEEW sensor features a high performance MEMS accelerometer and Ethernet or WiFi connectivity. It includes also a loud buzzer and 3 bright Neopixel LEDS for alarm functions. By including alarm functions, the owners of the locations where they are installed are more likely to value and look after the device.

The OpenEEW sensor has already shown itself to be as good as seismometers that cost 60x more.

Hardware

Components are mounted in a PCB with the corresponding circuitry. The board operates at 3.3V with a maximum current of 1A. The accelerometer is accessed via SPI interface, specifically ESP32's HSPI. For this device we have selected the ADXL355 accelerometer for its low noise and relatively low cost.

The ethernet uses the LAN8720A transceiver. We have not included PoE in this varient to reduce complexity and cost, but this may be a good option for some.

GPS can optionally be added with a UART interface.

You can find the schematics, PCB, and BOM files in here. The board was generated using Kicad.

The assembled sensor, enclosure, and power supply, can also be bought directly here.

PCB

Please note the following pins:

  • ADXL355 > SPI (HSPI) > CS GPIO 15
  • Neopixel data pin> GPIO 16
  • Buzzer > GPIO 32

Enclosure

You can 3d print yourself a sturdy wall mounted enclosure for your PCB using the 3d files. This design features snap lip joints to make it easy to assemble, and flanged base for a sturdy connection to the wall surface. Here you can find a variant that includes a housing for a small bubble level that will help with installation.

3d printed case v1.0

3d printed case v1.0

3d printed case v1.0

Alternatively you can buy a case that fits the board dimensions (such as this), although it will require modifications to allow for ethernet and power jacks.

Firmware

This code allows an ESP32 device to send 3 axis accelerometer readings to a remote MQTT endpoint from its accelerometer to an MQTT endpoint. Optionally it also allows an attached NEO-6m GPS module to attach accurate time via the PPS signal (Pulse Per Second).

For more details please review the firmware instructions.

Authors

Enjoy! Give us feedback if you have suggestions on how to improve this information.

Contributing and Developer information

The community welcomes your involvement and contributions to this project. Please read the OpenEEW contributing document for details on our code of conduct, and the process for submitting pull requests to the community.

License

The OpenEEW sensor is licensed under the Apache Software License, Version 2. Separate third party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 (DCO) and the Apache Software License, Version 2.