Alright nostriches. I finally have enough done and feel comfortable to share my progress on HAMSTR.

You are about to witness perhaps the first ever(well outside of the 2,000 ones I have done testing, lol) nostr note retrieved exclusively over HF packet ham radio.

There is no Internet access on this browser at the moment at all.

It is a client - server setup. The client is fully off-grid. Only the server can connect to the internet. For this test, the server is was roughly 500 feet away using dummy loads on my radios putting out virtually zero watts. Yes, not far, but in theory it would similar at hundreds and even thousands of miles away as well.

This test pulls my most recent notes from my fake dev account following list. In this case 1 note. The number of notes is configurable, but keep in mind HF Packet Radio is SLOW. This one note takes quite a while for just tiny note from nostr:npub1guh5grefa7vkay4ps6udxg8lrqxg2kgr3qh9n4gduxut64nfxq0q9y6hjy. Future versions will have FM Data packets as well, but line of sight FM was not my goal. Global coverage was. HF radio is the only way for that.

Most functionality is now working, just ironing out some things and lots of bugs. Following, global, search, hash tags, npub search display names, are all basically working. Soon replies.

What started out as a project for me to use some social media and take camping and do some off-grid nostr stuff has now morphed into something that I believe will be able to help millions of people be able to bypass oppressive regimes, firewalls, tyranny, and allow them to interact with the nostr network using nothing but ham radios. This could be massive for learning, comms, and overall freedom. Could have a server running in France, and connect to it from Russia or Afghanistan for example. Easily within HF radio reach for half the world.

Much like the winlink email network, I hope people will be able to take my project and setup servers all around the world for people to access, read, write notes, send DM's, use various nostr kinds and even send Bitcoin(on chain offline transactions over HF radio and nostr coming soon).

Lots to come!

Note: pardon the phone screen cap, it isn't quite working fully android Firefox or chrome yet.

nostr:npub1az9xj85cmxv8e9j9y80lvqp97crsqdu2fpu3srwthd99qfu9qsgstam8y8

nostr:npub1ya20ep3dd0qt0suhzprxztv5y43arqwps73ercvqa44sp7qw0edsp4x9ty

nostr:npub1trr5r2nrpsk6xkjk5a7p6pfcryyt6yzsflwjmz6r7uj7lfkjxxtq78hdpu

#hamstr

#Nostr

#development

#hamradio

https://video.nostr.build/1830960c328baad59ce74bfb23e7d3ea12bb26ea09f085e8a14762bb2cac88d4.mp4

Reply to this note

Please Login to reply.

Discussion

You had me at hamstr 😂

That's amazing!!

That's amazing! Looking forward to following your progress 🙌😉

The sound of HF packets makes me weidly horny. Sorry to make you uncomfortable,

Hahaha. Down boy.

People don’t realize how momentous this is. Your work is important and it will make a difference someday.

Thank you. I hope so

So cool, well done

Awesome! We really need more interfaces on nostr. It can't all depend on an efficient, but centralized solution like TCP-IP.. Does your relay already support HAM radio? nostr:npub1hw6amg8p24ne08c9gdq8hhpqx0t0pwanpae9z25crn7m9uy7yarse465gr has a NIP for this.. Have you considered using e-cash to rate limit radio access to your relay? nostr:npub1zzt0d0s2f4lsanpd7nkjep5r79p7ljq7aw37eek64hf0ef6v0mxqgwljrv uses WiFi captive portals to rate-limit MAC addresses' ability to access an internet gateway. However, you have an opportunity to manage traffic using npubs instead of MAC addresses. This is huge, because npubs can sign stuff...

I am not at this time running my own relay, rather using standard ones. You could easily run a custom one though. I built a custom packet system based on KISS AX25 packet specs. It handles the connections, disconnects, packet splitting, CRC checks on each packet split, retries, lost packet request, automatic detection of a bad packet and a bit more. I know nothing about wifi protocols however.

Unfortunately, I'm not familiar with most radio protocols (yet). Does the tool you built translate nostr events to analogue signals and back?

My hope is that I can send nostr events to a local relay over TCP/IP from my phone without any extra hardware and your relay can receive that nostr event directly from my relay over radio. Thanks to negentropy, we might be able to cut out the ISP without needing to attach radio equipment directly to our phones.

You will need to charge other relays for events that you send them over radio, because spectrum is a scarce resource.. nostr:npub1gzuushllat7pet0ccv9yuhygvc8ldeyhrgxuwg744dn5khnpk3gs3ea5ds, does negentropy require a lot of bandwidth?

Technically, yes. That's what the software modem does. Data to sounds, then the other side does the opposite.

Awesome, then you have everything that's needed for your relay to sell notes to other people's relays! 😀

Feel free to reach out if you ever need a rubber duck to bounce ideas off of or if your stuck and you want to share what your doing..

Looks like someone made a relay interface for meshtactic. This is super exciting, because reduces our reliance on TCP-IP without us needing to have analogue radio equipment in our pockets:

https://github.com/ksedgwic/noshtastic

Great 👍

Let it be known that this was the first note:

nostr:note1vcw84yr2c8xflmydaurcwpjf7zdly3u9exwaa23fxvkz2lfc92wsa66ajn

wow

#JS8CALL has different speed modes depending on what the user selects depending on propagation and receiver reception. Are you building something in like this? This is a pretty cool idea! I see one person on a village or town having a big HF radio constantly receiving and then pushing out on VHF/UHF to locals on a smaller mesh network with less power.

I currently have 3 speed modes, 300 baud, 600 baud, 1200 buad. 1200 is basically not possibly in anything but NVIS type HF conditions.

Interesting idea! Yes, JS8CALL has multiple modes. slow, slower, very slow and the worst. lol. Its a fantastic protocol. Very robust and can be used in terrible HF conditions. Currently it is all AX25 spec packets. 200kb chunks that get split then combined back together.

JS8 is amazing, and does have an undocumented API, but its bad. Its just not right for this project. However, future plans include:

Full KISS MODEM FL DIGI - Be able to use most if not all FL DIGI modes for very fast OR robust data transsfer, and eventually protocol switching

Reticulum Network KISS packet support. To be able to then use it on hf, fm, lora, and even just plain old encrypted internet node connections. Or better yet, a mix of all the above.

ie: Use LORA RN device to send from an offgrid channel a few miles away to an HF connected base station, which then sends it to the server.

I used speficifacally KISS packets because of the future operability with FLDIGI and Reticulum.

FM on VHF/UHF is currently working OK at 1200 baud, but currently that is the limit. In the future will add support for 2300 or even 9600 bps depending on band conditions. The biggest thing is the client and server currently have to stay on the same baud and frequencies/modes.

I plan on having a winlink style switching later on that will rotate through different HF bands possibly so you can try different bands conditions.

Very awesome. I understand most of it at a very high level. I'm no help on the software side. I am interested in the hardware side mostly and how simple it can get.

My test was done on a yaesu ft710 base station with dummy load connected to desktop, internet disabled

My remote side was done with a tr usdx wrap right connected to a laptop and wifi. Neither had an antenna for testing.

Simple $5 dipoles would work fine!

That is amazing. Great work!

Thank you! Many months so far. Maybe a year. Lots of breaks though. Mainly the custom 'protocol' and packet system was the worst. I am not a developer by trade. I do believe it is now quite robust though and can handle bad radio conditions OK.

This is amazingly cool, great work. Is the source code released somewhere?

Thanks!

Yes, on my desktop. Lol.

It's on a private GitHub repo currently. Once all the initial features are finished(hoping this week!), and most of the critical bugs are done, I will switch it to public.

It's a python backend on client and server. Server is currently terminal only(just logging). Server is designed to be run headless. Put in your settings and run it 24/7.

The client/frontend side is flask based and the frontend is Svelte and I chose to use flowbite as the UI/component library.

