Big ESP32 / SX127x topic part 1

To use the OLED is quite simple. Add this in the header of your Arduino script:

#include <U8x8lib.h>

// the OLED used
U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ 15, /* data=*/ 4, /* reset=*/ 16);

Add this in your setup()

u8x8.begin();
u8x8.setFont(u8x8_font_chroma48medium8_r);

Then to display data on the OLED, use something like this:

      u8x8.setCursor(0, 7);
      u8x8.printf("RSSI %d SNR %.1d", LMIC.rssi, LMIC.snr);
3 Likes

I would like to run a run a single channel gateway on this board (preferably with multi-SF and OTAA support).
Has any single channel gateway implementation been ported to ESP32 already?

Update:

YES
See ‘List of single channel gateway implementations’ here: Single Channel Gateway part 2

2 Likes

Hmm, I was quite sure their GitHub repo was already mentioned here, but no… So:

And some asides:

  • The EU868 units I got all seem to be running the File > Examples > LoRa Function Basic Test > OLED_LoRa_Sender sketch, but then using #define BAND 868E6. So, to use OLED_LoRa_Receiver, change the value for band in the example sketch.

  • To make the receiver examples see the TTN LoRaWAN 868.1, use #define BAND 868.1E6.

  • Using LoRa.onReceive(callback) does not work for me; calling LoRa.parsePacket() within loop() works fine though.

  • The orange battery LED is flashing like crazy; maybe attaching a battery makes it stop? @DeuxVisdocument claims: “The orange LED lights will go out when the battery is full”:

    image

  • The same document also says: “To use the on-board IO port with touch function as the touch signal input (WIFI Kit32 and LoRa 32 with this function), add a 100 nF pulldown capacitor to this pin.”

2 Likes

A battery connector/cable was not included. Any idea what connector type the battery connector is? It is smaller than JST-PH connectors.

DeuxVis’ document does not give much details, but:

LITHIUM BATTERY INTERFACE 2Pin-1.25mm

And:

Onboard lithium battery charge and discharge circuit, The orange LED lights will go out when the battery is full , only provide the basic lithium battery charging and discharge function, can not monitor the battery temperature and power, if your battery is not purchased in our shop, Please pay attention to the battery positive and negative, wrong operation may explode.

And the HelTec website shows:

They sell the cable but that doesn’t provide much further detail either.

Looking at your picture, it looks like they use a MCP73831 (or compatible) charging IC (the 5-pin SOT23 below the helical coil). The default behaviour of the STAT pin is to blink while charging (or no battery connected) and to turn off when battery is full.

This is from one of my designs, which also uses a green led to indicate battery full.

2 Likes

Some more interesting ‘nuts and bolts’ hacking at the Espressif chips by Andreas Spiess, this time getting both processor cores of the ESP32 working using the Arduino IDE only. Seems like this can only help with more complex tasks?

1 Like

I ordered micro JST off Ebay and they work fine. Downside is that they come in pairs, so I now have a number of micro JST male in-line connectors…

Which exact model is ‘Micro JST’?
I am unable to locate it on the JST site: JST Product Selection Guide
None of their 1.25mm connectors looks like the one on the Heltec board.

I think that the Heltect board uses a Molex PicoBlade Header:
1.25mm Pitch PicoBlade Header, Surface Mount, Right Angle, 2 Circuits

Cables Assemblies:
PicoBlade-to-PicoBlade Off-the-Shelf (OTS) Cable Assembly, Single Row, 2 Circuits

25mm PicoBlade 2 Circuit Cable Assembly

I ordered ebay item 232485892646 - it is just described as micro JST 1.25mm. They fit fine - pic below shows one alongside my test rig that is now being powered by a LiPo.

image

2 Likes

Good to hear that these ‘JST 1.25mm’ connectors do fit.

25mm PicoBlade 2 Circuit Cable Assembly
Molex PicoBlade 1.25mm

25mm female cable assembly
‘JST 1.25mm’

I have added a link for ‘JST 1.25mm’ cable assemblies in the Bargain Basement: The BARGAIN basement part 3

I was very interested to see the video about using both of the main cores of the ESP32 (https://youtu.be/k_D_Qu0cgu8), but even more excited to see in the comments an example sketch using the ULP - ESP32: ULP LED Hart beat and read DHT22 sensor · GitHub - to try this you will need to have installed the current ESP32 hardware support for your Arduino IDE - GitHub - espressif/arduino-esp32: Arduino core for the ESP32

Has anyone managed to get the power usage of these modules below 10ma? Even in deep sleep and with wifi/BT off I can’t manage it with a battery. Are they maybe using a low efficiency regulator that keeps on switching?

Received mine finally.
The antenna is quite different looking from what was in the aliexpress pictures.
They also provided a miniature heatsink - probably for the ESP32 chip ?

Wifi Lora Kit 32 868 - package

Now I must find some time to play with this…

1 Like

I was wondering about that too, until I read about “fever” in the document you provided earlier :wink:

ESP32 is a highly integrated chip QFN package, due to high frequency, small size and not easy to heat, so when used in the higher fever is normal, Our company has done a complete stability assessment of the circuit t,Pls no worry about it ,and if you very care about the head you can add heat sink by yourself.

Found a new place discussing those boards at https://hackaday.io/project/27791-esp32-lora-oled-module

It mention someone designed a nice 3d printable case : https://www.thingiverse.com/thing:2581459

I finally found the official board page on Heltec site. Maybe they improved the site navigability or I was just not awake enough last time I tried.

No new information as far I see, but it’s probably worth bookmarking in case they update the docs, etc.

Original : http://www.heltec.cn/index.php/project/wifi-lora-32/

English by google : https://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=fr&ie=UTF-8&u=http%3A%2F%2Fwww.heltec.cn%2Findex.php%2Fproject%2Fwifi-lora-32%2F&edit-text=&act=url

3 Likes

@F_Dam posted this link elsewhere: https://www.aliexpress.com/item/-/32840258107.html

Black PCB, blue charging LED, battery cable included, better English description and above all (if one gets delivered what is advertised):

  • different kind of WiFI antenna
  • different (positioned) battery connector
  • some component engraved “SL” is now underneath the battery connector, but seems to be above it (and marked S4) on my HelTec boards (moved to make room for the different antenna?)
  • two mounting holes

Branded TTGO/WEMS instead of HelTec, so now wondering who really made the PCB design. Some shops even name it Wemos. But esp32.net lists “TTGO LoRa” as:

“WeMos” / Lily GO (not WEMOS.cc group)
Clone of Heltec Automation’s WIFI LoRa 32 board

The same shop is selling a case, which certainly needs a different WiFi antenna to fit the module. It’s also available in black:

image

Searching for ttgo oled "lora" gets a lot of new search results, like:

The module can also be found without an OLED display, for just US$ 9.00 (but a different WiFi antenna, if one gets what’s shown):

image

Also, I ran into https://www.alictronix.com/archives/817 with easy instructions to get the Arduino IDE running for the (HelTec) board. (I’ve not tested that; for me the instructions on HelTec’s GitHub work fine too, but need some Git commands.)

2 Likes

I’ve order one, since neither I have a ESP32 yet, and the price for this around 10€ with lora is quite good. Even cheaper than the diymall atmega32u4 lora based boards. But probably only in January I’ll receive it :slight_smile:

And in fact what also caught my attention was the antenna ( I know that those existed since I’ve receive samples of them, but never used) so let’s see how they behave, and the same shop sells the case. But the case might not be very useful since it has no space for anything else, like sensors or whatever.

Edit: The sl marked component looks like a diode? Probably to protect reverse polarity, since the battery cable is provided.

Hi @arjanvanb … i’m having the same problem … does anyone successfully used Lora.onReceive to call a function for when a packet is received? Thanks