My ROOPHLOCH 2025 Journey
2025-09-30
---
On Sunday, I made a post for solderpunk's annual ROOPHLOCH, or Remote Outdoor Off-Grid Phlogging Challenge.^ The post itself was short, but the process to make it happen was anything but, and I wanted to share both my setup and the problems I had getting it to work.
I participated in ROOPHLOCH 2024 as well, but all I did was write a log from my backyard and post it to my capsule over my home WiFi connection. Leading up to September, I had many different ideas for how to participate in this year's ROOPHLOCH. Some of the ideas were fairly simple, and some were extremely ambitious: I thought of sending an NNCP packet over Bluetooth, automatically photographing and uploading a document I'd written on my typewriter, and even creating a custom punch-card storage medium for the post and uploading it over regular WiFi. I would have needed to prepare a lot of these ideas over the summer for them to be practical, but other commitments and hobbies ate up my time, and none of them were ready by the start of September.
The setup I finally chose was not very elaborate in comparison, but it was still much more remote than last year's setup. My plan was to go to a park in the area, set up a mobile tethering hotspot on my smartphone, connect a Raspberry Pi to the hotspot, and connect my ClockworkPi DevTerm to the Raspberry Pi using Reticulum.
The main goal was to make a post while the device I wrote the post on was not in range of any WiFi signal. However, I also had an ancillary goal: I wanted to do it while not relying on any fossil fuels. I would cycle to the park, eliminating the need for gasoline-powered transportation, and anything that required power would either run directly on solar power or on batteries that were charged by solar power.
My initial supplies were:
- My Samsung A15 smartphone to provide the hotspot.
- A Raspberry Pi 1B to connect to my capsule git repo and push updates. The RPi runs DietPi, Reticulum and rnsh.
- A ClockworkPi DevTerm to write the log and send it to the RPi. The DevTerm runs Debian 12, Reticulum and rnsh.
- 2 Heltec LoRa 32 v3 transmitters, both running RNode, to connect the DevTerm and the RPi.
- A travel router in AP client mode to connect the RPi to the hotspot. The 1B does not have built-in WiFi, and for some reason, recent DietPi builds for it do not include kernel modules for USB WiFi dongles.
- A TopSolar 20-watt solar panel with controller to power the RPi and the travel router. Beforehand, the panel was used to charge the batteries of the DevTerm and my phone.
- 1 CAT.5E Ethernet cable to connect the RPi and the travel router.
- 2 USB micro B cables to power the RPi and the travel router.
- 2 USB C cables to connect the RNodes to the RPi and the DevTerm.
Ancillary equipment included my bicycle and a point-and-shoot camera to take photos.
I chose this setup because I already owned all the necessary equipment, except the travel router. Luckily, a nearby electronics store had an open-box model for a discount.
In setting up a remote base to post from, the RPi would need to run headless--and that meant I'd need to start Reticulum and rnsh automatically. I installed both using pip, then configured and set up a systemd service for rnsd using the instructions on the Reticulum site.^^ To run rnsh, I added the following line to the dietpi user's crontab:
@reboot rnsh -l -a <hash> -- /bin/bash
<hash> is the identity hash of my DevTerm's rnsh instance.
Debian manages all Python packages on my DevTerm, so I had to install Reticulum and rnsh in a virtual environment, which I simply placed at ~/python3/venv.
Everything had to start up a specific order for communication to flow properly. I first needed to start the hotspot on my smartphone. Then I needed to power on the travel router and give it time to connect to the hotspot. Once that was established, I could power on the RPi, let it connect via the router, start Reticulum, and spawn the rnsh session. Finally, I could power on the DevTerm, let it find a path through the Reticulum network, and log into the RPi using rnsh.
The park has a large tower next to a walking trail. My plan was to set up a small base station on my bike next to the tower, hang one RNode off the truss, then go to a bench about 60 feet away and connect with the other RNode. I would have liked to post from a greater distance away, but most of the park is filled with tall prairie grass, and I didn't want to risk getting bitten by ticks. Regardless, even at that range, I was too far away to connect to my phone's hotspot from the DevTerm.
My first attempt at making a post was on 2025-09-21. I packed all the supplies into the box the solar panel came in, stuffed it onto my bike's cargo rack, and headed out.
(PNG, 600x450, 89.7 KiB)
Unfortunately, just as I arrived at the park, a group of dark clouds suddenly formed and blocked out the sun. The solar panel only produced a fraction of its potential power output as a result. I couldn't power both the RPi and the travel router simultaneously: the router would power on first, but when the RPi was added to the circuit, both would shut off due to insufficient voltage. I could confirm that by looking at the output reading on the solar panel controller: both devices would run for a while, the voltage would drop, the controller would switch power from the USB ports to battery output, and the voltage would recover. I cycled back home in disappointment.
I tried again four days later on 2025-09-25. The sky was clear and the sun provided ample power for the solar panel. The box even served as a handy container to hold all the equipment.
(PNG, 600x450, 113 KiB)
(PNG, 450x600, 102 KiB)
However, I still couldn't get the solar panel controller to reliably power the travel router and RPi simultaneously. They stayed on for a few minutes after I first plugged them in, long enough to be able to connect over Reticulum and initiate a 'git pull' command, but then they shut off again and began to power cycle every few seconds. Once again, the controller would quickly switch from USB power output to battery output and not remain stable. I wondered if the two devices' combined draw was too much for the solar panel, even in the sunny weather at almost optimal power output, and I decided I needed to make some changes. That outing was a dud as well.
The solution to the power problem was another piece of equipment I also happened to own already. In my car, I keep a FlexSolar E10 solar charger that produces 10 watts of power. It's meant to serve as an emergency source of power if my car (which is rather old) breaks down somewhere remote, but I realized I could use it as a second power supply. That came along for attempt number 3.
I rode out to the park again on 2025-09-27 with two solar panels in tow. This time, I ran the travel router off the FlexSolar panel and the RPi off the TopSolar panel. To my surprise, however, the RPi continually power cycled again! The same symptom appeared on the TopSolar controller as on both previous outings: it would send power to the USB ports for a few seconds, then switch back to battery output. Even now, I'm not sure why the controller behaved that way. I think my initial guess of insufficient power was wrong, and the controller wants a battery installed to keep its power output stable and constant. The controller itself could also be faulty.
As I packed up the station with renewed frustration, I discovered that I'd accidentally left one of the USB-C cables at home. Even if the RPi had worked correctly, I wouldn't have been able to connect an RNode to my DevTerm.
I needed yet another power solution, and this time, I decided to do extensive testing at home before going back out to the park. The solution came in the form of a 10-watt power bank that would run the travel adapter. As with everything else, I charged the bank using solar energy, then tested it with the RPi running on the FlexSolar panel. Thankfully, everything worked as expected!
During this testing, I discovered that the RPi was getting too hot in the direct sunlight. We keep a pair of medical cold wraps in the freezer, so I decided that during my next attempt, I would bring one along and wrap all the electronics with it to keep them cool.
Finally, on 2025-09-28, I went back to the park one more time. Testing showed me how I could create a very clean setup that used much less space than my first few attempts. I was even able to clip the FlexSolar panel onto the underside of my bike saddle, opening up even more room.
(PNG, 450x600, 111 KiB)
(PNG, 600x450, 83.0 KiB)
I enabled the hotspot, powered on the router, booted up the RPi, and started the DevTerm. And to my delight, rnsh connected successfully! Reticulum on both devices was configured to have a high spreading factor, which greatly increased the connection range at the cost of speed. My uplink was only about 400 bits per second, leading to delays of about 20 seconds between when I would type a sentence and when that sentence would appear on screen.
In total, it took me about 2 1/2 hours to cycle to the park, set up the station, connect with my DevTerm, prepare the local git repository, write the log, update index files, push the post to the capsule, tear down, and cycle back home. But it was successful, and the log went live on Gemini with only about 25% charge left on the DevTerm.
I might expand on this setup and try a few more concepts for next year's ROOPHLOCH. Some ideas I have include:
- I could write a log locally and sent it in an NNCP packet to the RPi using rncp. The RPi would auto-toss the packet, automatically generate the log indexes, commit, and push.
- It would be fun to communicate with the RNode from farther away than just 60 feet. I could use some sort of rigging, a drone, or a balloon to position the RPi RNode higher. I might achieve a connection from across town if the conditions are right.
- I actually have four RNodes that can all communicate with each other. I could set up chain of RNodes, with one antenna connected directly to my home Internet, and try to hop to it as far away from home as possible.
- Of course, there's always the possibility of using a different communication standard than Reticulum. One possibility is sending data via Bell 103 modulation over a phone call to a Google Voice number.
I intend to investigate possible ROOPHLOCH setups well before September next year, so when the challenge officially opens, I will be ready.
Despite the frustration, I ultimately had a lot of fun doing this project. It was exciting to interact with the Internet using no fossil fuels at all; I'm very glad I incorporated that into the project. It was fun figuring out how to work around power issues and configure headless access to the RPi using Reticulum. And though it was annoying to have to return to the park so many times, I still enjoyed the exercise and the time outdoors.
---
[Last updated: 2025-09-30]