Rak811 Tracker Board

@quintin5010
Thank you for that link :+1:

For “OldTimers” like me , that like makefiles , have a look here

It basically reveals these steps

1:
git clone https://github.com/RAKWireless/RAK811_BreakBoard
2:
cd RAK811_BreakBoard
3:
wget https://raw.githubusercontent.com/oguiter/RAK811_BreakBoard/master/Makefile
3a:
“Adapt GCC Path in Makefile”
4:
make

Result:
Running size tool
arm-none-eabi-size “Debug/classA.axf”
text data bss dec hex filename
78596 660 6704 85960 14fc8 Debug/classA.axf

I just built “it” whatever class A is

/Bingo

Who just ordered a rak811 Trackerboard w. GPS :heart_eyes:
Damm - LoraWan is killing my budget …

Edit:
GCC is avilable here (Scroll down if you want to get gcc-arm-none-eabi-5_4-2016q3)

2 Likes

Looking at all the above I may have a tracker board for sale so that I can switch to a good old sodaq1

Wow. I’ve had some crazy hours with my RAK811-Tracker. I couldn’t get it to work as I want the Dev_EUI but it seems I only can get it via at+get_config=dev_eui but this command does not work on the tracker :frowning:

Is this the only way to get the Dev_EUI out without a j-link? Or is there a paper missing in the box which should say the Dev_EUI.

I was pretty excited to get it up and running. But probably just bought the wrong RAK811.

How to change SF in RAK811-Tracker??? or RF Power?

If you manage to get the tracker connected to the network you can simply us the at+dr= 0 to 6 to change the spreading factor. I had a lot of trouble to get my board to work reliable, if you have a 8 channel or less gateway you will need to implement a channel mask to restrict the end node to transmit on these channels. Otherwise it sill be hit and miss.

Talk to the guys from RAK directly. Which region are you in?

1 Like

Tracker is connecting to TTN.
In serial console tracker not accepting any AT command.
SF12 is so big for my TTNMapper test.
*EDIT:
I am in Europe 868MHz

Hello @quintin5010,
I came from http://support.rakwireless.com/topic/183/rak811-tracker-howto/24

I have followed your instructions, adapting them to run in MacOS.
I can compile successfully.
When I try to upload the firmware, I get:

$ stm32flash -w .pioenvs/rak811/firmware.bin /dev/tty.SLAB_USBtoUART

stm32flash 0.5

http://stm32flash.sourceforge.net/

Using Parser : Raw BINARY

Interface serial_posix: 57600 8E1
Version      : 0x31
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0429 (STM32L1xxx6(8/B)A)
- RAM        : 32KiB  (4096b reserved by bootloader)
- Flash      : 128KiB (size first sector: 16x256)
- Option RAM : 32b
- System RAM : 4KiB
Write to memory
Erasing memory
Mass erase failed. Try specifying the number of pages to be erased.
Failed to erase memory  

Any help, will be very appreciate

With best regards

Sebastian Barillaro

Hi Barillaro, you can try running the following.

stm32flash /dev/tty.SLAB_USBtoUART -j
stm32flash /dev/tty.SLAB_USBtoUART -k
stm32flash /dev/tty.SLAB_USBtoUART -e 0 -w .pioenvs/rak811/firmware.bin

https://sourceforge.net/p/stm32flash/tickets/78/

Hello again @quintin5010
Let’s see what I have after that:

   $ stm32flash -j  /dev/tty.SLAB_USBtoU
    ART
    stm32flash 0.5

    http://stm32flash.sourceforge.net/


    Interface serial_posix: 57600 8E1
Version      : 0x31
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0429 (STM32L1xxx6(8/B)A)
- RAM        : 32KiB  (4096b reserved by bootloader)
- Flash      : 128KiB (size first sector: 16x256)
- Option RAM : 32b
- System RAM : 4KiB
Read-Protecting flash
Got NACK from device on command 0x82
Done.


$ stm32flash -k  /dev/tty.SLAB_USBtoU
ART
stm32flash 0.5


http://stm32flash.sourceforge.net/

