Git Product home page Git Product logo

heltec_esp32's Introduction

Heltec_ESP32 Library

English | 简体中文

This library requires installation of the Heltec ESP32 development framework! A detailed document about how to install the Heltec ESP32 development framework and this library available here:

Heltec ESP32+LoRa Series Quick Start — esp32 latest documentation

CONTENT

  1. How to install this library

  2. How to use this library

  3. API Reference

  4. Relevant Resources


How to install this library

We recommend using the Arduino library manager, it's the simplest way

Use Arduino Library Manager

Open Arduino IDE, then Select Sketch->Include Library->Manage Libraries... Search Heltec ESP32 and install it. image

 

image

Use Git

Firstly, make sure git and the Arduino IDE have been installed first. If not, please refer How to install Git and Arduino IDE. When Arduino is installed correctly, you will find a folder in "Username/Documents/Arduino/Library". this library must in this path!

Open "Git bash" in path Username/Documents/Arduino/Library, and input:

git clone https://github.com/HelTecAutomation/Heltec_ESP32.git

You will see such a new folder in your library path, install done.

image

How to use this library

This library requires the Heltec ESP32 develop framework!

A detailed step by step instructions to execute some examples available here:

Heltec ESP32+LoRa Series Quick Start — esp32 latest documentation

API Reference

OLED API

LoRa API

Relevant Resources

If there is a "Limited" folder in the resources page, it means the product have limited resources that not public by default, refer to this document to download: Get Limited Technical Resources.

Note:

Please make sure use a high-quality Micro USB cable, it will reduce many problems.

Summary of common problems

 



 

简体中文

这个Arduino库必须配合Heltec ESP32编译环境一起使用!完整的“编译环境 + 库”的的教程可以参考这里:

Heltec ESP32+LoRa Series Quick Start — esp32 latest documentation


目录

  1. 安装方法

  2. 怎样使用这个库

  3. API参考

  4. 相关资源


安装方法

强烈推荐使用Arduino自带的“库管理器”进行安装!

通过Arduino库管理器安装

打开Arduino IDE, 选择项目->加载库->管理库...,打开“库管理器” 搜索Heltec ESP32并安装. image

 

image

通过Git进行安装

*首先,请确保GitArduino IDE都已经正确安装。如果没有,请参考这里的安装方法怎样安装Git和Arduino IDE。 *

强调一下:这个库的路径必须位于操作系统的“文档/Arduino/libraries”文件夹内!!!文档文件夹是操作系统自带的,必须!必须!必须!

在“文档/Arduino/libraries”路径下打开"Git bash",输入:

git clone https://github.com/HelTecAutomation/Heltec_ESP32.git

如果一切正常,应该是这样的

image

怎样使用这个库

如何运行一个例程?详细的使用指南::

Heltec ESP32+LoRa Series Quick Start — esp32 latest documentation

API参考

OLED API

LoRa API

相关资源

如果在资源下载页中看到了Limited文件夹,表面这个产品有非公开的技术资料。获取受限资源的方法

heltec_esp32's People

Contributors

bei-ji-quan avatar cyrusbowman avatar destinyfxxker avatar fabaff avatar heltec-aaron-lee avatar inokinoki avatar isaacamante avatar ivankravets avatar jake-jensen avatar joyel24 avatar kohlschuetter avatar kyraminol avatar leommxj avatar lxyzn avatar mrarm avatar mrbluestsky avatar murphyengineering avatar nrhint avatar per1234 avatar platypii avatar quency-d avatar richardheltec avatar rickwargo avatar shimniok avatar silviogarbes avatar wangxiangwangeuse avatar wilomd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

heltec_esp32's Issues

LoRa Air data rate

How can we set or read the LoRa air data rate? Which is the default value?
I am trying to make it communicate with an EBYTE 868T30D but air data rates must match in order to work.

LoRa and display APIs (and likely others) unnecessarily incompatible with ESP32-based boards?

Duplicating this issue from the Cubecell Repo's page, as it is applicable to both the CubeCell boards and ESP32 Boards:

See the original post here: HelTecAutomation/CubeCell-Arduino#115

"I was initially using a Wifi LoRa 32 V2 board for a project, before deciding to switch to the Cubecell GPS module instead, as GPS is more valuable to the project. I expected it to be a close-to-drop-in replacement, however the code seems to be closely related, yet inexplicably quite different, making transitioning between modules harder than it needs to be.

For example, why do ESP32 boards use the sytax Heltec.display->init(); Heltec.display->clear(); etc, while the Cubecell boards use display.init(); display.clear(); for the same purpose?

And similarly, why is the LoRa setup so different between them, with ESP32 able to use LoRa.beginPacket(); LoRa.print("message"); LoRa.endPacket();, while Cubecell needs Radio.Send( (uint8_t *)"message", strlen("message") );?

Is there any reason these APIs are so different and incompatible, or any plans to unify them for more consistency and usability between your products?"

Compile Error: SSD1306SimpleDemo.ino

I tried to compile the file: SSD1306SimpleDemo.ino
in Arduino IDE, but it shows a compile error:

`Arduino: 1.8.13 (Linux), Board: "Heltec WiFi Kit 32, Disabled, Default, 240MHz (WiFi/BT), QIO, 40MHz, 4MB (32Mb), 921600, None"

In function 'void drawImageDemo()':
oled_ESP32:118:37: error: 'WiFi_Logo_width' was not declared in this scope
Heltec.display->drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
^
oled_ESP32:118:54: error: 'WiFi_Logo_height' was not declared in this scope
Heltec.display->drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
^
oled_ESP32:118:72: error: 'WiFi_Logo_bits' was not declared in this scope
Heltec.display->drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
^
exit status 1
'WiFi_Logo_width' was not declared in this scope
`

OLED_rotate.ino compile error

