Fulcrum & Arduino: Building a Gas Sensor
Adam Rose, PE, GISP, CFM has several letters after his name, but is nonetheless fairly lazy: he enjoys creating and automating software and hardware to make the lives easier for environmental engineers and others in the water profession. In his spare time he is a product manager at XP Solutions, a software company.
Arduino is a small, flexible piece of hardware and associated software that makes it easy to build interactive objects or environments. Many people have used Arduinos, or other boards by TI, Intel, etc. to do things like: build robots, secure property, or track objects. There are a number of great tutorials describing how to build the hardware and configure the software required to make these (and countless other things) work. A vibrant community has been built around this open and powerful platform.
In this post we’ll cover how to use a handful of easy-to-find components to connect Fulcrum to a broad range of physical components. Specifically, we will concentrate on using Fulcrum to perform a detailed sanitary sewer evaluation. We will take hydrogen sulfide readings from manholes and wirelessly send them to a Fulcrum app.
Requirements for this tutorial
- An Android device with Bluetooth capabilities: $100+ depending on capabilities/service contract requirements
- An Arduino board (Nano used for this example due to size, cost, and ease of use): $20
- Some miscellaneous buttons / enclosure / cables (not required but assist with building and using): $10
- H2S sensor, MQ136: $30
- Amarino - testing interface for hardware and phone [recommended]
- Bluetooth wedge (free demo from link, or build using Tasker or other)
The linking application will stream a Bluetooth signal from the sensor to the phone. The button on the hardware will only send the results when pressed – this will keep the phone from being overloaded with data. The keyboard wedge will convert the BT stream into ASCII text in whatever field is selected. The user will set up the H2S sensor and, when ready, will press the button on the device and beam the H2S reading directly into Fulcrum, which will record the result in the appropriate part of the application.
This tutorial will use the standard Manhole Inspection Report, available from the Fulcrum Gallery, with a single modification – adding a numeric field that will collect H2S data. Please see the online help documentation if you need assistance with creation or modification of apps inside Fulcrum.
- Download and install the Arduino software. There are versions for all operating systems.
- Connect the Arduino to your computer and upload the sketch. At times it can be difficult for your computer to see your Arduino – there are good troubleshooting docs available to help.
- Connect the hardware as per the sketch. Do not connect the hardware until the sketch has been uploaded as the Bluetooth module can cause problems with uploading.
- Pair your hardware with your phone as you would with any other device. (Example)
- Use the Amarino application to test your connection.
- Change your keyboard settings so that the keyboard is looking for your sensor. (Example)
- Start Fulcrum and collect data. When you get to the H2S field press the hardware button. Your reading will now be inside your data record.
- Note that the first 5 steps (optionally the 6th as well) are one-time operations.
Feel free to modify the code based on your specific needs or application. I have also built chlorine monitors for potable water systems (which could be integrated with the Hydrant Inspection app) and various other gas and physical sensors. While there are few limits to this approach, users should read the documentation and specifications on the hardware that they use – and know its limitations and calibration procedures. This example is provided for reference only and should not be used as part of any regulatory or permitting activity. Please be careful any time you are in or around an environment that might have hydrogen sulfide.