CubeCell: Difference between revisions

From RevSpace
Jump to navigation Jump to search
(6 intermediate revisions by the same user not shown)
Line 15: Line 15:
What I'd like to investigate:
What I'd like to investigate:
* Does it have an RTC? YES, it appears so
* Does it have an RTC? YES, it appears so
* Can we run the arduino-lmic library on this? NO, probably not in the short term.
* --Can we run the arduino-lmic library on this? NO, probably not in the short term--
* Can we compile the code with platformio? YES
* --Can we compile the code with platformio? YES--
* Use this board for my [[LoraBatBox]]
* Use this board for my [[LoraBatBox]]
* [https://www.youtube.com/watch?v=lobNwqHLrag Video review by Andreas Spiess]
* [https://www.youtube.com/watch?v=lobNwqHLrag Video review by Andreas Spiess]
Plans for immediate future:
* get the LoRaWAN example running, in OTAA (or restored OTAA)
* get LoRaWAN time synchronisation protocol running, figure out RTC API
* investigate if wake up can be done by pin too (not just timer)


== Hardware ==
== Hardware ==
Features:
Features:
* based on an ASR605x (ARM cortex M0+ core) + SX1262(?) radio chip
* based on an ASR605x (ARM cortex M0+ core) + SX1262 radio chip
* low power, only microamps sleep current
* low power, only microamps sleep current
* battery connection
* battery connection
Line 34: Line 29:


== Software ==
== Software ==
The CubeCell hardware works with (an export of) the [https://github.com/LacunaSpace/basicmac basicmac] device stack from Lacuna Space, just needs a pinmap definition,
(see also https://www.thethingsnetwork.org/forum/t/heltec-cubecell-part-2/37225/72):
<pre>
const lmic_pinmap lmic_pins = {
    .nss = RADIO_NSS,
    .tx = LMIC_CONTROLLED_BY_DIO2,
    .rx = LMIC_UNUSED_PIN,
    .rst = RADIO_RESET,
    .dio = {LMIC_UNUSED_PIN, RADIO_DIO_1, LMIC_UNUSED_PIN},
    .busy = RADIO_BUSY,
    .tcxo = LMIC_CONTROLLED_BY_DIO3,
};
</pre>
Example code:
Example code:
* [https://github.com/HelTecAutomation/platform-asrmicro650x/blob/develop/examples/LoRa/LoRaWAN/LoRaWAN/src/LoRaWan.ino LoraWan example code]
* A basic working LoRaWAN platformio demo project is available at https://github.com/bertrik/cubecelldemo
* A basic platformio demo project is available at https://github.com/bertrik/cubecelldemo
* [https://github.com/HelTecAutomation/platform-asrmicro650x/blob/develop/examples/LoRa/LoRaWAN/LoRaWAN/src/LoRaWan.ino LoraWan example code] from Heltec (not recommended)
 
What I'd like to do for a LoraBatBox:
* register with OTAA (and remember the session keys)
* wake up when there is movement sensed by the PIR
* keep track of times when movement was detected (in wall-clock time)
* send activity (say) once per hour to TTN

Revision as of 08:37, 25 April 2021

Project CubeCell
Cubecell.png
Low-power LoRaWAN Board
Status In progress
Contact bertrik
Last Update 2021-04-25

Intro

This page is about the CubeCell board from heltec.org, aka HTCC-AB01

the github page for the Arduino code

What I'd like to investigate:

  • Does it have an RTC? YES, it appears so
  • --Can we run the arduino-lmic library on this? NO, probably not in the short term--
  • --Can we compile the code with platformio? YES--
  • Use this board for my LoraBatBox
  • Video review by Andreas Spiess

Hardware

Features:

  • based on an ASR605x (ARM cortex M0+ core) + SX1262 radio chip
  • low power, only microamps sleep current
  • battery connection
  • solar cell connection
  • pinout

Software

The CubeCell hardware works with (an export of) the basicmac device stack from Lacuna Space, just needs a pinmap definition, (see also https://www.thethingsnetwork.org/forum/t/heltec-cubecell-part-2/37225/72):

const lmic_pinmap lmic_pins = {
    .nss = RADIO_NSS,
    .tx = LMIC_CONTROLLED_BY_DIO2,
    .rx = LMIC_UNUSED_PIN,
    .rst = RADIO_RESET,
    .dio = {LMIC_UNUSED_PIN, RADIO_DIO_1, LMIC_UNUSED_PIN},
    .busy = RADIO_BUSY,
    .tcxo = LMIC_CONTROLLED_BY_DIO3,
};

Example code: