CubeCell
Project CubeCell | |
---|---|
Low-power LoRaWAN Board | |
Status | In progress |
Contact | bertrik |
Last Update | 2022-03-27 |
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
According to https://heltec.org/project/htcc-ab01/ this board has only 16 kB RAM, so things might get a bit tight. A basic LoRaWAN "hello world" example with the basicmac stack uses approximately 2336 bytes.
Software
Example code
- A basic working LoRaWAN platformio demo project is available at https://github.com/bertrik/cubecelldemo
- LoraWan example code from Heltec (not recommended)
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, };
Troubleshooting
Failure to initialize hardware
The SPI clock in the basic mac stack is configured by default to 10 MHz. Reducing this to 1 MHz makes it start much more reliably. This can be configured in hal.cpp , change:
static const SPISettings settings(10E6, MSBFIRST, SPI_MODE0);
into
static const SPISettings settings(1E6, MSBFIRST, SPI_MODE0);
Timing issues
The stack complains about event being out of order. These can be 'fixed' by configuring DCFG_rxrampup to some high number, e.g. 10000
Still, I'm seeing trouble to have joins succeed in the first try. When it does succeed, it's usually already up to SF11.