Yup. I guess the alternative is to have esp8266 for Wifi, and then some small ARM chip and sx1276/sx1278 for LoRa. These could be on one board or they could be on two boards. Mhhh.
Have you looked at using the esp32 instead of the esp8266? There are some products available that integrate the esp32 with LoRa.
I haven’t. To be honest, I’ve used the esp8266 a lot and am very familiar with it, plus there’s mavesp ready to go… I started on the esp8266 when it just came out and suffered through all the pains WRT bad docs, bad SDK, bugs, etc. When the esp32 came out I decided I wasn’t going to deal with the esp32 until I either desperately needed it or the bugs were worked out. I have the feeling that for this project the esp8266 is going to work just fine :-).
I did take dagar’s comment to heart and have ripped up the PCB layout I had and dropped an stm32 in there to talk to a telemetry port on the pixracer and to the LoRa radio. This way the Wifi part and the LoRa parts are completely independent (just on one PCB for convenience). At the ground station it should be possible to cross-connect the two ports to make a LoRa-Wifi gateway.
Here’s V2… Now wait 2 weeks to get PCBs and then see whether mavesp works…
And the underside:
I’m sure there’s gonna be a V3…
I completely understand not wanting to move on from the esp8266. I got started with the esp32, so that’s what I’m more familiar with.
The new board revision looks cool. I’m looking forward to seeing how your project proceeds.
Well actually i am more favor of multiplex version, though this may complex software a bit.
I am adding multiplex of Mavlinks into MindRacer/PX4, targeting at different radios though . If we looks this forward longer as when radio peripherals increases, it will be not possible to connect them all through seperate telemetry ports. Having a single access point for all radios will become necessary.
I suppose that could make sense in some situations. I wasn’t sure about things like flow control and ramifications for mavlink in that situation. Some of these are available SPI as well?
Personally I was considering something like this (I generally stick to software). https://www.adafruit.com/product/3072
Flow control and rate matching are indeed needs to be considered, it will require some intelligence inside radio module in that case. Can be achieved through few extensions of mavlink i think.
Of course, in different use cases seperate telemetry radio is also not a bad choice. A hybrid model is probably the best for most applications.
PS: I recalled that months ago you mentioned the flow control issue on MindRacer so the new release is a good time to improve it. I don’t want to interrupt this post so probably in another thread.
In my PCB I hooked up the esp8266_RTS and esp8266_CTS pins that are on the pixracer, but searching through the code I have the feeling that flow control is not actually enabled in the PX4 firmware, is that correct?
I believe that’s correct for the pixracer esp8266. It typically is for the other telem ports though.
First success: the esp8266 part of the board works! I have not populated the LoRa stuff yet. That will probably take some time…
If anyone is interested in schematics, lemme know.
In the photos, the lora-fi PCB stacks on top of the pixracer’s esp8266 connector, it also connects to telemetry port 2 for LoRa data and 5v power. The double-row female connector sitting above the pixracer’s PWM ports has the FTDI ports to program the esp8266 and the ARM processor (for LoRa). There’s a switching Vreg to generate 3.3v (instead of the pixracer’s linear Vreg), and an LED for status indication (next thing to add to mavesp). The debug connector has the esp8266’s uart2 debug output.
That looks great! I’m very interested to see real world LoRa performance and optimize mavlink.
Can you send me the schematic
any news about your project ? It looks interesting
Sadly the project is a bit on the back burner at the moment. The esp8266 part works, but I have not tested the stm32/lora part. In the meantime, if you want to build on my work: Eagle schematic and board
I’m following your (very interesting) project. As you, i believe in LoRa->something bridge as the best solution to have a reliable yet integrated datalink solution. However, i think the best is to go with bluetooth rather wifi to locally bridge connection, as i think that Wifi should be reserved to route HD digital video, so you could have both (video and telem) working on the same device, wirelessy, from different datalink devices until a integrated “do-it-all” solution pops out.
I am interested about this project, this project have big potential.
I have idea for flow control… the communication between Flight controller and ESP module can be fast containing all MAV-link massages, depend on the speed between ESP module and LoRa Node the massages between those 2 points can be reduced dynamically.
Also to the ESP module can be connected standard MAV-link working on 433MHz when communication between UAV and GSC is lost/bad the ESP module can switch to LoRa.
On the ESP32 boards have enough GPIO pins to sustain 1 SPI and 2 UARTs
This device can become some kind of “communication co-computer”.
Leverage of this:
- On short distance using standard MAV-Link HM-TRP chip with fast speed between UAV and GSC.
- On the long distance using LoRa WAN with dynamic flow control.
- Using only single UART on the Flight controller.
I don’t have programming skills, only hardware. If somebody start to write software connected to my idea i can support hardware part of the project.
thank you for the initial ideas of the board. I have a very similar project but with Radiocraft TinyMesh module instead of LoRa+STM32. How did you plan to use status LEDs on your board? Upd: I have found your fork on GitHub, thanks!
I’m working on a similar project. I’m looking to collaborate. Please contact me. 812-788-0664