-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the RemoteLogger wiki!
RemoteLogger was borne out of a need for a low cost data logger with satellite telemetry capabilities for environmental monitoring in Northern British Columbia. We have had many prototypes, each with pros and cons. Our team consists of hydrologists and geographers, not electrical engineers or software developpers. The project is a working prototype and seeks to become scallable with custom chip printing and simplified designs in the future.
To build a RemoteLogger, you will need to source multiple off-the-shelf components from websites like Digikey or Mouser, then solder and assemble the loggers following our wiring diagrams, and decide on where the data will be sent and how it will be presented. There are currently a few different version of the data logger, each with their pros and cons and individual parts lists.
We have many versions of the data logger. They mix and match the following three options:
- RemoteLogger version:
-
Non-TPL Version
- Versatile timing controlled by code
- Able to sample exactly on specific intervals, e.g. 10:10:00 AM, 10:20:00 AM, 10:30:00 AM
- Uses deep sleep and watchdog timers to manage intervals and resets
- Prone to hang ups!
-
TPL Chip Version
- Less versatile timing (controlled mechanically using switches)
- Extremely low power consumption between samples!
- Resets logger from scratch at every sample (avoids hang ups)
- Turns back on if battery dies and charges back up.
- Telemetry options:
- No telemetry
- RockBlock 9603 (Iridium)
- Particle Boron (LTE) (coming soon)
- Sensors options:
-
Hydrometric (In-stream)
- Hydros-21 (~900$CAD) Water level, water temperature, electrical conductivity
- OTT-PLS 500 (~2900$CAD) Water level, water temperature
- DFRobot (~50$CAD) Water level
- Analite 195 (~2500$CAD) Turbidity
- DS18B20 (~10$CAD) Water temperature
-
Hydrometric (Non-contact)
- XL-MaxSonar® - WR/WRC MB7052 7m (~170$CAD) Water level
- HRXL-MaxSonar-WR MB7368 10m (~206.08$CAD) Water level
-
Climate (Temp/RH/Snow)
- SHT-30 (~40$CAD) Temp/RH
- MaxBotix 7052 (~170$CAD) Snow depth
Item | Number | $CAD | Link | Comment |
---|---|---|---|---|
Feather M0 | 1 | 29$ | Digikey | Micro controller unit |
Featherwing | 1 | 22$ | Digikey | Screw terminals for Feather M0 |
RTC PCF8523 | 1 | 10$ | Digikey | Clock |
CR1220 3V | 1 | 1$ | Amazon | Clock battery |
Micro SD | 1 | 5$ | Amazon | >8GB |
3.7V LiPo 10,000 mAh | 1 | 30$ | Adafruit | High capacity battery with JST connection |
LiPo Fire Bag (optional) | 1 | 15$ | Amazon | Fire proof bag for lipo |
Charge Controller | 1 | 15$ | Adafruit | For lithium battery |
JST-JST Jumper | 1 | 2$ | Digikey | Easy connection between charge controller and TPL 5110 or Feather M0 |
Solar Panel | 1 | 120$ | Mouser | There are a lot of options for panels |
Solar Panel Cable | 1 | 6$ | Digikey | |
Solar Panel Adapter | 1 | 3$ | Digikey | |
TPL 5110 | 1 | 11$ | Digikey | Timer that controls power for entire unit |
Micro-USB 5-pin | 1 | 10$ | Digikey | Required because TPL will be fried if connected to 3V pin and computer is plugged into the MCU |
RockBlock 9603 | 1 | 405$ | Adafruit or SparkFun or Ground Control or DigiKey | |
RockBlock Antennae | Optional | 127$ | Digikey | |
RockBlock Metal Plate | Optional | 5$ | Hardware Store | Optional to help boost signal from Antennae, need to cut to fit inside data logger |
RockBlock - Option 1 10 pin picoblade | 1 | 2$ | AdafruitDigikey | |
Case | 1 | 70$ | Digikey | Note iridium messages don't travel through metal. |
Cable Gland 6-12mm PG13.5 | 2 | 5$ | Digikey |
Item | Number | $CAD | Link | Comment |
---|---|---|---|---|
Bulk 24 AWG Hookup Wire | 1 pack for many loggers | $ | Digikey | |
Bulk Desicants | 2 per logger, replace frequently | $ | Amazon | |
Bulk Shrink Wrap | Optional for splicing wires etc. | $ | Amazon | |
Nylon mounting screws | Optional for mounting boards. Other option is velcro. | $ | Digikey | |
Wood to mount boards to | For mounting the boards. | $ | Home depot | |
Cable extension with shield (5 x 24AWG) 1M | Optional, for extending sensor wires. | $ | Digikey |
Static link here.
- Order equipment
- Set-up work station
- Solder components that require it
- Assemble using wiring diagram
- RockBlock 9603: Two LEDs to indicate power status. The Red LED indicates the presence of a DC power supply. The Green LED indicates that the super capacitor has sufficient charge to switch on the Iridium module, and successfully transmit. If the Green LED is flashing, this can indicate the modem is drawing too much current from the supply. Try connecting the unit to another supply ie a USB power supply instead of a computer. If it is still flashing, this can indicate a faulty modem or cable. Wiring. Ensure RockBlock is wired for the internal (Patch) or external (SMA) antennae See here
- TPL 5110 switches - Set timer at 15 min (D+E)
- Charge controller
- Charge controller: Cut 'therm' trace if thermistor is connected, cut 1.0A trace and solder 1.5A trace for faster charging, test charge rate by connecting multimeter (10A to OUT, COM to GRD) and set multimeter to 200mA, should read 1.5A (Data sheet)
- Install Arduino IDE
- Add Adafruit board library: Since we use the Adafruit M0, follow https://learn.adafruit.com/adafruit-feather-m0-basic-proto/setup
- Error codes
- 0 = ISBD_SUCCESS
- 1 = ISBD_ALREADY_AWAKE
- 2 = ISBD_SERIAL_FAILURE
- 3 = ISBD_PROTOCOL_ERROR
- 4 = ISBD_CANCELLED
- 5 = ISBD_NO_MODEM_DETECTED
- 6 = ISBD_SBDIX_FATAL_ERROR
- 7 = ISBD_SENDRECEIVE_TIMEOUT
- 8 = ISBD_RX_OVERFLOW
- 9 = ISBD_REENTRANT
- 10 = ISBD_IS_ASLEEP
- 11 = ISBD_NO_SLEEP_PIN
-
Estimate battery life
-
Connect a multimeter in serial to the JST power cable in (need to cut it and add aligator clips on positive lead). Change multimeter to A. Change red terminal to A, and black to COM.
-
On the hydros-21 setup, we measured: sleep as 30 milliamps, measurements as 90 milliamps, and iridium transmissions as 245 milliamps.
sleep <- 30 msmt <- 90 irid <- 245 Load_current_avgH = ( (irid * (5/60) * 12) + # 5 min, 12 times per day (msmt * (1/60)/4 * 24 * 6) + # 25 seconds every 10 min (sleep * (58/60) * 24) # roughly 58 minutes per hour )/24 # Average hourly # Battery capacity in milliamphours mAmp_hour_rating = 10000 # Hours_running mAmp_hour_rating / Load_current_avgH #= 241 hours # Days_running mAmp_hour_rating / Load_current_avgH / 24 #= 10 days
-
Linux commands
- Change directory: cd
- Copy file: cp source.py dest.py
- Edit file: vim cgi.py
- Vim edit: i
- Vim save: Esc :w
- Vim save and close: Esc :x
- CGI location: cd ../../var/www
Post data to