SX1268 modules are not yet supported

Hello dear colleagues and gentlemen, developers! My regards!
Over the past few days, I’ve been especially busy designing and debugging hardware for homemade Meshtastic-nodes. I ran into a problem today. None of the 433MHz LoRa modules out of several available to me could work. I started to figure out what happened. Almost all 433MHz modules are made on the SX1268 chip.
I tried independently assembling several firmware versions (23 and 43). This problem is observed everywhere. Radio modules for 433 with a SX1268 chip are not recognized by the firmware.

I described the details in the topic: Practical Range Test Results - #92 by Der_Bear

Please help me fix bugs.

Thank’s!

1 Like

Hello colleague Kevin @ geeksville. My regards!
I ask you to pay special attention to the problem.
I got into the source codes of the project and found that there is a SX1262interface.cpp in the file lists, but the SX1268interface.cpp is completely absent. These are different microcircuits with different incompatible libs.
Meanwhile, a large number of LoRa-modules at 433 MHz work exactly at SX1268, and not at SX1262 (for 433 - SX1262 - rather an exception)
I ask you very much, if possible, to add support for the SX1268 chip to the next release.
Many Russian users of the community, after my articles, became interested in the topic. It was surprising for me, but the 433MHz range was in great demand. Not less than the 868MHz range. We are conducting experiments, but they stopped due to incompatibility of the equipment with the SX1268.
Many thanks and my respect!

1 Like

hmm - someone recently added support for the sx1268 to radiolib (the library we use for talking to radio chips). So it probably wouldn’t be too hard (it looks very similar to the already supported sx1262). Alas at my current rate my software eng queue is full for about the next month. If you have a sw eng with this device I’m happy to give them pointers on how to update radiolib and then add the appropriate adapter class. If not, ping me in a few weeks and I can add some (untested - I don’t have one of these) support.

Thank you very much for your reply.
Yes, yes, Kevin, I well understand your workload and you To-Do-List.
A good friend of mine, a programmer, helps to keep this topic alive in Russia. I have prepared a stand for debugging at SX1268 and will hand it over to him the other day.
If you have some free time, tell us what to add and where. I will pass the information on to my friend the programmer.

1 Like

Sure. I think the approximate list would be:

  1. Our version of radiolib has a few fixes that haven’t yet been merged upstream, so first step is to update our radiolib to latest. Our fork is here: GitHub - meshtastic/RadioLib: Universal wireless communication library for Arduino. They will want to “git merge” from “GitHub - jgromes/RadioLib: Universal wireless communication library for Arduino”. They should be familar with this process but I’m happy to help if they have questions. After merging please send us a pull-request so we can update our RadioLib based on their merge.
  2. Make a new adapter class so our routing stack will work with the new SX1268 class in radio lib. They will either want to generalize the existing “SX1262Interface” class in our source base so that it also works with the SX1268 or copy SX1262Interface and make it into a new SX1268Interface class. I bet the former will probably work (and it is highly preferable from a software engineering standpoint). But if the SX1268 driver is radically different from the already supported SX1262 driver they might need to do the “copy the code and then tweak it - hopefully by sharing a (new) common SX126xInteface baseclass”
  3. After testing send in a pull request with your new hotness so it can be used by others.

I think this is how I’d do it. If they have questions they can post here or email me. Good luck on your cool effort!

2 Likes

Good news. One of our Russian colleagues showed interest in the topic, figured out the problem and prescribed the SX1268 microcircuit. He is currently working on supporting a new series of LLCC68 microcircuits.
We are waiting for colleague Kevin @geeksville to make the author’s commit and include the new Meshtastic-DIY branch in the official release.

1 Like

So you have any success with SX1268 and Meshtastic?

We are no longer using a fork of radio lib so there should already be support in the firmware, Kevin is retired :partying_face:

SX1268 already used in DIY-version. Here is the initialization line: firmware/variant.h at e3fd17772d3e1cf48111eee1a7980002e3eab7ff · meshtastic/firmware · GitHub

Everything turned out to be not so simple, and it was necessary to create additional support classes for new radio modules: SX1268 module support and base class for SX126x module family by osmanovv · Pull Request #865 · meshtastic/firmware · GitHub

image

Dear Vladislav,
Thank you for your answer. As far as I understood it was finally done and we can use SX1268 with Meshtastic, am I right?
LilyGo still doesn’t state devices on SX1268 as Meshtastic compatible.

@PhilipInc as I know it only works with the DIY-versions “out of the box”. For using with the other factory manufactured boards it requires changing configuration files I described in this answer: Can't initialize SX1268 lora module - #9 by Vladislav

1 Like

It works fine with 2.0.20 version