Wifi + LoRa telemetry add-on


Thanks for pointing out the MindRacer, I hadn’t seen that. Looks like it has all the features I need from the Pixracer and perhaps the expansion would be easier, but on the other hand the expansion connectors use up quite some space.


I spent the day putting together a PCB. 36mm x 36mm to fit on top of a pixracer with a connector to fit into the pixracer’s esp-01 socket. The board contains:

  • esp8266 using either an esp-12 or a esp-07 module (built-in vs ext antenna), in both cases the esp module sticks over the edge
  • HopeRF rfm96/rfm98 LoRa module with board-edge SMA connector
  • two RGB LEDs to indicate Wifi and LoRa status / activity
  • cut-out to allow vertical PWM connectors on the pixracer and to allow dense stacking
  • switching regulator with jumper to select between using the pixracer’s LDO or the switching reg (needs 5v input)
  • FTDI connector for initial flashing and debug output gpio2/tx2 connector

Now wait 2 weeks to get PCBs back… The mavesp firmware should work with just some minor tweaks to adjust pins and then the fun of jamming some LoRa code in will begin. Assuming the PCBs work, of course…


Nice work.

The PCB looks bit large though. Better if it can be smaller so can also fit into miniature frames.


What size is your flight controller? This fits on top of a pixracer (has the same dimensions).


For integration I can see the appeal of combining LoRa + esp8266 on the same serial, but on most boards we have several serial ports available and it will make the software side much easier. The pixracer has 3 telem ports.


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