Setup development environment to customize firmware for iTracker 8211 NB

Dear RAKwireless Staff,

we bought a couple of iTracker 8211 NB together with a JLINK V9 Emulator Kit Simulator.
With turuu.io we started to create a predictive maintenance platform for micro mobility fleets. Our first impression of your iTracker boards is realy good and if we get them running in our system we would love to bring them to our customers.

In our use-cace we need to track GPS, humidity,… and sent it to an influxDB instance.

In the post Flash firmware on iTracker 8211 with arduino fails I already described some setup problems. Like described in that post I was able to setup the arduino environment, but still not able to develop customized firmware.
So we need some more support to get the iTracker running !

Issue:

We are not able yet to setup a development environment to customize and flash firmware (to track an send GPS data) for the iTracker8211NB with the given documentation in https://downloads.rakwireless.com/Cellular/RAK8211/.

open questions

  • can we use the RUI for the iTracker 8211 (in the docs you wrote that only 8212 is supported) ?
  • you described the arduino setup. But where we can find the sources of the pre-installed firmware to customize for the 8211 (I only find sources for 8212) ?
  • do you recommend for our scenario to develop with the arduino environment ? (we are also open for other setup, as long as it works)
  • When we use the JFlash to flash the firmware you put on https://downloads.rakwireless.com/Cellular/RAK8211/Firmware/ it works to upload/flash, but we cannot see any device-logs with the JLinkRTTViewer and also do not see the device as bluetooth-device ? (it looks like the flash works, but the firmware is not running smooth on the device)
  • Do we need to upload also a bootloader to the iTracker ?
  • When I sent a “at+version” command to an iTracker with a pre-installed firmware, I do not get any response

output from JLinkRTTViewer when sending at+version :

00> [140] [INFO]: uart switch to gps
00> [140] [INFO]: gps latitude=0.00 lontitude=0.00
00> [143] [INFO]: {
00> "temp" : 26.01,
00> "humi" : 35.37,
00> "press" : 101717.46,
00> "light" : 104.96,
00> "lati" : 0.00,
00> "longi" : 0.00,
00> "X" : 6368,
00> "Y" : 14352,
00> "Z" : 4240,
00> "m_x" : 297.00,
00> "m_y" : -322.50,
00> "m_z" : -112.50
00> }
00> [146] [INFO]: Received data from BLE NUS at+version
00> [146] [INFO]: {
00> "temp" : 26.04,
00> "humi" : 35.31,
00> "press" : 101716.53,
00> "light" : 102.00,
00> "lati" : 0.00,
00> "longi" : 0.00,
00> "X" : 6432,
00> "Y" : 14464,
00> "Z" : 4336,
00> "m_x" : 306.00,
00> "m_y" : -325.50,
00> "m_z" : -118.50
00> }
  • also when I upload a scetch from arduino (eg led_switch like described in your docs) I do not see any logs at all through JLinkRTTViewer. This is the output of the led_sitch example which you described in the documentation when sending 00 or 01 through the Phone APP:

Setup:

  • OS: Linux/Ubuntu
  • Segger J-Link JTag Debugger
  • iTracker 8211 NB

So summarized we are not able to setup an development environment with the given documentation and need more support.
I think the fastest way to get this working would be to have a slack-channel to talk with deveopers of the RAKwireless-team. Could you offer something like this ?
I could offer you to publish my complete documentation of setting up the development environment of the iTracker8211 (as we need it either way
for internal purpose).

thanks in advance,
tobias

These may be of use:


https://www.espruino.com/RAK8211

Before you commit to the 8211, you may want to look at the RAK5010 which is based on the newer nRF52840 so the Adafruit Feather resources will be of use as well as this:

and you can use the RUI compiler as well.

thanks @nmcc for your reply.
Had the chance to play a bit around with the iTracker the last days.

I was now able to compile with the online RUI-compiler an example of


and flashed it to the iTracker :smiley:

Also I was able to compile and burn the sources of

As I do not need a special IDE/setup for development (like arduino), more would be interested what you would recommend as best development setup for the iTracker?

What are the differences of all this sources & frameworks ? Is it a good idea to build on top of RUI_Platform_Firmware_GCC ?

The online RUI compiler could make for a very unproductive write-upload-compile-fix-errors-repeat loop - I’m looking at possibly making a framework that will compile locally so I stop shouting at the computer if I miss a ; or a } - or just not using it at all.

I have no idea what the online RUI compiler is hiding from us as almost all the other RAK products tend to use the original code base from the appropriate vendor.

So, despite being a few months since it was updated, you have a better working system with the GCC setup as you can compile just by hitting a button and you can update the Semtech code base and basically have complete control.

As for an IDE, I’d go with whatever you know - even Arduino or vanilla Eclipse - as getting to grips with a new setup can add weeks to a project.