Arduino: 1.8.13 (Linux), Board: "Heltec WiFi Kit 32, Disabled, Default, 240MHz (WiFi/BT), QIO, 40MHz, 4MB (32Mb), 921600, None"

/home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino: In function 'void setup()':
oled_ESP32:33:11: error: 'class SSD1306Wire' has no member named 'screenRotate'
display.screenRotate(ANGLE_0_DEGREE);
^
oled_ESP32:33:24: error: 'ANGLE_0_DEGREE' was not declared in this scope
display.screenRotate(ANGLE_0_DEGREE);
^
oled_ESP32:41:11: error: 'class SSD1306Wire' has no member named 'screenRotate'
display.screenRotate(ANGLE_90_DEGREE);
^
oled_ESP32:41:24: error: 'ANGLE_90_DEGREE' was not declared in this scope
display.screenRotate(ANGLE_90_DEGREE);
^
oled_ESP32:49:11: error: 'class SSD1306Wire' has no member named 'screenRotate'
display.screenRotate(ANGLE_180_DEGREE);
^
oled_ESP32:49:24: error: 'ANGLE_180_DEGREE' was not declared in this scope
display.screenRotate(ANGLE_180_DEGREE);
^
oled_ESP32:57:11: error: 'class SSD1306Wire' has no member named 'screenRotate'
display.screenRotate(ANGLE_270_DEGREE);
^
oled_ESP32:57:24: error: 'ANGLE_270_DEGREE' was not declared in this scope
display.screenRotate(ANGLE_270_DEGREE);
^
exit status 1
'class SSD1306Wire' has no member named 'screenRotate'

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Esp32 Lora WiFi - receive not working for example programs

I have bought two Heltec ESP 32 Lora V2 boards. When I try the example programs, WiFi_LoRa32_factory test, and LoRa_sender, LoRa_Receiver, the receive Operation fails - no data is received. The factory test program stops after displaying „packet 0 sent“

If I use a different library, from Sandee Mistry, https://github.com/sandeepmistry, the receive function works nicely.

This is happening on the latest Arduino IDE as well as on PlatformIO, also latest version.

I am obviously overlooking something - but cannot find what I‘m doing wrong

WIFI_Kit_32_FactoryTest.ino: Compile Error

Arduino: 1.8.13 (Linux), Board: "Heltec WiFi Kit 32, Disabled, Default, 240MHz (WiFi/BT), QIO, 40MHz, 4MB (32Mb), 921600, None"

In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0:
images.h:31:3: error: stray '\302' in program

<title>Heltec_ESP32/images.h at master · HelTecAutomation/Heltec_ESP32</title> ^ images.h:31:3: error: stray '\267' in program In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:159:5: error: missing terminating ' character ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:206:7: error: stray '\342' in program ^ images.h:206:7: error: stray '\206' in program images.h:206:7: error: stray '\265' in program images.h:211:7: error: stray '\342' in program ^ images.h:211:7: error: stray '\206' in program images.h:211:7: error: stray '\265' in program In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:247:7: error: stray '\342' in program ^ images.h:247:7: error: stray '\206' in program images.h:247:7: error: stray '\265' in program images.h:252:7: error: stray '\342' in program ^ images.h:252:7: error: stray '\206' in program images.h:252:7: error: stray '\265' in program In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:279:7: error: stray '\342' in program ^ images.h:279:7: error: stray '\206' in program images.h:279:7: error: stray '\265' in program images.h:284:7: error: stray '\342' in program ^ images.h:284:7: error: stray '\206' in program images.h:284:7: error: stray '\265' in program images.h:328:5: error: missing terminating ' character ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:438:9: error: missing terminating " character
^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:497:27: error: stray '\360' in program 🌴 ^ images.h:497:27: error: stray '\237' in program images.h:497:27: error: stray '\214' in program images.h:497:27: error: stray '\264' in program images.h:505:27: error: stray '\360' in program 🤒 ^ images.h:505:27: error: stray '\237' in program images.h:505:27: error: stray '\244' in program images.h:505:27: error: stray '\222' in program images.h:515:27: error: stray '\360' in program 🏠 ^ images.h:515:27: error: stray '\237' in program images.h:515:27: error: stray '\217' in program images.h:515:27: error: stray '\240' in program images.h:523:27: error: stray '\360' in program 🎯 ^ images.h:523:27: error: stray '\237' in program images.h:523:27: error: stray '\216' in program images.h:523:27: error: stray '\257' in program In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:650:5: error: missing terminating ' character ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:713:11: error: stray '\342' in program Using the Hello World guide, you’ll start a branch, write comments, and open a pull request. ^ images.h:713:11: error: stray '\200' in program images.h:713:11: error: stray '\231' in program In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:717:5: error: missing terminating ' character ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:776:82: error: stray '@' in program Be notified only when participating or @mentioned. ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:788:98: error: stray '@' in program Be notified of new releases, and when participating or @mentioned. ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:854:13: error: missing terminating ' character ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:1063:5: error: missing terminating " character
^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:1090:11: error: missing terminating ' character ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:1096:11: error: missing terminating ' character ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:1112:69: error: stray '#' in program #ifndef IMAGES_H ^ images.h:1116:69: error: stray '#' in program #define IMAGES_H ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:1125:69: error: stray '#' in program #define logo_width 128 ^ images.h:1129:69: error: stray '#' in program #define logo_height 53 ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:1521:71: error: stray '#' in program #endif ^ images.h:1557:7: error: missing terminating ' character ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:1610:5: error: stray '\342' in program You can’t perform that action at this time. ^ images.h:1610:5: error: stray '\200' in program images.h:1610:5: error: stray '\231' in program images.h:1694:15: error: missing terminating ' character

We use essential cookies to perform essential website functions, e.g. they're used to log you in. ^ images.h:1706:15: error: missing terminating ' character

We use analytics cookies to understand how you use our websites so we can make them better, e.g. they're used to gather information about the pages you visit and how many clicks you need to accomplish a task. ^ In file included from /home/obri/Arduino/projekte/oled_ESP32/oled_ESP32.ino:25:0: images.h:6:1: error: expected unqualified-id before '<' token ^ Mehrere Bibliotheken wurden für "WiFi.h" gefunden Benutzt: /home/obri/.arduino15/packages/esp32/hardware/esp32/1.0.4/libraries/WiFi Nicht benutzt: /home/obri/Software/Arduino/arduino-1.8.13/libraries/WiFi exit status 1 stray '\302' in program

How to use this library in another library

This is more a question than an issue. The library is fine and I'd like to use it inside a library I am currently working on.
How can I pass the reference of the instance of the user's display (declared in the ino file) to my library's methods, and thus display text or graphics? How can I call your library's methods inside my library?
Thanks for your help.

No member named 'LoRa' - LoRaSender example

Hi,

I tried to run LoRaSender exemple from "Examples/Heltec ESP32 Dev-Boards/LoRa" and it shows me an error:

/Users/Quentin/Documents/Arduino/libraries/Heltec_ESP32_Dev-Boards/examples/LoRa/LoRaSender/LoRaSender.ino: In function 'void loop()':
LoRaSender:28: error: 'class Heltec_ESP32' has no member named 'LoRa'
   Heltec.LoRa.beginPacket();
          ^
LoRaSender:29: error: 'class Heltec_ESP32' has no member named 'LoRa'
   Heltec.LoRa.print("hello ");
          ^
LoRaSender:30: error: 'class Heltec_ESP32' has no member named 'LoRa'
   Heltec.LoRa.print(counter);
          ^
LoRaSender:31: error: 'class Heltec_ESP32' has no member named 'LoRa'
   Heltec.LoRa.endPacket();
          ^
exit status 1
'class Heltec_ESP32' has no member named 'LoRa'

Is something missing on heltec.h?

Best regards,

Quentin

Way too low RSSI

Two Heltec ESP32 LoRa boards,

  • RSSI -19 when both antennae are placed touching each other parallel,
  • 1cm distance placed parallel RSSI -31,
  • 15cm distance placed parallel RSSI -51.

Is this problem with the board or do I need a different library?

Things I tried:

  • Different library
  • Different band
  • Checked antenna

OLED screen display isue

Heltec_ESP32_ScreenIssue
Brand new out of box ESP32 programmed with "SSD1306UiDemo". Initially discovered issue with another ESP32 I have on a breadboards with an RTC and SD card attached (which was using the i2c bus 0, which is also used for the OLED). To make sure it wasn't my dodgy wiring or something to do with me using the i2c I tried a fresh out-the box unit (pins not even soldered on and never used for anything else) and had same issue with the demo (didnt try my software, just straight in with the demo). Before the demo the screen worked OK so I assumed might be a corrupted library.
I then tried a completely fresh install of the whole of IDE (manually deleted files, registry, reboot computer then re-install IDE) with no success.
Please help!
Arduino 1.8.12
Heltec ESP32 Dev-Boards Library 1.0.9 (tried rollback to 1.0.8 with no success)
Heltec EXP32 Seried Dev-boards V0.0.4
Description of symptoms; screen runs but only displays in middle third of bottom half of the display, with starry night effect on the same rows as where the images are displayed. top half of the screen completely dead. Cannot be a hardware issue as tried with BNIB Heltec ESP32

Question: New release

Hi All,

Do you guys have any idea when a new release of this library will be tagged? If not is the current master branch usable as far as you know?

Can join, but not re-join LoRaWAN network

In a nutshell, my issue is that I got the device to join the LoRaWAN network once, and was able to stay connected until I reset/power cycled the device, at which point it was unable to join again., and remains that way.

