I am going to start a thread here and update it with the progress of a nRF9160 project that I am working on to get some feedback and also provide a starting point for anyone else interested in doing something similar.
Feel free to move this thread to a “projects” thread or such, if one is made in the future.
I am not sure this is the right place for this thread as it is mixed up with troubleshooting questions.
I just got the package in the mail, very quick shipping, thank you, paid about $15 for import taxes (sales tax and handling fees) which is common when I order something from overseas that is over $100.
Going to open things up and do some testing.
I have also been on a project using the nRF9160 so I thought I would share, it is not quite ready to share with everyone yet, but I would like to.
Basically I am using the nRF9160 with the project “serial_lte_modem” and interfacing it with an m4 based "Adafruit M4 Grand Central” board with a 1.8” LCD and camera. I would like to be able to upload and download images with this setup.
I just got the code somewhat working to download and display BMP or JPEG images, I was able to make a 100K byte buffer in the m4 to hold the downloaded data. I am using the following libraries with the Arduino IDE to accomplish this. The LC screen is 180 × 128, and have tested with a 65k BMP file and up to 30K or so JPEG file. The JPEGs must not have “progressive” downloading data in them for it to work with this setup. A limitation of the TJpg_Decoder library used.
The nRF9160 toolchain and tools were used to upload the (slightly modified) serial_lte_modem to the nRF9160, after that moved to the Arduino IDE to do the rest.
and the other libraries mentioned in this guide
https://learn.adafruit.com/adafruit-ov7670-camera-library-samd51
I used the Adafruit guide above as a starting point then added in the following two libraries
https://github.com/vshymanskyy/TinyGSM
https://github.com/Bodmer/TJpg_Decoder
I had to add support for the nRF9160 into the TinyGSM library and would would like some assistance perfecting it, if you or anyone else has time, I can throw out a thread on your fourm about it, this might make the nRF9160 a little more easier for beginners to work with although it does turn the nRF9160 into a serial LTE modem, it is capable of so much more.
This is, however, the direction people at the office want to go so “anyone” can use the Arduino IDE to add sensors, etc to it.
I am attaching the H file that I made for TinyGSM to this message, it has many bugs still though and sometimes downloads don’t complete, etc, but it is a starting point that I am working on.
I had to modify the serial_lte_modem project slightly to make it more friendly for TinyGSM. I switched around the output of the XRECV command so it outputs the length of the data first before the actual data otherwise it is difficult to parse it. All data is passed through the UART in plain text, binary data is passed in text, this doubles the size of the data, however, with the USRT speed set to 921600 and the limits of LTE-M1 is around 300k bits, it does not seem to pose a bottleneck. I tried to double the UART speed to 1843200 but either the nRF9160 or the M4 is not happy with it, and besides I am getting close to the 3M “limit” where wire sizes and interference can be problematic.
Let me do some testing, make sure the serial_lte_modem project runs correctly on the board, and I will upload some HEX files for easy uploading.
I have been using the Actinius Icarus up to this point and they provide a “Artinius Programmer” utility, which can be downloaded from the "nRF Connect” application. I have found this easy to upload the nRF9160, but have to upload the app_signed.hex file if using their bootloader, as well as adjust the image to start at address 0xC000 (if I remember correctly, its using an older Zephyr bootloader).
Anyway I have more to write, but will do some testing first and post the results.
…ah it seems I can’t upload a file, I don’t see an “upload” button, let me organize a way to host files first then Ill post a link, in the mean time, if anyone would like to get their hands on the code in its current state please let me know.