This is the repository for the second version of the LEMS Sensor Stations. Stay tuned, information will be added as it is generated. A majority of the documentation will be added to this file. Long-term future development will happen at https://github.com/UtahEFD/LEMSv2.
- Check validity of filenames with more than 8 characters
- Decagon, the manufacturer of the 5TM soil sensors, has changed their name to Meter, and the 5TM is now called the ECH20 5TM. The DS2 is now called the Atmos 22. The documentation will need to be changed and will probably be done slowly.
- Major Change: Change the code to read parameters from a text file on the SD card. See if possible to read code from SD card.
- Delete or separate "File List" from README? Makes it clunky, hard to keep updated. Goal is for files to self explanatory
- Update DS2 code to use EnviroDIY's SDI12 library instead of custom library
- Change the parts in the eagle files for BOM lines 11, 29, 30. These parts were out of stock and were replaced by different parts during manufacturing.
- Code/
Code Instructions.md- Instructions for uploading- LEMSv2/
LEMSv2.ino- LEMS Arduino CodeDS3231_Alarm1.h- Header file for corresponding.cppfileDS3231_Alarm1.cpp- File used to set DS3231 Alarm 1. Developed in test code then copied to this folderd5TM.h- Header file for corresponding.cppfiled5TM.cpp- Library used to interact with 5TM. Developed in test code then copied to this folder
- Test Code/
- ADS1115_Test/
ADS1115_Test.ino- Test code for ADS1115 ADC
- DS3231_Test/
DS3231_Test.ino- Test code for DS3231 RTC. Test DS3231 alarm 1DS3231_Alarm1.h- Header file for corresponding.cppfileDS3231_Alarm1.c- Library used to set DS3231 Alarm 1. Developed in here then copied to main code folder
- DS2_Test/
DS2_Test.ino- Test code for DS2 anemometerDS2.h- Header file for corresponding.cppfileDS2.cpp- Library used to interact with DS2. Developed here then copied to main code folderLICENSE- License to be included with theSDI12_ZerolibraryLICENSE-examples.md- License to be included with theSDI12_ZerolibrarySDI12_Zero.h- Header file for corresponding.cppfileSDI12_Zero.cpp- Library used by DS2 library to interact with DS2. Implements the SDI12 protocal for Arduino Zero.
- Li200_Test/
Li200_Test.ino- Test Li200 with intermediate values in calculations printed
- Teros21_Test/
Teros21_Test.ino- Test Teros21 and library.
- Test_5TM/
Test_5TM.ino- Test code for 5TM Library. 5TM has been working since LEMSv1 but is now made into a library.d5TM.h- Header file for corresponding.cppfiled5TM.cpp- Library used to interact with 5TM. Developed here then copied to main code folder
- ADS1115_Test/
- Time_Set/
Time_Set.ino- Code used to set the time on the DS3231 real time clock
- Data Manipulation/
LemsPlot.m- View LEMSv2 data plots. Not perfectly adaptable to any file, but will work for a fully instrumented station. To work properly, requires the Intelligent Dynamic Date Ticks file from MathWorks. Can work without it though by commenting out the lines that use it.importfile.m- Used to import the LEMSv2 data files. Can only be used on data files from fully instrumented LEMS.
- Hardware Information/
Bill of Materials.xlsx- Complete parts listCalibration Constants.xlsx- Calibration constants for various instruments. For now, only contains Li200 constants.- Data Sheets/
- Multiple data sheets for components
- Li200R Base/
- Solidworks/
- Contains Solidworks files for Li200R base
- STL Files/
- Contains print ready STL files for Li200R base
Build Instructions.md- Tools required for making the Li200R base
- Solidworks/
- MLX Housing/
MLX Housing Build Instructions- Build instructions for MLX90615 housing
- PCB/
LEMSv2 Board.pdf- PDF of PCB for easy referenceLEMSv2 Schematic.pdf- PDF of schematic for easy referenceSAMD21 Breakout Board.jpg- Reference picture for microcontroller board
Pin List.xlsx- Pin connection list for SAMD21 Dev Breakout BoardPossible Parts.txt- Potential parts/Manufacturers to add/use in the future- Transimpedance Amplifier/
Transimpedance_Amplifier_Calculations.ipynb- Jupyter notebook containing transimpedance amplifier calculations
Wiring Information.xlsx- Information about wiring. What connects to what, etc. Work in progress.
LICENSE.TXT- License- PCB/
- LEMSv2 PCB/
Centroid_ScreamingCircuits_smd.ulp- Eagle ULP script to create centroid data for screaming circuits- Gerbers/
- Contains gerbers for board, plus the panelized gerbers supplied by OSH Park. Also contains the centroid file for Screaming Circuits.
LEMSv2.sch- LEMSv2 shield schematicLEMSv2.brd- LEMSv2 shield layoutOSH_DesignRules.dru- Eagle design rules for OSH ParkOSHPark_2layer_Eagle7.2.cam- Modified cam job for OSH Park
- LEMSv2 PCB Library/
LEMSv2.lbr- Parts used in the LEMSv2 shield
- LEMSv2 PCB/
Possible Problems.md- List of potential hardware problems in the LEMS. Prefer to not have duplicate entries, i.e. one line per problem.README.md- If you read this line you're actually reading the README. Good job!
Only 3rd party software dependencies are included in this list. Libraries built into the Arduino software or created for the LEMSv2 software isn't included. You will need the most recent version of the Arduino IDE installed.
- Adafruit RTC Library
- Adafruit SHT31 Library
- Adafruit Sensor Library
- Adafruit BMP280 Library
- Adafruit MLX90614 Library
- EnviroDIY SDI-12 Library
- Soligen2010's fork of the Adafruit ADS1x15 Library. The default Adafruit ADS1x15 library doesn't work.
- In addition, the Sparkfun SAMD21 board definition needs to be installed into the Arduino IDE. See here for more info.
- ADS1115 single ended resolution calculation information can be found here
- ADS1115 over range input information can be found here and here
- Thanks to Sparkfun and Adafruit for Arduino libraries, components, tutorials, and eagle parts. Many designs and eagle components are directly used from them. Also thanks to OSH Park and Screaming Circuits for the excellent PCBs and assembly. They were instrumental in getting LEMSv2 completed.