RAK5010 NB-IoT Tracker

Posted on
of 3
/ 3
Last Next
  • Support for the new device in subject is planned?


  • Not at the moment, no. But maybe if you ask RAK they might consider supporting a port of Espruino for it :)

  • Hi @Gordon,

    Any news regarding the official support of the RAK5010 please?

    At the moment the Arduino support is not full and I would be pleased to give Espruino a try.

    RAK told me you might release it soon: https://forum.rakwireless.com/t/native-e­spruino-support/1030/7

    Thanks :)

  • Yes - I had a chat with RAK in December and I will be adding support - and I have some devices sitting here. I'm just waiting for things to calm down so I can do the port :)

  • Great, thank you for your hard work, I guess having many devices waiting to be ported sounds like a success for Espruino :)

  • Hi @Gordon, any update regarding the RAK5010 please?
    Can't wait to use Espruino!

  • Just a naive question: why not choosing an Ai-Thinker A9G-based development board rather than the RAK5010, as it is so much cheaper ($7-$8) and has basically the same specs?

    Is it because the RAK5010 development board is equipped with a nRF52 thus making the port easier? (Actually this makes a lot of sense.)

    There are ports of Micropython to the A9G development board (the manufacturer official one and an advanced port which is well maintained), so it might be worth investing this board as an alternative...

  • Thanks @sebi for introducing this cheap board, unfortunately I'm looking for LTE-M / NB-IOT bands as GPRS will be gradually disabled in the coming years.

    Also, having a chip that handles TLS & MQTT protocols is very important when you track valuable assets.

    I agree RAK is expensive... probably because there is no cheaper alternative with a Quectel BG96.

  • Hi! I'm afraid I'm still a bit too busy to find time to get the port done, but I'd hope that it would be finished in the next month or so.

  • Thank you @Gordon for the update!

  • Any update on the timeline for this ? The RAK8212 does not seem to be able to be ordered at the moment

  • Still waiting! looking forward testing Espruino with this board ;)

  • Sorry - it's on my list, but it won't happen for a few weeks. I've been really busy with Bangle.js support and shipping and not much else is getting done :(

  • All good ! My son is enjoying his Bangle.js - turned up 2 days before his birthday which was fantastic

  • Hello Gordon,
    I developed a Rak8212 firmare using espruino.
    My firmware use the following sensors:

    • accelerometer lis3dh
    • the bluetooth advertising and gatt protocol
    • the bg96 module for gps and internet connection

    Now I'm trying to adapt that firmware to run it on the Rak5010 by using the Rak8212 firmware but changing only the pins values because the two schematic seem to be similar .
    For the lis3dh javascript module it was enough to change the interrupt and pins parameters, like this:

    i2c['setup']({"sda": D14, "scl": D13});
    lis3dh = accel['connectI2C'](i2c, {"int": D16});

    in place of

    i2c['setup']({"sda": D19, "scl": D18});
    lis3dh = accel['connectI2C'](i2c, {"int": D25});

    The bluetooth functions are working perfectly despite the nordic chip differences.
    But now I'm stuck with the bg96 module.
    Could you tell me if this is the right way to proceed or if there is other code to change into the espruino sources before I can use it?
    Thank you!

  • Hi - that sounds great! Yes, I think the best bet would be to just create your own copy of https://github.com/espruino/Espruino/blo­b/master/libs/js/rak/RAK8212.js but with the changed pin names.

    Then when you build the firmware it should include all the new code. BG96 was built into the 8212 so it should 'just work' on the Rak5010 as well.

    I'll try and look into a build today though.

  • Just looking at this now - could be the RTS/CTS pins if the BG96 isn't going?

  • I'm trying this values:

    PWR_GPRS_ON : D31,
        LTE_RXD : D6, 
        LTE_CTS : D11, 
        LTE_TXD : D8, 
        LTE_RTS : D7, 
        GPRS_RESET : D29, 
        GPRS_PWRKEY : D28,

    instead of

    PWR_GPRS_ON : D6, 
        LTE_RXD : D7,
        LTE_CTS : D8,
        LTE_TXD : D9,
        LTE_RTS : D10,
        GPRS_RESET : D14,
        GPRS_PWRKEY : D15,

    But I'm not sure they are correct

  • I noticed that the LED1 has the same old pin value but now I have to reset() it to switch on and set() to switch off.
    Maybe the same thing happens with the BG96...

  • Looks like there are actually a bunch of other pins connected on the BG96. Maybe the pin states on those need changing to what they were hard-wired to previously?

    Do you have the files you're currently using for your RAK5010 port online somewhere?

  • Do you mean the RAK8212.js file or the entire project?

    1 Attachment

  • The files you're using to build the actual version of Espruino to run on the RAK5010 - or are you using a standard build of some kind?

  • I'm using the standard build espruino_2v04_RAK8212.hex then I changed the pins values into the RAK8212.js and the lis3dh reference

  • It feels good to see you are about to release the RAK5010 board @Gordon! Can't wait to play with it!

  • Seriously - this one? https://store.rakwireless.com/products/r­ak5010-nb-iot-tracker

    I'm amazed that the RAK8212 firmware works - it's for a different microcontroller!

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

RAK5010 NB-IoT Tracker

Posted by Avatar for peruperu @peruperu