Getting Started =================================== PCB Assembly -------------------------------------------------- The first step to using a **GeoMCU** system is getting the boards fabricated and assembled. In general, we've been using `JLCPCB `_ for this, balancing time and cost. However, any :abbr:`PCB (Printed Circuit Board)` fabrication house should work, as long as they can create 4 layer boards. This manual will proceed assuming our existing `KiCad `_ design files and ordering from `JLCPCB `_ .. note:: Switching PCB fabricators may require adjusting the board design to account for the new manufacturer's design rules. The basic process for this is: #. :any:`gerbers` #. Get the :abbr:`BoM (Bill of Materials` and placement files (see :any:`bom_cpl`) #. Place the order with the :abbr:`PCB (Printer Circuit Board)` fabrication house #. Solder the missing signal output connector, if using :any:`wired`. After that, it's time for :any:`hardware/board_test`. See :any:`hardware/order` for more details. .. _usage_components: Auxiliary Components ---------------------------------------- The supporting components needed depend on which :any:`configuration ` is in use. All configurations will require, for each :abbr:`PCB (Printed Circuit Board)` - One :any:`SM-24 Geophone ` - 2x modular latching connectors compatible with `Molex SL `_ - There are `many `_ `compatible `_ `alternatives `_ to choose from. - One of these will connect the geophone to the :abbr:`PCB (Printed Circuit Board)`, the other will connect power to it. - You'll need to assemble these connectors as well, which usually involves `crimping contancts onto wires then inserting them into the housings `_. - Some form of :any:`power` Additionally, all configurations, even :any:`wired`, will need a minimal network setup: - a WiFi network operating in the 2.4 GHz band, which can be secured by at most :wikipedia:`WPA2`-PSK. - The `ESP8266 `_ microcontrollers on the :abbr:`PCB` cannot handle a :wikipedia:`Captive portal` or any form of :wikipedia:`WPA-Enterprise` and communicate in :wikipedia:`Cleartext`, so we recommend running them in an isolated network. See :any:`hardware/network` for suggestions of how to do this. - A PC (preferably running some kind of Linux) running an :any:`broker` - a PC (again, preferably running Linux. Can be on the same machine as the broker) running the :any:`gateway/index` Check the :any:`configuration ` in use for other needed components, including which :any:`tools` are necessary. Firmware Setup ------------------------ With :abbr:`PCB` in-hand and components ready, we need to upload the :any:`firmware/index` to the boards, as well as :any:`configure ` them for the local network. For instructions, see :doc:`firmware/build`. As a short summary, you'll need to: #. Get the source code from GitHub: :github:repo:`NohPei/geoscope-sensor`. #. Compile it with :external:doc:`PlatformIO ` or `Arduino `_ #. :any:`Flash it ` to the :abbr:`PCB` #. Configure the sensor, either over the serial port/telnet (see :doc:`firmware/config`), or by :any:`flash_config` Gateway and Networking Setup ------------------------------ To use or test the GeoMCU sensors, you'll need to :doc:`create the GeoMCU network `, consisting of: - a 2.4 GHz WiFi network - the :any:`broker` - the :any:`rpi` GeoMCU Testing --------------- When setting up with new hardware (or after an incident which could damage the PCB), it's a good idea to :doc:`test your boards ` before collecting vibration data. It's also helpful to test the network by checking, for example: - if data is being saved on the :any:`rpi` by the :doc:`gateway/index` - if the vibration data appears as expected. You can use :github:repo:`NohPei/GeoMCU_plotter` to visualize the incoming MQTT packets to help with this - An oscilloscope can also be used to inspect the PCB's output from the center pin of the BNC connector, particularly useful if the MQTT data is suspect.