Interface serial_posix: 57600 8E1
Version      : 0x31
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0429 (STM32L1xxx6(8/B)A)
- RAM        : 32KiB  (4096b reserved by bootloader)
- Flash      : 128KiB (size first sector: 16x256)
- Option RAM : 32b
- System RAM : 4KiB
Read-UnProtecting flash
Done.

$ stm32flash -e 0 -w .pioenvs/rak811/
firmware.bin /dev/tty.SLAB_USBtoUART
stm32flash 0.5

http://stm32flash.sourceforge.net/

Using Parser : Raw BINARY
Interface serial_posix: 57600 8E1
Failed to init device.

Now the error message is different. Thank you again for all your help!

Great news!

After unplug/plug, I retried writing and it works!

$ stm32flash -e 0 -w .pioenvs/rak811/
firmware.bin /dev/tty.SLAB_USBtoUART
stm32flash 0.5

http://stm32flash.sourceforge.net/


Using Parser : Raw BINARY
Interface serial_posix: 57600 8E1
Version      : 0x31
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0429 (STM32L1xxx6(8/B)A)
- RAM        : 32KiB  (4096b reserved by bootloader)
- Flash      : 128KiB (size first sector: 16x256)
- Option RAM : 32b
- System RAM : 4KiB
Write to memory
Wrote address 0x0800d634 (100.00%) Done.

Again, thank you very much for your help!!!

2 Likes

Is there at the moment any clear benefit to flash a custom binairy vs just using the at-commands to set it up?

With a customer binary you can use the on board MCU rather than an external one to do all the work. More efficient if your running on batteries

Depends on your use case as to what is most useful/important.

1 Like

But I have had it connected to ttn with just at-commands and no external board, I don’t understand the difference then

Sure, but you had to use a separate computer to send those AT commands didn’t you?

So if you just want to use it via AT commands, then you don’t need a custom binary - but if you want it to operate stand alone and do whatever data collection tasks autonomously (i.e. sending position once per hour) then you’ll want custom firmware.

To upload the elf file over wifi, use the single wire debug pins and a black magic probe.

If you have an esp32 board. For wifi upload, try my esp32 port.

Also great for single stepping through your code.
Only necessary to connect 3 wires. A tip for the advanced user. :grinning:

I’ve just been looking through various sites on making a Black Magic Probe from standard STM32 ‘Blue Pills’ and the like

It looks to have good support in Platform IO which I’ve been using to play with my 811 Tracker along with the demo flasher to upload the binaries. This could be a good solution for me.

Have ordered a few different boards off AliExpress real cheap.

https://embdev.net/articles/STM_Discovery_as_Black_Magic_Probe

3 Likes

When using the BMP, also make sure to change board.c

void BoardUnusedIoInit( void ) {
//GpioInit( &ioPin, SWDIO, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
//GpioInit( &ioPin, SWCLK, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
}

I guess using the #define USE_DEBUGGER, also would have solved this.
No more need to move the boot-strap when uploading a new software and excelent debugging possibilities.

Have not used the SWD_TMS pin yet but using the BlackMagicProbe is so much easier when you can dedicate the UART for debug output.

1 Like

Did anyone solve that the node is just sending on SF12?
I can see that the activation is on SF7 but all data is sent on SF12…

All three the device EUI, Application EUI and App Key should be entered in the commissioning file in hex/msb (= Big Endian) format, otherwise the connection won’t work.
I strictly followed QLion’s instructions in post 182 Rak811 Tracker Board and got my RAK811 gps node working from the first attempt, without J-link etc, by simply flashing over USB.
Thanks to all of you for the useful shares!

Hi… I just finished my RAK811 Tracker Board and it’s all good shown in the TTN.
I’m planning to make it powered using Battery.
I already read about Power Consumption issue on the rakwireless forum, and might need to have HW modification to make it runs on micro Ampere range.
But before that, I would like to know, how is your method for making it in sleepmode (to make uC and Semtech chip in sleepmode). I found that it’s already there in the firmware, but seems it’s not working (still drawing normal current as usual). Please advice.
Thank you

1 Like