Installing the GeoMCU Firmware

Getting the Source Code

  1. Download the latest GeoMCU firmware from GitHub: NohPei/geoscope-sensor.

  2. Ensure you have the required hardware:

Building the Firmware

  1. Determine the IP address of your computer (the machine that will host the MQTT broker):

    • Log into your router.

    • The router’s IP address is usually printed on its label (unless you use a custom network setup).

  2. Set up your development environment. Do one of:

  3. Build the firmware

  1. Open the GeoMCU firmware directory you downloaded earlier, and make the following configuration edits.

    data/config/mqtt:

    • clientid → Change from the default S-21 to a unique name

    • ip → Set to the IP address of your MQTT broker (e.g., your laptop).

    Note

    if flashing multiple boards — each needs its own ID

    data/config/net:

    • dns → IP address of your router

    • gateway → IP address of your router

    • ip → the IP address for the sensor to use

    • ssid → Name (SSID) of your Wi-Fi network

    • key → Password for your Wi-Fi network

    Note

    You can have the sensor get its address automatically by setting dns, gateway and ip to 0.0.0.0.

    You still always need to set ssid and key to match your network.

Flashing to the PCB

  1. Connect the ESP8266 GeoMCU board to your computer using a USB-to-serial cable with the following wiring:

    ESP8266 Pin

    USB Serial Pin

    GND TX RX

    GND RX TX

    Provide power to the GeoMCU board through the 12 V barrel jack adapter.

  2. Flash the board firmware with:

    platformio run -t upload --upload-port /dev/ttyUSB0
    
  3. Upload the filesystem:

    platformio run -t uploadfs --upload-port /dev/ttyUSB0
    
  4. Verify the board is running correctly. Open a serial terminal (see Assembly Tools) and press Enter — you should see a prompt like CMD>. You can also press the Reset button on the board to view startup messages.

    minicom -b 115200 -D /dev/ttyUSB1
    

Flashing Configuration in Bulk