Filtering Instrument for DNA Observation (FIDO)
FIDO—the Filtering Instrument for DNA Observation—is a next-generation autonomous robot capable of sampling environmental DNA (eDNA) to detect harmful organisms in aquatic environments. Developed by MBARI engineers in partnership with USGS and the Rapid eDNA Assessment and Deployment Initiative and Network (READI-Net), FIDO is a vital new tool resource managers can use to monitor lakes, rivers, and streams.
Please see MBARI's Press Release for more information.
The FIDO sampler consists of the following stack of technologies:
- The FIDO sampler itself (motors, valves, etc.)
- The Sampler Microcontroller which is based on a STM32 MCU.
- The Sampler Microcontroller Code
- A RockPi S Controller which serves as the controller for the sampler itself via serial protocol, the local user interface server, and the connection to the cloud server via MQTT. Below are some useful links:
- RockPi Controller Board
- RockPi Housing
- RockPi WiFi Antenna
- 32 GB SD Card
- Power Supply
- Additional Debugging Tools
- The Web Application which runs on the RockPi controller and on Amazon Web Services.
- Local Interface (NOTE: You have to be connected to the local WiFi hotspot from the RockPi device to get to this interface.)
- Production Cloud Server
- Development Cloud Server
A simplified diagram of this system is show here
---
title: ESP Sampler Diagram
---
flowchart LR
fido-sampler[Sampler]
stm32-mcu[Sampler STM32 MCU]
subgraph Headscale-Tailscale VPN
rockpi[RockPi Controller]
subgraph AWS EC2 Server
nginx[Nginx Server]
subgraph Docker
flask[Gunicorn App Server]
mosquitto[MQTT Broker]
end
end
end
cloud-app[Web App]
local-app[Web App]
fido-sampler --- stm32-mcu
stm32-mcu <--serial--> rockpi
rockpi <--telemetry--> mosquitto
mosquitto <--> flask
flask <--> nginx
nginx <--> cloud-app
rockpi <--wifi--> local-app
click fido-sampler "./sampler/"
click rockpi "./controller/"
click local-app "./webapp/"
click cloud-app "./webapp/"