Hi
I’m trying to create new project for LORA32 V3 board.
I receive this error:
PIO Core Call Error: "Resolving heltec_wifi_lora_32_V3 dependencies…\r\n\n\nUnknownBoard: Unknown board ID ‘heltec_wifi_lora_32_V3’
How to resolve?
Thanks
Hi
I’m trying to create new project for LORA32 V3 board.
I receive this error:
PIO Core Call Error: "Resolving heltec_wifi_lora_32_V3 dependencies…\r\n\n\nUnknownBoard: Unknown board ID ‘heltec_wifi_lora_32_V3’
How to resolve?
Thanks
What is the content of your platformio.ini?
None because platform not create project at all
Looks like something is broken.
C:\User\<username>\.platformio~/.platformio/Users/<username>/.platformioDone, now hold on project wizard and no folder is created
I have halted pressing on cancel and project is there!
Please create yourself this kind of project for test…
Create the project manually:
Create a project folder. Inside that folder
create a platformio.ini:
[env:heltec_wifi_lora_32_V3]
platform = espressif32 @ 6.12.0
framework = arduino
board = heltec_wifi_lora_32_V3
Crate a subfolder src.
In that folder, create a main.cpp:
#include <Arduino>
void setup() {
}
void loop() {
}
cd into the project folder and start vs code by running the command: code .
ok but test if you can create it by wizard. Other could have problem.
I have found this gityhub page. Seem that there are some problems with this board
ropg/heltec_esp32_lora_v3: Proper working Arduino library for the Heltec ESP32 LoRa v3 board, as well as for Wireless Stick v3 and Wireless Stick Lite v3. Uses RadioLib
How is that related to PlatformIO ?
I don’t know.
If also you creating this kind of project encounter my same problem maybe this page could help. It is only a suggestion
It does not help because it is not related.
Did creating the project manually work for you?
no, while wizard was freeze I click on cancel and project appeared correctly.
Now I’m using that library but not see nothing on oled screen…
Does a “Hello World” or “Blink” sketch work?
none example work for now
This configuration work:
[env:heltec_wifi_lora_32_V3]
platform = espressif32
board = heltec_wifi_lora_32_V3
framework = arduino
lib_deps =
thingpulse/ESP8266 and ESP32 OLED driver for SSD1306 displays@^4.6.1
cwru-greener-pastures/Heltec_LoRa_OLED_Examples@^0.8.1
You must create image.h e copy in it content of image code
//Esempio di utilizzo OLED
#include <Wire.h> // Only needed for Arduino 1.6.5 and earlier
#include “SSD1306Wire.h” // legacy: #include “SSD1306.h”
#include “pins_arduino.h” //C:\Users\giuse.platformio\packages\framework-arduinoespressif32\variants\heltec_wifi_lora_32_V3
#include “images.h”
#define DEMO_DURATION 3000// Istanzio lo schermo OLED utilizzando pinout di heltec “pins_arduino.h” SDA_OLED and SCL_OLED
SSD1306Wire display(0x3c, SDA_OLED, SCL_OLED);//Variabili usate per il demo
typedef void (*Demo)(void);
int demoMode = 0;
int counter = 1;//Prototipi di Funzione
void VextON(void);
void VextOFF(void);
void displayReset(void);
void drawFontFaceDemo();
void drawTextFlowDemo();
void drawTextAlignmentDemo();
void drawRectDemo();
void drawCircleDemo();
void drawProgressBarDemo();
void drawImageDemo();Demo demos = { drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo };
int demoLength = (sizeof(demos) / sizeof(Demo));
long timeSinceLastModeSwitch = 0;//------------------------------------------------------------
void setup() {
Serial.begin(115200);
while (!Serial) {
delay(100);
}
Serial.println();
Serial.println();// This turns on and resets the OLED on the Heltec boards
VextON();
displayReset();// Initialising the UI will init the display too.
display.init();display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
}
//------------------------------------------------------------//------------------------------------------------------------
//------------------------------------------------------------
void loop() {
// clear the display
display.clear();
// draw the current demo method
demosdemoMode;display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 54, String(millis()));
// write the buffer to the display
display.display();if (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength;
timeSinceLastModeSwitch = millis();
}
counter++;
delay(10);
}
//------------------------------------------------------------
//------------------------------------------------------------/************************************************************
- VextOn and VextOff are take right from Heltec.cpp.
- These functions turn power to the display on and off.
- DisplayReset() is from HT_Display.cpp in the Heltec code.
- It resets the display
************************************************************/
void VextON(void) {
pinMode(Vext, OUTPUT);
digitalWrite(Vext, LOW);
}void VextOFF(void) //Vext default OFF
{
pinMode(Vext, OUTPUT);
digitalWrite(Vext, HIGH);
}void displayReset(void) {
// Send a reset
pinMode(RST_OLED, OUTPUT);
digitalWrite(RST_OLED, HIGH);
delay(1);
digitalWrite(RST_OLED, LOW);
delay(1);
digitalWrite(RST_OLED, HIGH);
delay(1);
}void drawFontFaceDemo() {
// Font Demo1
// create more fonts at http://oleddisplay.squix.ch/
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_10);
display.drawString(0, 0, “Hello world”);
display.setFont(ArialMT_Plain_16);
display.drawString(0, 10, “Hello world”);
display.setFont(ArialMT_Plain_24);
display.drawString(0, 26, “Hello world”);
}void drawTextFlowDemo() {
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawStringMaxWidth(0, 0, 128,
“Lorem ipsum\n dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore.”);
}void drawTextAlignmentDemo() {
// Text alignment demo
display.setFont(ArialMT_Plain_10);// The coordinates define the left starting point of the text
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 10, “Left aligned (0,10)”);// The coordinates define the center of the text
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 22, “Center aligned (64,22)”);// The coordinates define the right end of the text
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 33, “Right aligned (128,33)”);
}void drawRectDemo() {
// Draw a pixel at given position
for (int i = 0; i < 10; i++) {
display.setPixel(i, i);
display.setPixel(10 - i, i);
}
display.drawRect(12, 12, 20, 20);// Fill the rectangle
display.fillRect(14, 14, 17, 17);// Draw a line horizontally
display.drawHorizontalLine(0, 40, 20);// Draw a line horizontally
display.drawVerticalLine(40, 0, 20);
}void drawCircleDemo() {
for (int i = 1; i < 8; i++) {
display.setColor(WHITE);
display.drawCircle(32, 32, i * 3);
if (i % 2 == 0) {
display.setColor(BLACK);
}
display.fillCircle(96, 32, 32 - i * 3);
}
}void drawProgressBarDemo() {
int progress = (counter / 5) % 100;
// draw the progress bar
display.drawProgressBar(0, 32, 120, 10, progress);// draw the percentage as String
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 15, String(progress) + “%”);
}void drawImageDemo() {
// see ESP8266, NodeMCU: how to create xbm images for displaying on OLED 128×64 I2C Displays – Squix – TechBlog
// on how to create xbm files
display.drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
}
Hi
I have found the problem:
Heltec starting from V3 of HTIT-WB32LAF create a sort of fork that disable people to use Espressif Board.
Check here:
Heltec ESP32 Series Quick Start — esp32 latest documentation
Please try to correct this problem
Thanks
Please file an issue to the developers at github. This is the communtiy forum. The users here are not involved in the development of PlatformIO.
Thanks
PS: It looks like the minimum requirement is Espressif Arduino Framework 3.x. PlatformIO supports Espressif Arduino Framework 2.x. So pioarduino’s Espressif32 Platform may be a solution for you.