Meshtastic

New hardware prototype

I’m in the preliminary stages of making some new hardware to run Meshtastic on just for fun. T-Beams are great bang for buck but aren’t exactly tailor made for this application.

This is what I have so far but I would like your opinion on features or hardware you think would be ideal.

At this stage it will basically be an interface board between the various modules with some basic circuity for low level functions.

  • ESP32-WROVER-B Module - 4MB Flash, 8MB PSRAM, TP4054 charger, CP2104 Serial
  • LoRa - EByte E22-XXX30S - 1W LoRa module with IPEX connector (provides 23db increase of link budget over T-Beam HPD13A).
  • Antenna - External SMA connector.
  • Screen - 128x64 SSD1306 1.3" OLED.
  • Buttons - L, R, U, OK.
  • GPS - BEITIAN BS414Q with QMC5883L Compass.
  • Batteries - 2x 18650 holder (potentially 7000mAh), reverse polarity protection with warning LED’s.
  • Size - Approximately 90L x 40W x 30H

I’m hoping once I have some hardware built up that I will be able to make changes to the code to get the basics up and running but I’m thinking I’ll need a bit of help with the deeper level stuff. Especially the handling of the SX1262 in the E22 module. Buttons and compass are just additional extras over the T-Beam I thought might be handy in the future.

I’m especially keen to see how the E22 1W modules perform (30dBm TX, -150dBm RX, T-Beam 20dBm TX, -139.5dBm RX) although they may not be full 1W as I will be running off 1 cell battery voltage not the ideal 5V the datasheet recommends (voltage range is 2.5-5.5V though).

This would be a portable, fully functioned node. I envisage people would like a “headless” node (phone control only, smaller form factor) and maybe a base station node (solar, more LoRa modules, directional antennas).

Depending how the trial goes I would definitely be open to facilitating a group buy or the like of all the bits we need and get a few out there!

Let me know your thoughts.

6 Likes

Nice project, Dafeman!
I’m also very satisfied with ebyte’s modules. I already used their E32 (SX127x based) and E22 (SX126x based) in M (SPI) and T (UART) versions. Ebyte is using really top quality components, at a slightly higher cost than my favorite TTGO’s, though very affordable.
Using the full 30 dBm power depends on the total radiated power, which is legally limited to only 20 dBm in some European countries, but is very interesting to compensate loss in long antenna cables.
Anticipating on the fact that the SX1262 offers this increase in link budget by using a new SF5 and modified SF6 spreading factors, which can not be understood by SX127x LoRa modules, making the newer LoRa modules could be limiting compatibility, though.

1 Like

BTW I’m waiting for my TTGO’s T-watch to arrive, ESP32 based with integrated GPS and LoRa… maybe one day I could add my contribution to make it work with Meshtastic !

@eriktheV-king great to hear you have some positive experience with the EByte gear. In NZ the 920-928MHz band has an upper power limit of 36dBm which is crazy high for this kind of module. I could legally run an antenna with 6dB gain! The modules power output is software set so could easily change for different countries or even drop down to the E22-XXX-22S at the expense of some receive sensitivity.

Do you have any libraries or examples for the SX126x that could be used for this project? I’m not sure what integrating the SX126x modules would take.

In regards to SF, I would assume as this project aims for long distance that the lower SF’s are unlikely to be used, especially down as low as 5 and 6. Definitely worth considering backwards compatibility with the older gen LoRa gear though.

I saw the TTGO Watch while researching this project and thought it would be a great fit. I hope you can get Meshtastic running on it!

re: t-watch
great idea! TTGO was kind enough to send me two twatches, though they didn’t include the lora module so I haven’t had much use for them. I think porting to the twatch would be awesome and not too painful. I bet the only thing you need to change is the display driver (I’m sure there is an existing one on platformio you can merge with the exisiting code)

wow really cool!

I’m happy to help with getting the SX1262 going.

Not sure if the compatibility of Spreading Factor will be an issue between SX127x and SX126X. Spreading factor 5 and 6 are the lowest and give the lowest range. I’ve been looking at radiohead library and meshtastic source to find out if I can tweak some of the modem parameters. Radiohead defines the spreading factor in terms of chirps/sec instead of actual SF, so it is Chirps/sec=2^SF, I think it goes like this:
64CPS = SF6
128CPS = SF7
256CPS = SF8
512CPS = SF9
1024CPS = SF10
2048CPS = SF11
4096CPS = SF12

Radiohead has some predefined modem config which is what meshtastic uses (Bandwidth, Coding Rate, Spreading factor):
Bw125Cr45Sf128
Bw500Cr45Sf128
Bw31_25Cr48Sf512
Bw125Cr48Sf4096 - I think this is the one we use currently in meshtastic.

