-
Notifications
You must be signed in to change notification settings - Fork 3
Frequently Asked Questions
- How do I install Loom?
- I found a bug! What do I do?
- How do I create a GitHub issue?
- How do I connect my Loom device to the internet?
- How do I add a new sensor to Loom?
- How do I contribute to Loom?
- Why is Loom so slow to compile? Is there any way to make it faster?
- I keep getting duplicate library errors. Help!
- My Loom configuration won't run! What's wrong with it?
- I'm using an RTC and getting bad readings. What's going wrong?
- The sensor I want is in Loom but is not recording data properly. How do I fix that?
- If you do not have the program to run (A.K.A. the IDE), check out the Arduino Setup
- If you have Arduino Setup, check out Loom Installation Guide
- You should create a GitHub issue documenting the bug so that we can fix it as quickly as possible!
- First, go to Issues
- Then, click the green box that says New Issue.
- Click on Get Started for the following issue you have or click Open a blank issue below Project Specialization if the given prompts are not you want.
There are currently three internet platforms available in Loom to choose from (GitHub Location of Internet Plats). The three options currently include Ethernet, Wifi, and LTE Cellular.
- Ethernet
The hardware support for Ethernet can be found here. The Ethernet wing should simply stack on top of the Feather M0 you are using, or a custom PCB can be used. Once these two are connected, the last thing to handle is the configuration file. Ethernet will need two parameters, a MAC address, which you should be able to get this from your organization and an IP address, you can use [192,168,0,1] if you don't have reason to change it. Google Sheets Ethernet is a good starting example to understand how the configuration file should be set up for Ethernet.
- Wifi
The hardware support for Wifi can be found here. Since the Wifi is built into the Feather M0, the only thing to handle is the configuration file. Wifi will need two parameters, the Wifi host network name, this should simply be the network you are connected to. If the network you are connected to has a password, that will also need to be provided. If not, simply enter in “” instead to indicate no password is needed. Google Sheets Wifi is a good starting example to understand how the configuration file should be set up for Wifi.
- LTE
The hardware support for LTE Cellular can be found here. The LTE is the most complicated internet connection Loom offers. A custom PCB and wiring diagram are also in the works right now to simplify things, so check back here to see updates. If using the custom PCB, you will also need to use the Hypnos board, but all the connections will be wired, or a breakout on the PCB can be used.
If you are not using the PCB and wiring things yourself, it requires six connections with the Feather being used (SparkFun LTE Shield->Feather M0): Rx->Tx, Tx->Rx, Vio->3v, GND->GND, either a micro-USB connection for the power supply or 5v->USB and 5->A5 (A5 was chosen for continuity reasons, if A5 is already in use, any of the A1-A5 pins on the feather should suffice, they will need to be noted in the config.h when constructing the LTE Internet Platform).
Once the setup is complete, LTE will need four parameters, the Access Point Name (APN), this should the network you bought your nano sim card from, most likely to be Hologram, so simply put “hologram”. The next is the GPRS username and password, if you have one of these, they will be provided by the provider of your nano sim card, if you don’t have to worry about these, simply enter in “” for both to indicate you don’t have a GPRS username or password. The last is the power pin, this should A5 if following the guidelines above, but if you have to change the pin you are using, make sure you enter that here. Otherwise, simply just enter “A5”. Google Sheets LTE good starting example to understand how the configuration file should be set up for LTE Cellular.
- After you have set up your hardware, the easiest way to publish your information to the Internet is to use Google Sheets, and a tutorial on how to can be found here. Other possible uses currently include Max publishing and NTP synchronization for the RTC, which currently do not include their own tutorials.
First, you can check here if Loom is supporting the sensor you want to implement into your project. If your sensor is supporting by Loom, then check out here to add the sensor into your project by using the configuration file.
If you are adding a new sensor that is not part of Loom, then you can check out here to find what sensor type you want to add and start writing the code for it. In that link, there is a tutorial on how to start working on the code to integrate the sensor. There are four types of sensors that are supported by Loom: I2C, SPI, SDI-12, and Serial. If you know that the sensor you want to integrate into Loom is one of those types, then follow the link that was provided earlier. At the same time, I would recommend reading “How do I contribute to Loom?” question. However, if the sensor type is not implemented to Loom, then I recommend doing a GitHub Issue for adding a new feature that one of the staff members will be working on it.
Loom has a tutorial that provides the detailed steps for contributing to Loom found here. The premise is you should create a branch or fork to allow yourself to work in and follow the templates and functions provided by the Loom team so that whatever you are contributing follows the structure of Loom and will fit in with no issues. If you are not creating a module and are trying to fix any bugs, still please make sure that you create a branch or fork and follow the structure already defined, and once completed make a merge request for the Loom team to look over. Loom is currently going through a refactor, so this may be subject to change so please come back to these pages for updates.
Unfortunately, there are not many things users can do to reduce compile times by a significant amount. Loom is currently going under a refactor and compile times will reduce as a result of it, so please check for updates to Loom to know when compile times have been reduced.
The easiest way to remove this error is by removing and reinstalling Loom.
The process of removing the Loom will be the following.
- Go to Documents/Arduino/libraries
- Remove everything that is inside that folder.
Then go back to the installation guide for Loom and reinstall it again.
If you are getting the same issue over and over, then please send a GitHub Issue about your problem and a Loom Staff member will be in touch with you.
Loom offers a tutorial on how to understand the configuration file found here and a tutorial on how to set up your configuration file found here. We recommend that you check out both of these links. But if you don’t have any experience with JSON objects, the first tutorial will help you understand better how to format the file. If you are unsure if your configuration file is set up properly with your project, the second tutorial will help you with that.
Converting the configuration file into a normal JSON using online services and then using an online validator to check your formatting may help you debug your configuration file if you have persistent issues. Using this link here will remove the backslashes on your file, which then you can paste that output into this link here to replace the single quotes with double quotes(‘ and “). This output can then be pasted into this formatting tool to detect any errors.
There are many factors that could give false information about RTC, which include both the hardware and software setup that you have. Please send a GitHub Issue about your problem. In that issue, please say what module/RTC you are using(DS3231 or PCF8532), what sensors you are using, what internet connection you are using (Ethernet, Wifi, LTE, or none), and what logging platform you are using(SD or OLED).
Many factors can contribute to this type of issue including incorrect wiring, software, or a bad sensor. While there are general procedures you can take to find out if any of these issues are causing the problem, it is recommended that you post a GitHub issue about your program. Instructions on posting a GitHub issue can be found here