Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Build a Two-Way Pager with Lora (ieee.org)
55 points by ystad on Dec 25, 2020 | hide | past | favorite | 43 comments


I've been exploring the LoRa space (and more generally the 900MHz unlicensed ISM band in North America) for a couple years now.

I think there's a really interesting direction here for switching away from corporate internet. I don't see any reason why we can't build an ad-hoc, citizen operated telecommunications infrastructure in the form of cheap mesh networks and distributed storage.

I would love to see a local-first/backbone-last paradigm for internet usage. Screw all this walled garden app and corporate media pipeline. I just want to socialize and meet new people in the digital realm.

Having said that, I've been working on a hardware project I've been calling Walkie Texties. Basically a prototype of what a geolocal-first non-internet network might look like, sitting on top of 915MHz using LoRa.

I'm still learning hardware stuff and circuitpython has been a real godsend. Got a couple of these bad boys and plan to attach a LoRa capable Feather to the back.

https://www.adafruit.com/product/4818

This is basically a ready-made geolocal-first chatroom platform. A Walkie Textie, you might say.

The range of LoRa is 1-2 miles in dense city and _over 200 miles_ line of sight with a pretty minimal antenna.

That's pretty cool...


The biggest issue you run into with ISM band mesh networks is they are competing with the rest of the world's WiFi networks. In the 2.4GHz band there's three non-overlapping channels available. If you've got three overlapping networks in some area and they're all using a different overlapping channel you're fine. As soon as the density increases beyond that best case you have channel overlap and interference between the networks. The more users on any individual network the more interference and less usable bandwidth for each node.

Enterprise type deployments use tons and tons of micro cells. Each WAP has a low power output so they each end up with a small coverage area and are wired up for backhaul into the core network.

Solving mesh routing is pretty straightforward but the physics of the PHY layer are much more difficult. A mesh network in a suburban or rural area ends up more practical than an urban one.

Moving to 5GHz for a mesh can help but the range and penetration is much worse. Every node in the mesh would need aerial directional antennas to effectively link to one another. That ends up making everything more expensive or against HOA rules or whatever.

Even if you've got all the physical issues handled you've still got bandwidth issues. More than a handful of clients on a node will start to contest for bandwidth. If any connection between sets of nodes bottlenecks through a single node (which happens all the time due to geography) a whole segment of the mesh can have their bandwidth reduced.

Meshes are cool and there's lots of capability available at small scales but they tend to fall down quickly at larger scales because they're trying to squeeze into relatively narrow unlicensed radio bands.


Thanks for all the insights. There's definitely a lot of issues to overcome. Nice to get some perspectives.

I think there's a decent space here for a sub internet that's totally open to the public. Like a bootstrap internet. Right now in order to use The Internet you have to pay someone for access and use privately owned infrastructure.

There's room for a layer below, on the community level. I imagine being able to buy or build a $5-$10 commodity item, press the ON switch, and be connected to a level of internet that's lesser but still extremely useful, and can exist off the main internet if needed but doesn't have to.

Not to mention uses in the event of emergencies.


You should take a peek at the community over at https://www.meshtastic.org/. I've been building some tangential stuff using LoRa as the PHY, and it's pretty good so far. Bandwidth isn't huge but range is great.


The key for wide spread adoption would be enabling more than point to point communication, and figuring out how to make the hardware really easy to make or obtain.

Are there any known algorithms that can scale mesh nets to high throughput? And, how are we encouraged to run intermediary nodes?

I'd set myself up with this in a heartbeat, if it let me communicate with people 300-600 miles away and was easy to set up.

Also, is encryption allowed?


There was a similar device I tried to buy last year but they went out of stock before I found them.

https://www.tindie.com/products/greycatco/lora-text-developm...


I love Lora - our apartment's garage remotes have a range of about 5 meters, and the gate opens super slowly. This is annoying for us and everyone around us as we live on a business street, so have to either be parked across a footpath, or block traffic in the street while we wait for it all to happen.

So I rigged up a bunch of stuff using some RFM95 Lora modules, relays, and a smattering of crypto, and now I can start my garage door opening from several blocks away. Now by the time my car gets there, it's ready for us to drive in.

It started as breadboard/feather mess, but has progressed over time as I've taught myself PCB design to make ever-smaller remotes. It also means I can make multiple remotes, and put them on each of my bags, bikes, cars etc.

https://www.instagram.com/p/B11m1y5J3qc/


This is great, I've been working on stuff like this as well, using LoRa.

I'm in the same boat and looking to learn pcb design to make my own hardware. Any recommendations you can give?


I went through a few KiCad tutorials (it's improved a lot over the past few years), and a lot of trial and error. With PCBWay and JLCPCB making it super cheap and delivered in a few days, it means you don't have to worry about mistakes so much.

My process is largely:

- mock it up with arduino boards

- mock it up on a breadboard with straight chips wired up like an Arduino but without all the stuff I don't need

- make a KiCad design that matches that

- make the PCBs, realize I made a few holes the wrong size, make more PCBs

- build, test, use

- plan to do it without the Arduino parts, but then give up after trying and failing to make Atmel Studio do anything


> failing to make Atmel Studio do anything

gosh no. avr-gcc, avr-libc, avrdude are all you need. Email is in my profile if you have specific questions.


Ahh, all those things I see when Arduino is doing its thing - I have some reading to do - thank you for putting me on this path!


Thank you! This is giving me excitement for the future. How are you dealing with customized cases and enclosures for the boards?


I 3D print them - quick prototypes I use my own printer, for more durable/nicer plastic stuff I go through Shapeways (~$20), and for the metal stuff I get them CNCed through 3D Hubs ($150). Here's an example of a volume controller I made:

https://twitter.com/gmurphy/status/1179828311049945088


Back home shared garage doors or barriers just have GSM module and a whitelist of phone numbers so you can just use Siri to dial it.


Although if you're targeted at all (I don't know what country this is and how much public info is available—phone numbers are very easily found in the US), it'd be trivial to spoof your caller ID and open it


Dunno how trivial it is but brute force or social engineering would certainly be more trivial.


So basically you decided to put the telephone company in charge of your garage security.

I'm sure that's a real high priority for them.

Stuff like this is why we have SIM swap attacks.


Its a shared garage. It would take 20 seconds of social engineering for your “neighbour” to lock it.

I think some can have passcode tho.


I’ve been following some of these projects because I think there are a lot of cool applications for some of this stuff and it’s relatively cheap to get the hardware to hack on. GoTenna made a decent business out of making these consumer friendly even. They’re a great tool for when you’re out of cell phone range.

This particular project looks most aligned with Meshtastic https://github.com/geeksville/Meshtastic-esp32 I’m sure they would welcome additional hardware expertise!


Geeksville is a prolific contributor to Meshtastic :-)


A few of us at the Sudoroom hackerspace in Oakland created a mesh-network protocol and hardware for Lora:

https://disaster.radio/


Disaster Radio work & goals are impressive, I've seen it previously here on HN.

As I've mentioned in my previous comment, I'm exploring the possibility of connecting remote areas without any connectivity through a LoRA mesh-network to the closest Internet center.

Would the Disaster Radio setup work for exchanging small text messages? What has been your experience with it.


Small text messages, yes. It is slow, and the packet sizes are small, when you add on the headers required for mesh routing they become even smaller.


I feel if LoRaWAN had better penetration, it would have been indispensable during these pandemic lock downs for underrepresented communities through out the world.

Children living in remote areas of poor countries lost contact with their schools, due to lack of connectivity(mobile/Internet) and not to mention lack of access to remote education.

I wonder if a RPi based device capable of receiving analog TV/Radio educational content via DVB-T and LoRAWAN for simple communication could address that problem?[1]

[1]https://needgap.com/problems/149-remote-education-for-underp... (Disclaimer: It's my problem validation platform).


Lora is extremely low-bandwidth. You can barely send a kB a day.


That's heaps for my application, which is remote monitoring of traps for exotic pests. By law such traps must be checked once per day, which requires only a single bit each 24 hours (trap triggered or not).


>You can barely send a kB a day

That must be very long range? AFAIK 0.3kbps to 27 kbps shouldn't be a problem for text messages as showcased by OP source for shorter distances.


HopeRF modules are a decent example of consumer LoRa hardware. Check the datasheet:

https://www.hoperf.com/modules/lora/RFM95.html

They advertise bit rates of up to 300kbps, but that doesn't tell the whole story. If you look under the LoRa modem section, you'll see that the actual data rate for that kind of modulation tops out at a little less than 10kbps with a high bandwidth and low spreading factor.

LoRA is also susceptible to interference. If two packets collide, the CRC will fail and all of the transmitters will need to back off and try again. And usually, higher bandwidth means fewer channels running in parallel.

So you might be able to get 1-10kbps between two nearby transceivers, but that probably wouldn't scale well to a mesh network and it's already very slow.

It seems like a good technology for pagers and intermittent text messengers, but a full-fledged network with streaming and file-serving seems like a stretch.


Those are key pieces of information, thanks. I wonder how the existing LoRAWAN based mesh networks work for text messaging. Anyways intermittent text messages itself would go a long way for those who are totally unconnected from the rest of the world, say to know whether the child opened their educational device[1] or say SOS from that device.


Yes, I think it's a very exciting technology for sending all kinds of small packeted data around rural areas. Besides messaging, it's also good for having remote stations report their current conditions (e.g. electric fence battery, solar panel status, soil moisture, weather conditions, etc)

There are already several companies producing turn-key agricultural monitoring systems like that. But I also think that a big part of why it works well is the lack of congestion in more remote areas.


LoRa can handle between 27 and 50 kbps depending on the mode. Definitely not enough for video calls, but still plenty useful


It should use PJON for communication: https://github.com/gioblu/PJON


Does anyone know where do I find a cheap lora gateway that I can use without a service like the things network?


Just a LoRa gateway without the WAN stack? There are usb serial devices for 20-30 pounds, you can use a raspberry pi with them for a cheap gateway. We’ve used some for development and testing. https://www.st.com/en/evaluation-tools/b-l072z-lrwan1.html


There’s a few layers to this. You’re completely correct that you can use those boards for LoRa without LoRaWAN. I think what OP is looking for, though, is cheap LoRaWAN gateways that aren’t tied to The Things Network. Can’t use the SX1276 for that, since it can only time one receive frequency at a time.

There’s cheap gateways available that are hard-coded to talk to TTN, and there’s expensive gateways available that let you run a private WAN. There just doesn’t seem to be cheap gateways available to run a private WAN.



both <200€ raspberry pi solutions and the ~160€ Mikrotik one are not bound to TTN. What's substantially cheaper and TTN-only?


$85 (~70€) will buy https://www.adafruit.com/product/4345 which is TTN-only.

I have read rumors of alternate firmware to allow that hardware to work outside TTN but haven’t chased it down myself, so mine is running as a TTN node right now.


You’re looking at around $150 for an 8-channel base node. The single channel at a time nodes (like the SX1276 in the one you linked) “work” but with significant limitations compared to the $150-500 8-channel gateways.


Adafruit has a ton of stuff. I've been buying various boards from them and they even have "bonnets" for RaspberryPi that are plug and play with python example code.

https://www.adafruit.com/search?q=lora


Those are all single-channel, gateways are traditionally multichannel.


I'm not sure on the price, or whether it can be run without the Things Network, as I haven't been able to buy one yet, but perhaps take a look at the Alfa Tube ELoRaWANGW, which can run OpenWRT.


Commenting just to say I’m working on it. Unfortunately nothing publicly available yet.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: