Rak811 Tracker Board

I think it must be class A, I am not trying to rely on any downlink.
By autonomously I mean this: Install usb driver, connect board to USB port, start serial console and then watch the output of the board run by.
It was surprisingly simple in the end.
Did not have to use any arduino code, the only reason I use the arduino program is because I like the serial console.
So yes, if my keys are ok I also hope to just connect a battery and go.

  • wow stop the press. I got a packet through to the backend! Turns out I am indeed at the edge of my gateway’s coverage.

{
“time”: “2018-01-31T16:50:15.779742639Z”,
“frequency”: 868.1,
“modulation”: “LORA”,
“data_rate”: “SF12BW125”,
“coding_rate”: “4/5”,
“gateways”: [
{
“gtw_id”: “eui-b827ebfffe706141”,
“timestamp”: 4231035420,
“time”: “2018-01-31T16:50:15.714205Z”,
“channel”: 0,
“rssi”: -117,
“snr”: -16.8,
“rf_chain”: 1,
“latitude”: 52.34929,
“longitude”: 4.8467774,
“location_source”: “registry”
}
]
}

Next step: decode the payload: 0267010E

that can’t be your device … and if it is, the antenna is broken

At the pizzeria now so I can check later. Maybe I copied the wrong line from my gateway traffic because I also get kpn packets there. I did see incoming frames on the device.
Why do you say it’s the wrong one?

rssi”: -117,
“snr”: -16.8,

I can see for sure that the signal is less strong than my home made rfm node. Both are here next to each other, gateway on the attick, look at the signals:
RAK: “rssi”: -93, “snr”: 7.5.
RFM: “rssi”: -79, “snr”: 9.2.

02

So how about you @BoRRoZ, any luck?

so again conclusion, that GW packet (snr -16.8) you showed was not your tracker , I didn’t connected mine yet (I know myself )

Well that packet is gone from my console but it was actually possible given the distance to my gateway.

image

Inside the red circle where my normal coverage craps out.
The thing is, the signal is indeed weaker than my rfm node with little wire as antenna, comparable to above. So I’m really curious what you and the others get eventually when it’s running.

yes me too… and I’m very curious what the power consumption is in sleepmode ect.
optimal would be to wake up the tracker when movement is detected or at a certain interval or a combination of these modes

Indeed.
Looking at the short payload and the description of the at commands here (pdf), it seems that to really configure it the at commands are not sufficient.

anyone able to access the RAK document site? getting errors here - any info on the tracker boards leds?

rak documentsite seems down @ this moment

@jezd Have fun :slight_smile:
RAK811 TrackerBoard Schematics_20171013.pdf (281.7 KB)
RAK811 TrackerBoard Datasheet V1.0.pdf (838.0 KB)
RAK811 TrackerBoard User manual V1.0.pdf (1.4 MB)
Node Location Solution Kit With TTN V1.0.pdf (1.7 MB)
Node Location Solution Kit With TTN Quick Start Guide V1.0.pdf (2.0 MB)
(as their website is frequently down, I think it’s not a bad thing to have docs here too)

4 Likes

Still trying to get this one working but if it helps, it looks like its based on the project here: https://github.com/Lora-net/LoRaMac-node

Code and file structure is identical in many places

I’ve got to the point where I’ve identified a hard fault exception occurs when the software tries to enter LIS3DH_Init(); from boards.c

Has anyone got experience debugging this sort of thing? I’m new to arm, segger and stm32…

Mine is now via the backend on cayenne.
Most packets only contain temperature and the very rarely it also sends a gps position.

Having a play with my RAK811 tracker board (no GPS), have uploaded the ‘AT firmware’ for the basic RAK811 module and have this working via AT commands, so in terms of just testing the device without compiling code this is an option - done an OTAA connect and sent data too.

When RAK talk about the RAK811 firmware what they actually mean is a set of pre-compiled STM32L151 binary files one for each region that provides AT commands for an external MCU to use (or terminal session). Just for testing the lorawan connections on the tracker boards of course.

Pushing to code on PlatformIO for the STM32L151 but had a few library issues, will look at the is again later.

OK, I’ve been able to use PlatformIO/Visual Studio Code (use the xDot board framework as this is based on STM32L1xx) to create firmware.bin files and these can then be burnt using the STM demonstrator tool - no issues with Windows 10 and com ports - works first time every time.

I’ve used my own blinking LED code (GPIO_PIN_12) for testing, will now will move onto the RAK code.

3 Likes

I’ve almost got the board working in Segger Embedded Studio now. The problem seems to be that importing a Keil project disabled the startup code in assembly.

It seems that the project also has the startup files and a linker script for gcc that us part of the coide project.

Would someone be so kind as to screenshot the project settings in coide so those of us trying platform.io and Segger Embedded Studio can copy the compiler and linker settings.

Thanks!

1 Like

http://www.coocox.org/ seems to be down and I am new to the coIDE platform - I think they have some sort of a repository in management chipset pro folio etc so I cannot get it working.
But I did finish the whole process based on RAK’s documentation and get it up and running on Cayenne showing GPS location, sensor data and RSSI/SNR etc.
Give me a shout if you need anything.

1 Like

For those on Mac / Linux and/ or having no J Link in hand:

I can confirm I can manage to get the device connected to Cayenne and show GPS location, among other data/ seniors readings into the dashboard with below toolchain.

  • Macbook Air on latest MacOS & VirtualBox

  • VirtualBox on Windows 7 with latest ARM Keil & CP210x USB/ UART driver

  • Modified (putting in Device EUI, Application EUI & App Key from TTN console, compiled and built the ClassA sample code from RAK’s github using ARM Keil

  • Download the .bin firmware into the board using a standard USB cable (without using J-Link) with ST’s Flash Loader Demonstrator

  • Finish off the TTN > Cayenne integration as per the documentation

1 Like