Heltec CubeCell - part 2

Heltec CubeCell Series 550x490

This is the main Heltec CubeCell topic.
For the previous part of this topic see: Heltec CubeCell - part 1

Heltec CubeCell Series is a product series consisting of LoRaWAN modules, development boards and sensor capsules. The HTCC-AM01 module is based on the ASR6501 and the HTCC-AM02 module is based on the ASR6502. The HTCC-AB01 board uses the HTCC-AM01 module. The newer ‘xx02’ development boards appear not to use a module but have the ASR650x directly mounted on the PCB.
The CubeCell products use very little power during deep sleep and are suitable for battery powered operation.

The ASR6501 and ASR6502 are SiP’s (system-in-package) that combine a Cypress PSoC 4000 ARM Cortex-M0+ 32 bits 48MHz MCU (with 16kB SRAM and 128kB flash) together with a Semtech SX1262 LoRa tranceiver in a single package.

The ASR6501 based products have limited available GPIO ports and no available SPI (SPI is used for the SX1262 LoRa tranceiver). The ASR6502 based products have more available GPIO ports, have a second I2C port and have an available SPI port (actually two SPI ports but one is used for the SX1262).

The CubeCell products have an integrated LoRaWAN stack (based on Semtech’s LoRaMac-node). It can be programmed via API and also via serial AT commands.

The CubeCell products support development with the Arduino framework. Sketches are uploaded via the serial port. The development boards have a USB port with USB-to-serial so sketches can be easily uploaded via USB. Uploading sketches to the sensor capsules requires a special adapter from Heltec.
In June 2020 supported for PlatformIO was added.

Heltec uses a custom CubeCell bootloader for ASR650x. Serial number and a license that enables Arduino support are stored in flash memory. Due to implementation thereof it is unfortunately not possible to use the ARM SWD interface for firmware upload and debugging (with J-Link or ST-Link).

The CubeCell development boards and sensor capsules come in different versions with different optional features like UFL/IPEX or SMA antenna connector, RGB LED, OLED display, battery holder, GPS and solar panel (connection).

Pinout diagrams and schematic diagrams can be found in the CubeCell documentation
(check under ‘Hardware Update Logs’ of a specific board).

Useful links:

Version V1.0.0 of the ASR650x-Arduino Arduino core has been released.

I’m using the capsule series and after alot of trial I got to use it with the code provided in the Arduino ide"lorawan mpu9250" code as I couldn’t merge the basic code were you assign the device eui etc and the mpu9250 code. While I can see the imu data "not entirely " correct in wasn configurator , in ttn I only see voltage payload and some wrong no IMU values eg{
“OW_01_temperature”: 3759.3,
“battery”: 3926
Mpu9250 has no temp sensor
I used the decoder provided and Cheyenne one to no avail.
Can someone guide me?

PlatformIO support is now available

Support for the ASR650x platform and CubeCell products has been added to PlatformIO. :+1:
(Current version v0.1.0)

Message from ivankravets (PlatformIO) on GitHub:

We’ve just published version 0.1.0 into our registry.

PlatformIO documentation for the ASR650x platform and CubeCell products.

Update 2020-06-19: Version 1.0.0 is now available.


@hunter8801 and others involved, thanks for adding PlatformIO support. :+1:

Are there any plans for adding debugging support (with J-Link/ST-Link) for PlatformIO in near future?

Is Heltec CubeCell going to change “Region AS923.c” to get TELEC?
Japan is largely left behind.

Currently the CubeCell platform.io still have some bug, and the documents is not detail enough, we are fixing it.

As far as I know, we have no plan to add the debug mode, which will overwrite the boot loader inside the internal FLASH and activation serial number.

Today my colleague is looking into the JP920-928 part in AS923. Sorry for my poor knowledge, what is TELEC means for LoRa/LoRaWAN?

CE, FCC, KCC certification and TELEC are the same.
AS923 in Japan requires TELEC.
It’s the worst.
As you can see from Murata’s I-CUBE-LRWAN library, Semtech’s “Region AS923.c” has been improved for TELEC.

“Dragino LoRa mini” with Arduino and TELEC is $100.
Therefore LoRa is not popular.

TELEC acquisition is over $5,000 when acquired in Japan.
It costs twice as much as getting it in China.
Best regards


Sorry for the late reply. We had talked your feedback at the weekly meeting on June 15th, not only AS923 for Japan is behind, many region need update and new version LoRaWAN protocol should be support.

Recently we are updating our LoRa gateway product line and the cloud server, we will make a major update for the CubeCell series source code after that.


I noticed that the version for PlatformIO support has bumped from 0.1.0 to 1.0.0.
Does this mean that the bugs you mentioned have also been fixed now?

Facing some issues with BME280 sensor in conjunction with CubeCell Devboard.

When the sensor is not connected everything seems to be working fine. No problems sending data to TTN every 5 minutes. However, when the BME280 is connected, it stops sending all together after 3 or 4 succesful transfers of data to TTN.

Only after a hard reset (on the board itself) or total power reset will it restart sending (joining goes fine). And then again, after 3 or 4 transfers it stops.

When the BME280 is disconnected everything seems to be working fine.

Board was flashed with latest FW version ( I believe). Using the WASN configurator to change the settings.

Additionally, the ‘Scanning for GPS’ functionality, I’m not able to stop that using the supplied AT commands. AT+GPS=0 is off… Right?? Tried both AT+GPS=0 and 1 but in both cases it keeps going off on GPS scanning.

Any ideas??

Hello everyone, I have had problems connecting the CubeCell HTCC AB-01 module to TTN and a UG87 Gateway. The UG87 Gateway is already connected to TTN, I even registered the module in TTN as well and the status indicator is on (green) but it does not send the messages, in TTN the messages that the node is sending do not appear. I use the LoRaWAN sample code given by the Arduino IDE (Examples for CubeCell HTCC AB-01 cards), from the code I only change the keys and assign the keys that TTN generates automatically. I upload the code to the module and it loads perfectly, but it doesn’t send the data. If I use the OTAA activation method on the Arduino IDE serial monitor it says “joining… join failed repeatedly, join again at 30s later” and if I use the ABP activation method it indicates “confirmed uplink sending…” repeatedly. This indicates that the node does not connect to TTN and does not send the information. What could I do about it?

What frequency plan are you using?

You may verify if the LoRaWAN keys and ID’s are provided in the correct byte order(s) as required by the CubeCell firmware.

Hello, I live in the city of Neiva (Colombia), both the Gateway and the CubeCell HTCC AB-01 module are in the US915 frequency band. I already verified that they were both in the same frequency band.

How do I verify it?
I verified that the keys that are in TTN and in the Arduino IDE code were the same, but I cannot get them to communicate.

Do you see join attempts in the gateway traffic?

Just wondering about the correct sub band also

keys are just msb format

When adding a device in TTN control (and in its properties) you can switch keys between msb and lsb format and then copy and paste them in source code.

Like @Paul_Stewart said CubeCell uses msb (most significant byte first) format for all keys and ID’s.

This is different from the LMIC library which requires part of them in lsb format and the others in msb format. If you are used to using the LMIC libray, you need to be aware that CubeCell uses msb format only. It’s easy to overlook and when the keys are in incorrect byte order in your source code, it won’t connect to TTN.

I’ve just received my CubeCell (HTCC-AB02) and tested the PlatformIO LowPower example and the LoraWan example and measured the power consumption with a Ruideng on the usb port. With both examples in deep sleep I got about 8 mAH power consumption but as I read the chip should only consume 9.6 uA in deep sleep with usb. What do I have to do to get the chip down to 9.6 uA?