The latest post mention was on 2021-02-20. Brooks from Hoston Rocket!!! Heltec-Aaron-Lee has 6 repositories available. At this moment I have 2 Heltec modules but I plan to buy more to enhance my project (maybe V2). 0 where there is a issue with Sport telemetry output. 7 KB) Elecrow ESP-WROOM-32. The CubeCell products are based on the ASR650x series SiP (system-in-package) which 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 CubeCell modules have an integrated LoRaWAN stack (based on Semtech’s LoRaMac-node).

Heltec Cubecell HTCC AB01 Arduino Guide

Introduction to Guide

Before we begin, please make sure you've followed the steps from this guide,which goes over some initial setup steps.

Objective and Requirements

In this guide, you will learn:

  • How to setup your environment
  • How to program a basic application that will send packets over the HeliumNetwork
  • Verify real-time packets sent to the Helium Console via Hotspot that's inrange

For this example, you will need the following:

Hardware

  • Micro USB Type B Cable -Example

Software

Hardware Setup

Adding the Antenna

Your board should have come with a U.FL antenna. All you have to do is attacheit to the U.FL port as shown in the image at the top of the guide.

Connect Board

Next, lets connect our board to our computer with a USB 2.0 A-Male to Micro Bcable.

Software Setup

Getting the Arduino IDE

Download and install the latest version ofArduino IDE for your preferred OS.

  • ​Windows​
  • ​Linux​
  • ​Mac OSX​

Arduino Board Support

The Heltec CubeCell Board requires one Arduino board support package. Follow theinstructions below to install.

Mac

CubeCell Dev-boards

To install, open your Arduino IDE:

  1. Navigate to (File > Preferences), (Arduino > Preferences) onMacOS.
  2. Find the section at the bottom called Additional Boards Manager URLs:
  1. Add this URL in the text box:
  1. Close the Preferences windows

Next, to install this board support package:

  1. Navigate to (Tools > Boards > Boards Manager...)
  2. Search for CubeCell Dev-boards
  3. Select the newest version and click Install

Manual updates to the Heltec runtime libraries

Some versions of Heltec's runtime libraries have set default configurationvariables to values that are incompatible with the Helium network, especiallywhen the Heltec device is configured targeting the North American market.

The following discusses two Heltec runtime files that must be inspected toensure compatiblity. The exact location of these files will depend on whichoperating system you are using, Windows, Linux, or Mac as well as where theArduino IDE is installed.

The typical top level locations of the runtime libraries is shown below for eachoperating system. From there the following discussions will present to you thefile locations within these top level directories/folders. Please note theHeltec library version numbers are expected to change as time goes on.

XXXXX denotes your specfic user id.

Arduino IDE library location
  • Windows
  • Linux
  • Mac

Verify LoRaWAN Data Rate

Within an editor of your choice open the file path formed by prepending theabove described platform specific top level directory structure to the followingfile:

Within this file look for

Depending on the version of the Heltec runtime that is installed this defaultmay be set to DR_0, DR_3, DR_5 or some other value. Note: DR_5 is not valid forUS915, the North American market.

The defaultDrForNoAdr setting is tied directly to the maximum size of the datapacket you are transferring.

NOTE: If you try to transfer a packet that is larger than this setting allows,your device may successfully join the network but the data transmit will failsilently.

Data Rate (DR)Max Application Payload
DR_011 bytes
DR_153 bytes
DR_2125 bytes
DR_3242 bytes
DR_4242 bytes
DR_5 - 7Not Valid

Update the defaultDrForNoAdr as appropriate for your application needs.

The above values are valid for the US902-928MHz region(North America), thevalues may differ for other LoRa regions, which you can findhere.

Dynamic Data Rate Change

If your application needs to change the current uplink data rate dynamically andAdaptive Data Rate (ADR) is not enabled, one can call the

Cube Cell Mac Os X

API within your sketch. If you do call this API it must be called after theLoRaWAN.init() within your sketch for the change to be effective.

LoRaWAN preamble size

There are some versions of the Heltec runtime libraries that may set a LoRaWANpreamble size that is incompatible with the current LoRaWan specification. Ifthe preamble size is not set correctly your device cannot join the network.

This should be verified in the region specific file corresponding to the regionyour device is targeting. Be sure to prepend the above described platformspecific top level directory structure.

The following is the file that must be checked if targeting region US915. Withinan editor of your choice open the file path formed by prepending the abovedescribed platform specific top level directory structure to the following file:

Within this file locate the line below, the 7th parameter which might be 14should be changed to either 8 or 16. Either value will work. Earlier versions ofthe runtime may have this value set to 14 which is 'not' correct.

Change:

To:

Heltec support has been notified of these issues, hopefully a future release ofthose libs will resolve the issues.

Install Serial Driver

Find Directions on Heltec's websitehere.

Set Project Configuration Options

The following options are set via the Arduino IDE Tools menu:

Select Board

If you are using the HTCC-AB02 flavor of Heltec board

  • Select Tools -> Board: ->CubeCell-Board (HTCC-AB02)

If you are using the HTCC-AB02S GPS enabled flavor of Heltec board

  • Select Tools -> Board: ->CubeCell-GPS (HTCC-AB02S)

Select LoraWAN Configuration Options

Arduino IDE: Until you are familiar with their configuration behavior it isrecommended you set the board options as follows:

  • Select Tools -> LORAWAN_REGION: -> REGION_US915
  • Select Tools -> LORAWAN_CLASS: -> CLASS_A
  • Select Tools -> LORAWAN_NETMODE: -> OTTA
  • Select Tools -> LORAWAN_ADR: -> OFF
  • Select Tools -> LORAWAN_UPLINKMODE: -> UNCONFIRMED
  • Select Tools -> LORAWAN_Net_Reservation: -> OFF
  • Select Tools -> LORAWAN_AT_SUPPORT: -> OFF
  • Select Tools -> LORAWAN_AT_RGB : -> ACTIVE
  • Select Tools -> LoRaWan_ Debug Level : -> FREQ&&DIO (for most verbosemessages)

Programming Example Sketch

Now that we have the required Arduino board support and library installed, letsprogram the board with the provided example sketch.

To create a new Arduino sketch, open your Arduino IDE, (File > New).Next, replace the template sketch with the sketch foundhere,copy and paste the entirety of it.

Next we'll need to fill in the AppEUI(msb), DevEUI(msb), and AppKey(msb),in the sketch, which you can find on the device details page on Console. Be sureto use the formatting buttons to match the endianess and formatting required forthe sketch, shown below.

)

At the top of the sketch, replace the three FILL_ME_IN fields, with thematching field from Console, example shown below.

Upload Sketch

We're finally ready to upload our sketch to the board. In the Arduino IDE, clickthe right arrow button, or navigate to (Sketch > Upload), to build andupload your new firmware to the board. You should see something similar to theimage below at the bottom of your Arduino IDE, when the upload is successful.

)

Using HTCC-AB02S Board With GPS Capable Sketch

If you are using the HTCC-AB02S board with a sketch that is GPS enabled but findthe device is unable to obtain a GPS lock you can try changing the GPS datasatellite source via the GPS class Air530.setMode() API. Add theAir530.setmode() to the setup() method of your sketch.

Patching ADR Functionality

The CubeCell may have issues joining the network with ADR OFF. If you're usingADR ON, you may also encounter an issue where your CubeCell stops successfullysending packets after a few minutes. This is caused by the CubeCell firmware'sADR behavior, and may happen if your payload is above the DR0 maximum size (11bytes).

To patch the CubeCell firmware, find and open the RegionUS915.c file in thefirmware directory. On macOS, an example path would be~/Library/Arduino15/packages/CubeCell/hardware/CubeCell/1.0.0/cores/asr650x/loramac/mac/region/RegionUS915.c.

Find the following lines in the file and comment them out:

Cube Cell Mac Os 11

This will prevent the CubeCell from reducing the Data Rate over time and allowyou to send larger packets on a repeated, prolonged basis.

Viewing Serial Output

When your firmware update completes, the board will reset, and begin by joiningthe network. Let's use the Serial Monitor in the Arduino IDE to view the outputfrom the board. We first need to select the serial port again, but this time itwill be a different port than the one we selected to communicate with thebootloader. Once again, navigate to (Tools > Port: COM#/ttyACM#), butmake sure the serial device, either COM# or ttyACM#, is different! Nextnavigate to (Tools > Serial Monitor), you should begin to see outputsimilar to below.

Cube Cell Mac Os Download

)

Now let's head back to Helium Console and look atour device page, you should see something similar to the screenshot below.

Congratulations! You have just transmitted data on the Helium network! The nextstep is to learn how to use your device data to build applications, visit ourIntegrations docs here.