The front and backend is pretty basic. The networking, crc, packets, radio system is much more complicated. But with some guidance, most decent python and even JavaScript devs should be able to read through it and I hope help in any way they can on new features, improvements, and most importantly, bugs and optimizations.

Sounds fantastic. Execution looks good from the video. Release it now to take advantage of the hype over your post above! Building in the open is way better than trying to engineer a launch.

Hahaha. I don't disagree, but if it was released now, I wouldn't yet have any function. Perhaps I will tease more each day as completion happens. 😂

I'll add as well that this is my first actual piece of real doftware. I wrote a small ham radio logging app with gui a few years back, but that was like 2% of this project. So I am not exactly a pro.

And yes, it will be 100% FOSS. I have no business plan or anything like that for it.

Incredible!

Thank you!

The fact that Hamstr is a perfectly good name for this even if there was no such animal as a hamster means you get so many bonus points.

yeah, it was the community choice:

note1pns66m3vn2t6yg23s0vphvtn63sazkw3tua34gxzwdxm6vxe9jkqzca26a

This is phenomenal and we definitely can use this in this crazy world!

I’m currently setting up a Meshtastic node, but this is using actual Ham Radio bands.

Will I need a ham radio license to set one up legally in the US? Will users need ham radio licenses?

I’m excited to see where this goes and how it grows.

Yes, you would need a ham license to legally operate it. Not hard though, honestly.

Phase 2 will be adding reticulum network support both for ham bands, and Lora devices. You don't need a license for they as you know. But the range, while amazing is nothing like HF ham bands. I was chatting deep into Russia last night from AZ..... Can't do that on anything but HF.

This is some amazing stuff! Skinny Puppy in the background?

Thanks!

Haha, good guess.

KMFDM

Thanks!

I’m definitely going to get a Ham radio license too. I’m looking forward to following your progress.

I’m interested in Recticulum too, but starting my learning with Meshtastic.

Very cool. Reticulum is huge. Awesome protocal and interoperability between internet, lora, ham radio, and really any type of modem or serial connection you can think of. amazing.

Thanks!

We’re getting our feet wet and learning on Meshtastic nodes now. We may set up parallel Recticulum nodes in the future.

Great name

Very cool.

Thanks, Derek!

This is incredible!

you may find Osty useful to prevent you from inventing the wheel again 👉 https://osty.dev

You keep plugging osty, but there's nothing there? The documentation website is basically empty

yeap! the website is pretty empty! you can find more info on Github https://github.com/ostyjs/create-osty

A lil late, haha

Nice, thank you!

👏👏

Thanks!

Amazing work!

Thanks! More to come.

THIS SOUNDS LIKE "SURVIVE THE APOCALIPSE TECH"

This is incredible. Love it!

This is great. Lots of people have HF radios. I have done packet on VHF but never tried to get it working on HF. Very interested in your project!

Thanks! Make sure to follow and keep updated. Release will hopefully be soon.

Love to see it!

This. Is. Amazing.

awesome. so incredibly 😎.

So cool!

I’ve tried typing a reply many times. All I can say is my mind is blown. Are you the inventor or are you building on others’ work?

Glad to hear it! I created it from scratch, HOWEVER, it is leveraging existing software packet radio modems, TNC software. There are many out there for packet radio. You connect to it via a direct TCP connection, and send the data. The receiving side does the rest.

I created the systems for connecting, handshaking, the back and forth, splitting of packets based on size, CRC data checksums, and more. Leveraging a few python libraries for sure.

I could have saved a HUGE amount of time if I was able to utilize a packet modem software in python that did what I wanted. Unfortunately I couldn't find a good one.

Great! I'm from Russia and we are still far from "intranet" (internet without exit to external world), but, have you heard about Voice of America? It was radio station broadcasting to USSR. Very nice idea which reaches new level now. https://en.wikipedia.org/wiki/Voice_of_America#Cold_War

Nice, I try to made similar with lora mesh.

Great work.