CubeCell: Difference between revisions

From RevSpace
Jump to navigation Jump to search
Line 27: Line 27:
* solar cell connection
* solar cell connection
* [https://resource.heltec.cn/download/CubeCell/HTCC-AB01/HTCC-AB01_PinoutDiagram.pdf pinout]
* [https://resource.heltec.cn/download/CubeCell/HTCC-AB01/HTCC-AB01_PinoutDiagram.pdf 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 ==
== Software ==

Revision as of 14:40, 27 March 2022

Project CubeCell
Cubecell.png
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

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.