Using Heltec Wireless Stick Lite, with TTN and TTN gateway (https://www.amazon.com/Things-Indoor-LoRaWAN-Gateway-SX1308/dp/B08L6BWNJR/ref=sr_1_3?dchild=1&keywords=lorawan+gateway&qid=1614294187&sr=8-3).

Using the ESP32_LoRaWAN OTAA example, with the only thing changed is Class A -> Class C to make sure the device is not missing any packets while asleep in A mode. All other settings are default, except for Freq && DIO && PW LoRa logging, and Core Debug Level: Error set.

Below is the sketch I'm using, a screenshot of my TTN panel to show that things are correctly set up, and serial output on the device showing traffic and failure to join messages.

/*
 * HelTec Automation(TM) LoRaWAN 1.0.2 OTAA example use OTAA, CLASS A
 *
 * Function summary:
 *
 * - use internal RTC(150KHz);
 *
 * - Include stop mode and deep sleep mode;
 *
 * - 15S data send cycle;
 *
 * - Informations output via serial(115200);
 *
 * - Only ESP32 + LoRa series boards can use this library, need a license
 *   to make the code run(check you license here: http://www.heltec.cn/search/);
 *
 * You can change some definition in "Commissioning.h" and "LoRaMac-definitions.h"
 *
 * HelTec AutoMation, Chengdu, China.
 * 成都惠利特自动化科技有限公司
 * https://heltec.org
 * [email protected]
 *
 *this project also release in GitHub:
 *https://github.com/HelTecAutomation/ESP32_LoRaWAN
*/

#include <ESP32_LoRaWAN.h>
#include "Arduino.h"

/*license for Heltec ESP32 LoRaWan, quary your ChipID relevant license: http://resource.heltec.cn/search */
uint32_t  license[4] = {0x06309046,0x8D56EEF8,0xEA59B397,0x891F4E72};

/* OTAA para*/
uint8_t DevEui[] = { 0x00, 0xF5, 0xBA, 0x35, 0x65, 0x04, 0x0A, 0x72 };
uint8_t AppEui[] = { 0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x03, 0xE4, 0x02 };
uint8_t AppKey[] = { 0x0C, 0x8B, 0xA5, 0xE1, 0xB2, 0x56, 0x73, 0xDB, 0x03, 0x79, 0x12, 0x7C, 0xD7, 0xE9, 0x8E, 0x5A };

/* ABP para*/
uint8_t NwkSKey[] = { 0x15, 0xb1, 0xd0, 0xef, 0xa4, 0x63, 0xdf, 0xbe, 0x3d, 0x11, 0x18, 0x1e, 0x1e, 0xc7, 0xda,0x85 };
uint8_t AppSKey[] = { 0xd7, 0x2c, 0x78, 0x75, 0x8c, 0xdc, 0xca, 0xbf, 0x55, 0xee, 0x4a, 0x77, 0x8d, 0x16, 0xef,0x67 };
uint32_t DevAddr =  ( uint32_t )0x007e6ae1;

/*LoraWan channelsmask, default channels 0-7*/ 
uint16_t userChannelsMask[6]={ 0x00FF,0x0000,0x0000,0x0000,0x0000,0x0000 };

/*LoraWan Class, Class A and Class C are supported*/
DeviceClass_t  loraWanClass = CLASS_C;

/*the application data transmission duty cycle.  value in [ms].*/
uint32_t appTxDutyCycle = 15000;

/*OTAA or ABP*/
bool overTheAirActivation = true;

/*ADR enable*/
bool loraWanAdr = true;

/* Indicates if the node is sending confirmed or unconfirmed messages */
bool isTxConfirmed = true;

/* Application port */
uint8_t appPort = 2;

/*!
* Number of trials to transmit the frame, if the LoRaMAC layer did not
* receive an acknowledgment. The MAC performs a datarate adaptation,
* according to the LoRaWAN Specification V1.0.2, chapter 18.4, according
* to the following table:
*
* Transmission nb | Data Rate
* ----------------|-----------
* 1 (first)       | DR
* 2               | DR
* 3               | max(DR-1,0)
* 4               | max(DR-1,0)
* 5               | max(DR-2,0)
* 6               | max(DR-2,0)
* 7               | max(DR-3,0)
* 8               | max(DR-3,0)
*
* Note, that if NbTrials is set to 1 or 2, the MAC will not decrease
* the datarate, in case the LoRaMAC layer did not receive an acknowledgment
*/
uint8_t confirmedNbTrials = 8;

/*LoraWan debug level, select in arduino IDE tools.
* None : print basic info.
* Freq : print Tx and Rx freq, DR info.
* Freq && DIO : print Tx and Rx freq, DR, DIO0 interrupt and DIO1 interrupt info.
* Freq && DIO && PW: print Tx and Rx freq, DR, DIO0 interrupt, DIO1 interrupt and MCU deepsleep info.
*/
uint8_t debugLevel = LoRaWAN_DEBUG_LEVEL;

/*LoraWan region, select in arduino IDE tools*/
LoRaMacRegion_t loraWanRegion = ACTIVE_REGION;

static void prepareTxFrame( uint8_t port )
{
    appDataSize = 4;//AppDataSize max value is 64
    appData[0] = 0x00;
    appData[1] = 0x01;
    appData[2] = 0x02;
    appData[3] = 0x03;
}

// Add your initialization code here
void setup()
{
  Serial.begin(115200);
  while (!Serial);
  SPI.begin(SCK,MISO,MOSI,SS);
  Mcu.init(SS,RST_LoRa,DIO0,DIO1,license);
  deviceState = DEVICE_STATE_INIT;
}

// The loop function is called in an endless loop
void loop()
{
  switch( deviceState )
  {
    case DEVICE_STATE_INIT:
    {
      LoRaWAN.init(loraWanClass,loraWanRegion);
      break;
    }
    case DEVICE_STATE_JOIN:
    {
      LoRaWAN.join();
      break;
    }
    case DEVICE_STATE_SEND:
    {
      prepareTxFrame( appPort );
      LoRaWAN.send(loraWanClass);
      deviceState = DEVICE_STATE_CYCLE;
      break;
    }
    case DEVICE_STATE_CYCLE:
    {
      // Schedule next packet transmission
      txDutyCycleTime = appTxDutyCycle + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
      LoRaWAN.cycle(txDutyCycleTime);
      deviceState = DEVICE_STATE_SLEEP;
      break;
    }
    case DEVICE_STATE_SLEEP:
    {
      LoRaWAN.sleep(loraWanClass,debugLevel);
      break;
    }
    default:
    {
      deviceState = DEVICE_STATE_INIT;
      break;
    }
  }
}

image

image

TX on freq 903000000 Hz at DR 4
DIO0:TX Done
RX on freq 923300000 Hz at DR 8
RX on freq 923300000 Hz at DR 13
DIO1:RX Timeout
RX on freq 923300000 Hz at DR 8
TX on freq 902900000 Hz at DR 0
DIO0:TX Done
RX on freq 923300000 Hz at DR 8
RX on freq 925100000 Hz at DR 10
DIO1:RX Timeout
RX on freq 923300000 Hz at DR 8
join failed, rejoin at 30000 ms later

Outdated links in repo !!

Hi

Is that repo still maintained ?? Numerous links are just 404 !!

http://docs.heltec.cn/#/en/user_manual/how_to_install_esp32_Arduino?id=_1-execute-a-example-likes-factorytestino

Detailed tuto for an example that would be very useful: 404 !

https://heltec.org/summary-of-common-problems-in-wifi-kit-series-continuous-update/

Summary of common problems: 404 !

And Chinese version is same :(

Code is poorly written (reference at AzurIoT library in module that is no more there !) and no way to compile it unless having followed the only tutorial that I could find 👎

Someone succeeds to use these Heltec products or it's just a nightmare ?

Vincèn

Can´t receive messages with a higher SF than 9

Hey, I bought 2 Heltec esp 32 v2. I try to send and receive messages with a higher sf than 9. It cant receive a message. But works for sf <=9(7, 8 and 9). I used your example "Spreading" too. Could you say how to fix it? Thank you!

Wifi Kit 32 display flickering when using I2C

Hi,
I'm using a RTC DS3231 with Wifi Kit 32 on Pins 21 and 22. After powering on the display on Wifi Kit 32 starts flickering and seems to be much darker as without the RTC.
Maybe the OLED interferes with the RTC on the same I2C. The library for the RTC is by Adafruit and it seems that you can't switch the Pins for Wire in the library (or I can't do it) https://github.com/adafruit/RTClib

How can I2C1 be used in this case or is there another solution?

error: 'Vext' was not declared in this scope

Board: HTIT-WB32
PlatformIO: version 3.6.4
CLion: 2019.1 EAP
OS: fedora 29

Steps to reproduce:

platformio.ini

[env:heltec_wifi_kit_32]
platform = espressif32
board = heltec_wifi_kit_32
framework = arduino

lib_deps =
    Heltec ESP32 Dev-Boards

src/main.cpp

#include "heltec.h"

void setup() {
    Heltec.display->init();
    Heltec.display->flipScreenVertically();
    Heltec.display->setFont(ArialMT_Plain_10);
    Heltec.display->drawString(0, 0, "Hello dude!");
}

void loop() {
}

on build I've got this error:

Indexing .pioenvs/heltec_wifi_kit_32/lib3a1/libWire.a
Compiling .pioenvs/heltec_wifi_kit_32/FrameworkArduino/IPAddress.cpp.o
.piolibdeps/Heltec ESP32 Dev-Boards_ID6051/src/heltec.cpp: In member function 'void Heltec_ESP32::VextON()':
.piolibdeps/Heltec ESP32 Dev-Boards_ID6051/src/heltec.cpp:91:10: error: 'Vext' was not declared in this scope
pinMode(Vext,OUTPUT);
^
.piolibdeps/Heltec ESP32 Dev-Boards_ID6051/src/heltec.cpp: In member function 'void Heltec_ESP32::VextOFF()':
.piolibdeps/Heltec ESP32 Dev-Boards_ID6051/src/heltec.cpp:97:10: error: 'Vext' was not declared in this scope
pinMode(Vext,OUTPUT);
^
Compiling .pioenvs/heltec_wifi_kit_32/FrameworkArduino/IPv6Address.cpp.o
*** [.pioenvs/heltec_wifi_kit_32/libafc/Heltec ESP32 Dev-Boards_ID6051/heltec.cpp.o] Error 1
========================== [ERROR] Took 1.93 seconds ==========================
gmake[3]: *** [CMakeFiles/PLATFORMIO_BUILD.dir/build.make:57: CMakeFiles/PLATFORMIO_BUILD] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:221: CMakeFiles/PLATFORMIO_BUILD.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:233: CMakeFiles/PLATFORMIO_BUILD.dir/rule] Error 2
gmake: *** [Makefile:170: PLATFORMIO_BUILD] Error 2

[U8x8lib] oled problem

Hi everyone,
i want to use the monitor on the board to display some informations.

With this simple code, the esp32 crash:

#include <U8x8lib.h>

U8X8_SSD1306_128X64_NONAME_SW_I2C display(/*rst*/ 16, /*scl*/ 15, /*sda*/ 4);

void setup() {
  display.begin();
  delay(500);
}

void loop() {
  display.drawString(0, 0, "Starting");
  delay(1000);
}

This is the error:

Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC      : 0x400d0ff8  PS      : 0x00060d30  A0      : 0x800d105c  A1      : 0x3ffb1f40  
A2      : 0x00000000  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x3f400020  
A6      : 0x0000fffe  A7      : 0x3ffbfcc0  A8      : 0x8008adf6  A9      : 0x3ffb1f20  
A10     : 0x00000001  A11     : 0x00000410  A12     : 0x00000001  A13     : 0x00000001  
A14     : 0x00060f20  A15     : 0x00000000  SAR     : 0x00000011  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000002  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  

Backtrace: 0x400d0ff8:0x3ffb1f40 0x400d1059:0x3ffb1f70 0x400d0d4f:0x3ffb1f90 0x400d2755:0x3ffb1fb0 0x4008919d:0x3ffb1fd0

EDIT thx @stefkpl
Screen Shot 2019-03-28 at 21 26 51

FactoryTest for Lora 32 v2 doesn't work.

I have two Lora V2 boards. They do work with some sketches but the factory ping pong test does not work. The factory test DID work out of the box, but once flashed with the example code here, both boards fail to receive any packets. They send the packets but do not receive.

Cubecell to Lora V2

I am trying to have the ESP Lora V2 receive messages from cubecells and can't get them to work. Is there a new library for them?

Monitor VBAT on ESP32

Using the example code, VBAT is reported as 9214mV

This is with the 1000mAh lion battery attached (usb removed when battery connected).

My board is the ESP32 WIFI KIT 32

Receive HEX data over LORA

Hello,
Hope you are doing Great today!
I contact you to request Help regarding an issue to receive HEX values in receiver node.

I use 02 Heltec SX1278 Esp32 nodes. One is used to send a float value to receiver node.

The problem that, i'm able to send float values over LORA in HEX Encode like this .

typedef struct sensorData_t{
  float d0;
};

typedef union packData_t{
  sensorData_t data;
  byte data_buffer[sizeof(sensorData_t)];
};

packData_t info;

void loop()
{
info.data.d0 = 6683.00 ;   // float value

LoRa.beginPacket();
  for(int i=0; i<sizeof(sensorData_t); i++)
  { 
    LoRa.print( info.data_buffer[i] , HEX);  // the float value is converted to 04 bytes HEX ---> ( 0x00, 0xD8,0xD0,0x45 ) in this case.
  }
  LoRa.endPacket();
}

In the receive node, i used the function (char)LoRa.read();

typedef struct sensorData_t{
  float d0;
};

typedef union packData_t{
  sensorData_t data;
  byte data_buffer[sizeof(sensorData_t)];
};

packData_t info;

void loop() {
  // try to parse packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    // received a packets
    Serial.println("Received packet : ");
   
    // read packet
    
    while (LoRa.available()) {
      byte byteArray[packetSize];

      for (int i = 0; i < packetSize; i++) { 
        byteArray[i] = (char) LoRa.read();   // <------ THE PROBLEM HERE, i don't get HEX values 
        Serial.println((char) LoRa.read());
      }
           
      for (int k=0; k < packetSize; k++)
      { 
        info.data_buffer[k] = byteArray[k];
      }
      
     Serial.print("d0 : ");
     Serial.println(info.data.d0);
    }
  }
}

The (char) LoRa.read(); function dont return a HEX value like it is sent. i tryed to use (byte) LoRa.read(), and (HEX) LoRa.read(); without success.

Could you please tell me if it exist a read function like LoRa.ReadByte to read byte by byte ?

It would be very appreciated if you could help because i'm stacked in this step.

Thanks.

must use unsigned long for millis() and micros()

I noticed in singed was used instead of unsigned in some examples

The functions millis() and micros() return an unsigned long
line 93 of esp32-hal.h

unsigned long micros();
unsigned long millis();

Although if signed long and unsigned long are mixed for millis the issue starts after 24 days.
But when micros has mixed signed and unsigned the problems starts already after 35 minutes.

WiFi_LoRa_32FactoryTest.ino
line 38

long lastSendTime = 0;        // last send time
int interval = 1000;          // interval between send

better to write

unsigned long lastSendTime = 0;        // last send time
unsigned long interval = 1000;          // interval between send

Same for LoRaMultipleCommunication.ino
line 36

long lastSendTime = 0;        // last send time
int interval = 2000;          // interval between sends

And the same issue in these files
LoRaSetSyncWord.ino
LoRaSetSpread.ino
LoRaMultipleCommunicationInterrupt.ino
Wireless_Stick_FactoryTest.ino

Getting these error when trying to upload a sketch with Plaform.io any ideas?

Executing task in folder X: C:\Users\ArtofWar.platformio\penv\Scripts\pio.exe run <

Processing heltec_wifi_lora_32_V2 (platform: espressif32; board: heltec_wifi_lora_32_V2; framework: arduino)
----------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/heltec_wifi_lora_32_V2.html
PLATFORM: Espressif 32 (2.1.0) > Heltec WiFi LoRa 32 (V2)
HARDWARE: ESP32 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:

  • framework-arduinoespressif32 3.10004.201016 (1.0.4)
  • tool-esptoolpy 1.30000.201119 (3.0.0)
  • toolchain-xtensa32 2.50200.80 (5.2.0)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Library Manager: Installing heltecautomation/Heltec ESP32 Dev-Boards @ ^1.1.0
    Library Manager: Heltec ESP32 Dev-Boards @ 1.1.0 has been installed!
    Found 27 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- 1.1.0
    Building in release mode
    Compiling .pio\build\heltec_wifi_lora_32_V2\src\main.cpp.o
    Generating partitions .pio\build\heltec_wifi_lora_32_V2\partitions.bin
    Compiling .pio\build\heltec_wifi_lora_32_V2\libd3c\Heltec ESP32 Dev-Boards\BMP180.cpp.o
    Compiling .pio\build\heltec_wifi_lora_32_V2\libd3c\Heltec ESP32 Dev-Boards\heltec.cpp.o
    Compiling .pio\build\heltec_wifi_lora_32_V2\libd3c\Heltec ESP32 Dev-Boards\lora\LoRa.cpp.o
    In file included from .pio\libdeps\heltec_wifi_lora_32_V2\Heltec ESP32 Dev-Boards\src\heltec.cpp:4:0:
    .pio\libdeps\heltec_wifi_lora_32_V2\Heltec ESP32 Dev-Boards\src\heltec.h:10:18: fatal error: Wire.h: No such file or directory


compilation terminated.
In file included from .pio\libdeps\heltec_wifi_lora_32_V2\Heltec ESP32 Dev-Boards\src\BMP180.cpp:1:0:
.pio\libdeps\heltec_wifi_lora_32_V2\Heltec ESP32 Dev-Boards\src\BMP180.h:5:18: fatal error: Wire.h: No such file or directory



compilation terminated.
In file included from .pio\libdeps\heltec_wifi_lora_32_V2\Heltec ESP32 Dev-Boards\src\lora\LoRa.cpp:1:0:
.pio\libdeps\heltec_wifi_lora_32_V2\Heltec ESP32 Dev-Boards\src\lora\LoRa.h:5:17: fatal error: SPI.h: No such file or directory



compilation terminated.
*** [.pio\build\heltec_wifi_lora_32_V2\libd3c\Heltec ESP32 Dev-Boards\heltec.cpp.o] Error 1
*** [.pio\build\heltec_wifi_lora_32_V2\libd3c\Heltec ESP32 Dev-Boards\BMP180.cpp.o] Error 1
*** [.pio\build\heltec_wifi_lora_32_V2\libd3c\Heltec ESP32 Dev-Boards\lora\LoRa.cpp.o] Error 1
========================================== [FAILED] Took 6.73 seconds ==========================================The terminal process "C:\Users\ArtofWar.platformio\penv\Scripts\pio.exe 'run'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

Channel selection

I can select the frequency band @ 433E6, 868E6 or 915E6. But how can I select a respective channel? To my Knowledge LoRa allows for diffent channels inside a band, e.g. for 868MHz:

Channel Number | LoRa Center Frequency
CH_10_868 | 865.20 MHz
CH_11_868 | 865.50 MHz
CH_12_868 | 865.80 MHz
CH_13_868 | 866.10 MHz
CH_14_868 | 866.40 MHz
CH_15_868 | 866.70 MHz
CH_16_868 | 867 MHz
CH_17_868 | 868 MHz

WiFi_LoRa_32FactoryTest.ino direct pin drive for LED

When I was looking at the code I noticed the LED is on one line addressed by LED and on a other line as 25.

line 159

		digitalWrite(LED,HIGH);

and line 175

    digitalWrite(25,LOW);

Better to change this into

    digitalWrite(LED,LOW);

Setting GPIO21 direction to OUTPUT after deep sleep crashes esp32 on Wireless Shell

Setting GPIO21 mode to Output after deep seep leads to a crash. Setting other GPIO (I testet 22, 23, 4) works. Setting GPIO21 after cold boot or after SW_RESET following the crash also works.

Attaches is a log of the serial port produced by the attached minimal example. The OTAA-example-min.ino is basically the OTAA example with just pinMode(21,OUTPUT); in setup().
I added the license and set isTxConfirmed and overTheAirActivation to false to get to fast to deep sleep. This does not affect the crash.

Following a deep sleep reset using pinMode(Vext,OUTPUT) leads to an IllegalInstruction exception in ISR shortly after setting the pin mode.
Address 0x400f03c4 seems to be related to rtc_isr

Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x400f03c0: f2fd23fe f93df3bf fcfd9fff
Core 0 register dump:
PC : 0x400f03c4 PS : 0x00050031 A0 : 0x400f259a A1 : 0x3ffbe1d0
A2 : 0x00060120 A3 : 0x3ffbe808 A4 : 0x40084b80 A5 : 0x00000001
A6 : 0x00000000 A7 : 0x00000000 A8 : 0x800dc1aa A9 : 0x4008ab48
A10 : 0x00000000 A11 : 0x40085308 A12 : 0x00000000 A13 : 0x3ffbb970
A14 : 0x00000000 A15 : 0x3ffbbce0 SAR : 0x0000001d EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Core 0 was running in ISR context:
EPC1 : 0x400f03c4 EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x00000000

Backtrace: 0x400f03c4:0x3ffbe1d0 0x400f2597:0x3ffbbff0 0x400dcb77:0x3ffbc010 0x40089ce6:0x3ffbc030 0x400887a5:0x3ffbc050

Rebooting...

The problems seems to be in the boot/init code in Mcu.S rtc-board.S timer.S
So it is difficult to debug further.

serial_log.txt

OTAA-example-min.ino.txt

OLED code interferes with ADS1115

Hi there - I love the Heltec ESP32 board with LoRa. Thank you for manufacturing. I am having one problem. I am trying to use an ADS1115 over i2c and if the OLED is enabled, the ADS1115 always reports 65535 (the max number for an int) or -1. If the OLED is disabled, the ADS1115 functions as intended. It seems like something in the OLED .h or .cpp is interfering with other items on the i2c bus, but I'm not sure exactly what. I have made sure that the i2c items are on different addresses. Here is some quick sample code to reproduce the issue:

 * HelTec Automation(TM) ESP32 Series Dev boards OLED draw Simple Function test code
 *
 * - Some OLED draw Simple Function function test;
 *
 * by LXYZN from HelTec AutoMation, ChengDu, China
 * ��������������
 * www.heltec.cn
 *
 * this project also realess in GitHub:
 * https://github.com/HelTecAutomation/Heltec_ESP32
*/


// This example just provide basic function test;
// For more informations, please vist www.heltec.cn or mail to [email protected]

#include "Arduino.h"
#include "heltec.h"
#include "images.h"
#include <Adafruit_ADS1015.h>

Adafruit_ADS1115 ads(0x4B);


#define DEMO_DURATION 3000
typedef void (*Demo)(void);

int demoMode = 0;
int counter = 1;

void setup() {
  Heltec.begin(true /*DisplayEnable Enable*/, false /*LoRa Disable*/, true /*Serial Enable*/);
  ads.setGain(GAIN_FOUR);       // 4x gain   +/- 1.024V  1 bit = 0.03125mV
  ads.begin();


  Heltec.display->flipScreenVertically();
  Heltec.display->setFont(ArialMT_Plain_10);

}

void loop() {
  // clear the display
  Heltec.display->clear();
  
  int16_t adc0;
  adc0 = ads.readADC_SingleEnded(0);
  int16_t cm = adc0 / 100;
  int16_t inches = cm * 0.3937;
  //adc1 = ads.readADC_SingleEnded(1);
  //adc2 = ads.readADC_SingleEnded(2);
  //adc3 = ads.readADC_SingleEnded(3);
  Heltec.display->drawString(0, 20, "Dist: ");
  Heltec.display->drawString(60, 20, String(adc0));
  Heltec.display->drawString(110, 20, "in");
  Heltec.display->display();
  Serial.print("AIN0: "); Serial.println(adc0);
  delay(1000);
}```

LoRa BAND selection in every example

Hi,

Most examples have the same template.
WiFi_LoRa_32FactoryTest.ino doesn't have the BAND selection at the top of the file like the LoRa examples.

#define BAND    433E6  //you can set band here directly,e.g. 868E6,915E6

line 134 should than be changed into

Heltec.begin(true /*DisplayEnable Enable*/, true /*LoRa Enable*/, true /*Serial Enable*/, true /*LoRa use PABOOST*/, BAND /*LoRa RF working band*/);

This way it more clear which frequency is being used.

Factory ping pong not working on V2

I saw another similar post but for me it is not working. The OTAA test works.

What I don't understand: do I have to put the licence somewhere to run the code?

Code does not compile

My code flags an error while compiling at line 78:
int recipient = LoRa.read(); //recipient address
The error is " 'LoRa' was not declared in this scope"

Any ideas on why?

Why fragement the arduino-LoRa library?

Hi, I'm Morgan, one of the maintainers of the arduino-LoRa library. It's just come to my attention you have copied the driver code into your code instead of linking to the original through the Arduino Library Manager. I'm wondering why? This is bad for both of our communities as it can lead to confusion, duplicate work and fragmentation. I can already see extra manual work done in your code that was already done in the original library, #24 for example was done almost a year before.

It would be great if you could update your documentation to install the arduino-LoRa library so everyone can get the best of LoRa on the ESP32.

p.s. the original support I added for ESP32 was done using HelTec dev boards.

Which pin to input

Can you explain the lowpower example's pin to input? And how do you select which pins? I have a slightly different board and I want to translate it to my pinout diagram.
Thanks!

SetTxPower problem

On the LoRa API reference, the second parameter of setTxPower can be: PA_OUTPUT_RFO_PIN or PA_OUTPUT_PA_BOOST_PIN.

But if I take a look to LoRa.cpp the correct parameters seems to be RF_PACONFIG_PASELECT_RFO and RF_PACONFIG_PASELECT_PABOOST.

OLED an SR04 Serial doesnt work

Hello,

this is my Code

`#include "heltec.h"
#include "images.h"
#include <NewPing.h>

