Opensource SX1302/3 LoRa Gateway on FeatherWing with LBT

Hi everyone,

Four years ago I designed a Opensource LoRa GW Hat for Raspberry Pi and later Raspberry Pi Zero: Fourm Link

I always want to build a gateway with Arduino-ish MCU, but SX1301 or SX1308 doesn’t really make sense because the power consumption for the chipset itself is crazy enough, using a MCU or Raspberry Pi as host doesn’t make significant difference by Maker point of view.

With the newer gateway chipset released from Semtech, I regained the interest to build another gateway board, this time finally for MCU.

The Hat-ish board layout I choose is Adafruit’s FeatherWing, it’s getting a lot of interest not only Adafruit but also other company for their dev. And most importantly Adafruit has a lot different MCU Feather board itself, so it is a pretty well used standard.

The image you saw earlier is a pretty standard GW, based on SX1303 reference design, a SX1302 or SX1303 with two SX1250, a RF FE for RX/TX/Switch and a U-blox EVA-7M providing PPS to SX1302.

But for some reason I started to wonder if I can squeeze additional component for LBT, and after a couple hours of dragging the components around, I added a SX1261 for LBT, and also a TMP107 for temperature sensing on board.

No hardware is usable without the software, and thankfully Semtech’s HAL is pretty portable, so I moved it to Arduino based HAL library: https://github.com/will127534/SX1302_Arduino_Library

The design tool also moved to KiCad, I can’t withstand the pricing for Eagle Cad, and I need at least 4-layers for these kind of projects.



For those who are interested, here is the Github link for the project: https://github.com/will127534/LoRa-GW-FeatherWing
*Note that LBT version is on different branch.

I would guess some people might be interested purchasing the board, but with the current chip shortage (I can’t even find the LDO in stock…) and personal reasons, the fastest way to get it is building your self. The PCB board is manufactured by JLCPCB, and most component you can source them from Mouser (Of course you need to hope there are in stock…). Lastly as a opensource project, you can always take it and modify yourself.

It has been some time working on this project, but I think someone might be interested designing your gateway, and I hope this post will help.

10 Likes

That looks fantastic.

Just one wrinkle, you appear to have used a nightly build of KiCad from October 2020 - which doesn’t open in the current release version of KiCad. Is there a way of converting it to a mainstream KiCad?

Probably not, though I’m fairly new to KiCad.

The reason why I pick the nightly build is because Raspberry Pi 4 compute module IO board is also design with that and I want to reuse the compute module library - and I fell in to the nightly build spiral.

I think nightly build is good for general usage though, so far so good.

My insurers would beg to differ - no worries, I’ll provision a machine to run the nightly on and see if I can export it back to a release - or just use that machine to explore it all!

Did you ever manage to get over from nightly to a release?

Yes, and I’ve just looked at it again and now I’m dribbling all down my front.

I need to spend a merry evening creating a tool to query the big disties for parts availability as I’m losing time anyway playing hunt the part and this looks like it will be a job as well.

And I’m further along with handing such designs - both in KiCad and production terms. So you never know what might happen in the next 60 seconds, but as ever, you and your force will be disavowed etc etc

Dear Will!
This is a great project.
It is possible, tow make list, wtth adaffrupt devices you use. Because, if I any want to replicate this project ist easier to start!’
Best Regards
Robert.

Please be aware that whilst the OP did a great job with the hardware, at present the code base on the Arduino side does not include a packet forwarder - so whilst it can drive the concentrator, it can’t then pass the packets on to a LNS …

Yeah, I’m not that great on the software side, I’m even considering to take that library port repo down because it is kind of janky.

My original plan is to port in the way that future update on HAL could be easily be ported also, but since the original HAL is using linux spidev, it is kind of hard to not blasting every functions down to the SPI read/write cmd.

Also there are some issues because it is in C, not C++ and I’ve basically just leave it as is (again, because of the original plan).

I have a newer port to RP2040 + W5500 ethernet though, but it also does not include packer forwarder. (It is just not my priority and there are packer forwarder + MCU stuff already - The Things Gateway is great)

But if you can do it, there will be many that would like an alternative …