The lowest SF there is 128CPS which is SF7, I dont think SX127x has SF5, it supports 6-12
When I was playing with Sandeep mistry’s LoRa library I found a good combination that worked well on range, It was working with multiple buildings blocking line of site, Bandwidth 31 SF 12 and Coding rate 4/8,that is an extreme example and very slow, it’s also not recommended to go below BW of about 60 due to crystal drift caused by temperature variations and the possibility of not communicating at all regardless of range. In some countries below a certain bandwidth the duty cycle rules no longer apply, so that could be a bonus. I am pretty much new at all this, and would be happy to be corrected if any of the above is incorrect?

2 Likes

I’m pretty new at this also :wink: but your description matches my understanding.

Also if in your experimentation you find a better set of SF/CR/bw that would be great. I’ve always kinda figured we’d add to that list of four enums.

1 Like

I experimented with RA-02(sx1278) and Hoperf RFM98W-433S2. Maximum Range achieved at SF12, CR 4/8, BW 62.5KHz, 20dB. 62.5KHz minimal stable frequency for TCXO in modules.

1 Like

Back on topic, ssd1306 screens are hard to read in sunlight, epaper, e ink or nokia 5110 lcd. Obviously using those would require development effort.

Are those ebyte e22x modules same as current ones in use from pinout and software interface? If so it could be an easy swap on existing t-beam and others.

Ah right, I was going for ease of integration with the OLED, not so much how practical they are. I’ll look into some better daylight visible options although that might be V2.

The E22 xxx-22S modules are a nice small form factor but different than the T-Beams HPD13A. Its possible an adapter board could be made. The 22S module is 12dB down on link budget compared to the 30S however (although 10dB or so up on the HPD13A).

Hellos. I have been working with @geeksville on a new board based on the nRF52840 BLE chip from Nordic. The other parts include:

  • nRF52840 (module from eByte)
  • SX1262 (module from eByte)
  • Quectel L80 GPS module
  • 128 x 64 LCD
  • multi-directional switch
  • 3 LEDs
  • BQ25703 battery charger

Kevin should have prototypes in the next few weeks.

5 Likes

Yep! A couple of weeks ago (ish) Syed sent me a note saying he was interested in making (and selling) a board that works well for Meshtastic. So I told him my ‘wish list’ for an ideal board and he came up with this great proposal. He’ll be running the regular open source code and people will be able to buy these boards from him.

I proposed a NRF52 because the power draw is super low (a couple of mA when the CPU is running our code vs 80-300mA for the ESP32). It should be able to run a very long time on a charge. Also their bluetooth implementation is much nicer than ESP32 so bluetooth can stay connected to the device 100% of the time (no need for the ‘light sleep’ states we currently need to do).

The LCD screen is transflective so it should work nicely in direct sunlight and the current draw is so low it can be left on all the time.

I think it could turn out to be a really great platform.

(I would have said something sooner, but I’m big on not blabbing about other people’s projects)

Here’s a little video running some test code on the Nordic Semi development board.

4 Likes

Ah cool. I didn’t realise the ESP was so hungry on power. Now knowing the NRF52 is an option I might look at doing something based on that in the future. Will see what my setup ends up looking like. Hopefully these EByte modules based on the SX1262 are easy enough to integrate. They seem a good option on paper. @Syed what kind of battery and form factor are you looking at using?

@dafeman if you wanna play with sx1262 now, my early WIP branch is here: https://github.com/geeksville/Meshtastic-esp32/commits/nrf52

I should have an early guess at sx1262 support in late next week (currently I’m working on general mesh algorithm tweaks in the common/main branch)

1 Like

@dafeman There is a good bit of flexibility around the battery. @geeksville suggested a 1200 mAh lipo. It’s a really full-featured battery charger, so we are by no means limited to that battery.

The form-factor is still a bit up in the air. No strong opinions. I was considering something the same size as a SunPower solar cell, but it’s just a random idea. Generally, the smaller the better, so shrink it down to the size of an old NES game controller could also be an option. The v1 board is pretty big, just for rapid prototyping.

1 Like

yeah great if you can use 36 dBm!!
For the 1262 libs, a lot of work has been done by Spanish progammer friends from the FossaSat group. I’m sure our discussions on SX1262 in the FossaSat - 1 Community on Telegram and Galileo’s github https://github.com/G4lile0/ESP32-OLED-Fossa-GroundStation can inspire you a lot!

1 Like

@eriktheV-king what a great project!

1 Like

HySyed Thant is also great news for users of the Sparkfun version of nRF52840 boards and I think I’ve seen an Adafruit Feather carrying an nRF52840… This will become a really big community !

1 Like

cool! Keep up informing us guys!

1 Like