#define TRIGGER_PIN 15 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 2 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

void logo(){
Heltec.display->clear();
Heltec.display->drawXbm(0,5,logo_width,logo_height,logo_bits);
Heltec.display->display();
}

void setup() {
Heltec.begin(true /DisplayEnable Enable/, false /LoRa Disable/, true /Serial Enable/, false /PABOOST Enable/, 470E6 /**/);
//
Heltec.display->init();
Heltec.display->flipScreenVertically();
Heltec.display->setFont(ArialMT_Plain_10);
logo();
delay(1500);
Heltec.display->clear();

}

void loop() {
delay(500); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.

//int Abstand = sonar.ping_cm();
String AbstandStr = String(sonar.ping_cm());

// Serial.print("Ping: ");
// Serial.print(Abstand); // Send ping, get distance in cm and print result (0 = outside set distance range)
// Serial.println("cm");

Heltec.display->clear();
Heltec.display->setTextAlignment(TEXT_ALIGN_LEFT);
Heltec.display->setFont(ArialMT_Plain_10);
Heltec.display->drawString(0 , 15 , "Abstand cm");
Heltec.display->drawString(0 , 25 , AbstandStr);

Heltec.display->display();
}`

The Output from sonar.ping_cm() ist 0. Only when i try with Heltec.begin(true,true....) is it 0

When i Use serial.begin the Output on the serial console ist the correct value from the sr04 sensor.

Put the OLED Display only works with Heltec.begin.

What can i do?

Thank you

low power example but with LORAWAN TTN code?

Hi, I can get low power mode working well.
However, I can’t get the LoRaWAN example to go to the same low power state.

Here’s the low power example that gets the board down to less than 30uA:
. https://github.com/HelTecAutomation/Heltec_ESP32/blob/master/examples/Low_Power/Low_Power.ino

Here’s the LoRaWAN example with deep sleep, but it does not sleep at 30uA, but much higher.
. https://github.com/HelTecAutomation/ESP32_LoRaWAN/blob/master/examples/OTAA_Battery_power/OTAA_Battery_power.ino

Is there another LoRaWAN compatible sketch that deep sleeps at 30uA and has all the necessary bits to work with TheThingsNetwork etc? Or do I have to port some of the sleep and wake library calls from the ‘Low Power’ example to the ‘LoRaWAN’ example?

Timeout while trying to connect to WPA2/enterprise network.

Hello, I have been trying (unsuccessfully) to get my unit to connect to an enterprise PEAP WPA2 network. Searched google but haven't found a solution. a few examples are running, but do not successfully complete a handshake. They just stall before sending any of the user tokens over.

examples:

Does anyone have experience with this board and this type of wifi connection?

Heltec.display->drawString does not clean the Pixel buffer

Heltec.display->drawString
I´m not sure if this is by design. I would name it a bug.
When I want to write a string to a given position I do not want to think about what pixels have been there before.
So please clean the pixel buffer before writting the new character to the given postition
or overwrite the pixel but do not do an OR. In most cases it does not make sense in text mode.
or provide a clear line function.

I can use clear, but I do not want to draw the whole screen for every update.

Include or generate core_version.h

I have run into this with a couple Arduino libraries. They expect to be able to check the ESP32 build version through this header file. Here's one as an example of what they do with it.

core_version.h is a header file with a few #defines. Mine looks like this:

#define ARDUINO_ESP32_GIT_VER 0x46386288
#define ARDUINO_ESP32_GIT_DESC 1.0.4
#define ARDUINO_ESP32_RELEASE_1_0_4
#define ARDUINO_ESP32_RELEASE "1_0_4"

You can see the mainline ESP32 Github has an install script that generates it on install here:
https://github.com/espressif/arduino-esp32/blob/ed96d2a1b70ea02d925435d06b71617bd451ffec/.github/scripts/on-release.sh#L201

I just copied mine from my esp32 core install to the heltec/esp32/core/esp32 directory and things compile, but it would be nice to see it work out of the box.

LoRa Data Structures

Could anybody point me to a send and receive example for data structures with a LoRa V2 board

Thanks in advance

LoRa receiver (running example) stops receiving after a random period.

I am working with two Heltec LoRa 32 (v2) boards
Programming on Arduino IDE 1.8.13
heltec.h (ESP32 Dev-Boards library) is version 1.1.0
Running the example found under heltec ESP 32 Dev boards > LoRa> LoraReceiver & LoRaSender (without modification).
Powered via USB from a computer (also tried USB powered from a wall socket and off a 3.7V 650 mAh battery)

The issue I am encountering is that after a seemingly random period of time the receiver board no longer receives the signal. The loop() is still running but no signal is being reported.

A hard reboot of the board works fine and it catches up with the sender almost immediately, but then given enough time will just lose connection again.

I have searched the other posts but can't find something similar reported. Is this a known issue? Any suggestions on how to resolve this? Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.