I wanted to share a project I’ve been working on that might be useful for others.
Many Helium hotspots are now available on the second-hand market for very little money. I bought my Bobcat 300 G285 for only €30 (at marktplaats), and instead of letting it collect dust, I converted it into a fully functional TTN UDP Gateway.
To make the process easy, I created an installation script that performs the complete installation and configuration automatically.
Features
Fully automatic installation
Automatic Gateway EUI generation
Automatic TTN server configuration
Supports multiple TTN regions
Clean reinstall support
Runs from a microSD card using Armbian
Original Helium firmware remains untouched (simply remove the SD card to restore it)
For the Bobcat G285, you first install the excellent Armbian port created by sicXnull:
The installer has been tested on my own Bobcat 300 G285 and works reliably.
I hope this helps give these inexpensive Helium gateways a second life instead of becoming e-waste. If you have a Bobcat sitting unused, it can become a very capable TTN gateway for a fraction of the cost of buying new hardware.
Many thanks to sicXnull for making the Armbian port possible. My project builds on that work by providing an easy installer focused on TTN UDP Gateway deployment.
Feedback, improvements and testing on other Bobcat models are always welcome.
Update: Bobcat 300 G285 → The Things Network gateway conversion
A few days ago I announced that it was possible to convert a Bobcat 300 G285 Helium hotspot into a TTN gateway for around €30. That announcement was a bit too early — the concept worked, but the installation process still needed some improvements.
After several days of testing and debugging, I can now confirm that it is working properly.
The project has evolved into a fully automated installer:
Automatically detects the Bobcat G285 hardware
Generates the Gateway EUI from the device MAC address
Configures the correct SX1302/SX130x settings
Installs and configures the TTN packet forwarder
Requires minimal user interaction
The conversion runs completely from the microSD card and does not modify the internal eMMC, so the original Helium firmware remains untouched.
A Bobcat 300 G285 that was no longer useful for Helium can now become a fully functional The Things Network LoRaWAN gateway again.
Thanks to everyone who tested, provided feedback, and helped identify the remaining issues. The project is now ready for further testing by the community.
my personal problem with such custom implementations is: no upstream support from armbian so only if the sinlge dev has time or is willing to provide fixes/updates/upgrades.
nice for proof of concepts but nothing i would roll out or count on.
so 1st thing should be: get the changes upstream to acquire direct armbian support
2nd: add our implementations on top
Yes, I have enabled all 868MHz frequencies when setting up the gateway. I see SF7, SF8 and SF12 packets coming in. Now I’m woeking on the newer Basic station protocol.
I stumbled over sicXnull’s work, too. I have porting that work over to OpenWrt on my list™.
There is already a package for BasicStation.
So we could just use as much native OpenWrt parts as possible. e.g. a small luci integration to set a hand ful of parameters to join the network and that’s it.
Then define BasicStation + Luci stuff for the Bobcat and enjoy SD-Card images falling out of the image builder automagically.
I have no idea if that is more or less work then Armbian, but OpenWrt has a framework for device images with some additional packages for that device only preinstalled. So if someone beats me to it I’ll happily test your PR. If not I’ll come back when I got something to show in a few months.
Of course, that’s written on the title. Currently testing. I am correcting some bugs, still setting the configuration. Not fully tested yet. But probably it would be fine.
that would be really great! i´ m an active openwrt member/user, too. and this would reduce the need for chirpstackOS just for hosting a plain LoRaWAN gateway. i´ m a fan of plain openwrt in this case without beeing heavily dependent on a single chirpstack dev .
I have compiled chirpstack for bobcat but I have not tested it yet. Added dark mode.
I have tested lora_pkt_fwd and it works. I changed the sleep time from 50ms to 25ms otherwise bobcat rejected downlinks. Original code is at 10ms but it consumes more CPU just idling.
Thanks. Using your project as inspiration, I spent some Claude tokens vibe coding my own version which supports LoRa Basics Station, and I have successfully connected to TTN and delivered uplinks using both LNS and CUPS. It also supports UDP Packet Forwarder and MQTT and is configurable through a web interface which also has some stats and other cool stuff like Tailscale integration. You can check it out here but be aware it’s still a work in progress. I have acquired a second Bobcat 300 and I will test that one on my own LNS and report back. Currently I have a full image built on the bobcat-armbian so you can flash it to a microSD, put it in the gateway, and it boots directly to the web UI login screen.
My next goal is to investigate whether a GPS can be added to support Class B.
I don’t particularly see the need for continuous persistent logging to flash on a LoRaWAN gateway, that’s why I’ve got rid of it. Minimising writes to the microSD card should prolong its life.
Ethernet works fine. I tried to get WiFi to work, and while I did have some success, it caused an issue where the device would crash and need to be power cycled, and sometimes it would fail to boot. So I have left that out for now. I think it needs more work in the upstream Armbian to work properly.