CJ Trowbridge

CJ Trowbridge

AI, Sustainability, and Resiliency; in the forest, in the desert, and on TV.

Support:

☕ Buy me a coffee Venmo CashApp PayPal Eth Wallet

Connect:

TikTok Bluesky Mastodon YouTube Twitch Substack Blog


Gear List:

Check out my Gear List for my recommended equipment for mesh networking, amateur radio/ fox hunting, and off-grid infrastructure.

Read My Theses:

Recent Longform Interviews:

Academic Achievements:

See Also:


GoFundMe: Help Castro Media rent a livestream space!

Join The Castro Media Discord!

GoFundMe: Help Us Build An Outpost At The Grand Canyon

✨ Apply To Receive A Free Cyberpony Express Node ✨


Current Projects

Stationary 3D-Printed helicone Weather Satellite Uplink

Helicone

  • *Feed type: Helicone (3D-printed)
  • Reflector type: Parabolic dish (Aluminum Window Screen)
  • Alignment mechanism: Stationary (fixed mount after initial pointing)

This is an uplink for connecting to the GOES weather satellites using a 3D-printed helicone feed antenna with an integrated parabolic dish reflector and LNA. The helical feed is designed to be mounted on a fixed, stationary mount that is manually pointed at the satellite. This allows me to receive real-time weather forecasts, photography, and emergency alerts directly from space without needing an internet connection.

GOES Satellite

The Project

I wanted to try duplicating the popular open-source Helicone project as a baseline reference to test my other ideas against.

This is the 3d model.

If you don’t want to 3d print this one, you can also buy a GOES antenna that’s ready to go, but the feed will not be as good as the 3d printed one.

Here is the parts list:

Software

  • Raspberry Pi OS Lite for the Raspberry Pi Zero 2W.
  • rtl_tcp to stream the raw IQ data from the RTL-SDR to my main computer.
  • SatDump to decode the IQ data and extract the weather data and images from the GOES satellite signal.
  • goestools for additional processing and analysis of the GOES data.

Other examples

This 3D-Printed Satellite Antenna Is Fantastic!

3D Printed Yagi

There was another popular community design for a linear-polarized yagi antenna which the community iterated on and improved over time. The yagi is only about half as good as the helicone because it doesn’t have the right polarization, but it’s much easier to make and can fit inside the small robotic rv dishes which are much easier to find and work with than the large parabolic dishes. It still needs a filter and low-noise amplifier (black) connected immediately after the feed to be able to receive the signal and send it on to the software defined radio (silver), but it’s a great option for a smaller feed that will fit in those small domes that go on the roof of rv’s and boats.

Yagi

My 3D Printed Version

The math behind making a yagi antenna is complex and I have absolutely no understanding of how that works. I gave the photo above to an LLM and asked it to research and find all the information to explain why this feed is so effective. It’s actually a counter-intuitive design. The first thing you will notice is that the front element is too short. normally, the elements in a yagi are closer to the same length. It turns out, the community discovered that being at the focal point of a dish, this approach is more effective at focusing the signal than a more traditional yagi design. One common pitfall with yagis is that the elements can bend, especially when you’re using copper wire that comes ina coil. My idea was to 3d print a “negative” of the antenna so I can just drop all the lengths of copper wire into the grooves and hit them with some hot glue to hold them in place. This worked really well and made it much easier to get the elements in the right place, aligned perfectly, and keep them from bending.

My 3D Printed Yagi

If you’re interested in my pipeline or artifacts for the 3D printed yagi antenna which isn’t as good as the helicone but much easier to make and much more versatile with being able to fit inside the small robotic rv dishes, you can check out the 3D printed Yagi project

32GB-DDR5 Ollama Server Based On OrangePi 6+

I built a compact local LLM server based on an Orange Pi 6+ with 32GB DDR5, running Ollama for offline inference and tooling.

Orange Pi 6+ Ollama Server with 32GB DDR5

Goals:

  • Small and power-efficient
  • Quiet enough to live on a shelf
  • Simple deploy + updates
  • Optional NVMe storage

Parts List

  • Orange Pi 6+ (32GB DDR5)
  • 3D Printed Case
  • Evo SD Card These are fast and reliable for the OS. You can also use an NVMe drive for storage, but disk speed is really not as big of a bottleneck as RAM for LLM inference, so I went with a large SD card for simplicity.

Process

  1. Assemble Hardware: Install the Orange Pi 6+ into the 3D printed case, ensuring proper cooling and access to ports. I am leaving the top off because it looks cooler. 😎
  2. Install Ubuntu Server for Arm: available here
  3. Setup Docker and Ollama: I put this simple script together which does all the work for you.
  4. Connect Client: Here are some of the most popular clients for connecting to your Ollama server:

Whisplay Chat Bot Build List

Building a chat bot for Whisplay. This will let you create a portable AI assistant which understands your voice, runs what you say through a large langauge model, and then replies with voice. The “Good” model takes a few seconds between each step to reload the next model. The “Better” model is much faster but requires additional hardware. These are affiliate links.

You have two options, and if you start with the “Good” option you can always upgrade to the “Better” option later. It’s as simple as adding the extra hardware and flashing a new image to your MicroSD card.

Whisplay Parts

The Original Setup: Pretty Good.

Whisplay Basic Setup

My video explaining the basic setup

Here are the minimum required parts to make one that will work whether or not you include the upgraded parts later:

Here is a pre-built image from the manufacturer where everything is already set up: Pre-built Image Simply flash it to your MicroSD card using a tool like balena etcher or rufus and you’re good to go!

If you want to do it all manually, here are the instructions: Manual Setup Instructions

The New Setup: Really Great!

Whisplay Advanced Setup

My video about the advanced setup

To make it much faster, you can also add these parts:

Here is a pre-built image from the manufacturer where everything is already set up: Pre-built Image Simply flash it to your MicroSD card using a tool like balena etcher or rufus and you’re good to go!

If you want to do it manually with the LLM8850, here are the manufacturer’s instructions for manual setup: Manual Setup Instructions

Opportunities for Improvement

  • Switching to Qwen3-ASR for better voice recognition. This is a new open source model from Alibaba that is much better than the current one from OpenAI, but it requires a bit more setup to get working. If integrated, it would be much faster and more accurate for voice recognition in noisy environments.
  • Switching to Qwen3-TTS for better voice generation. This is another new open source model from Alibaba that is much better than the current one. It comes pre-trained with many excellent voices. It also allows cloning voices, so you could have it speak in your own voice or any voice you want. It can also allow editing voices to change whatever aspects of a particular voice you want to change. Again, it requires a bit more setup to get working, but it would be a big improvement in the quality of the voice responses.

Subsequent Update From The Manufacturer

Pipeline improvements for better speed and accuracy

All Seeing Eye

Visit Project Site

The All-Seeing Eye is a distributed RF observer system designed to map the radio spectrum (literally put all the broadcasts on a geographic map) in real-time. By deploying multiple synchronized nodes (ESP32 + CC1101) in a grid, the system creates a “VLBI Cluster” (Very Long Baseline Interferometry) that correlates signal strength (RSSI) from many locations simultaneously.

A primary goal for this project is that each node should cost just a few dollars to build, making it feasible to quickly and affordably deploy dozens or hundreds of them across a region. They can also integrate with meshtastic nodes to enable cheap and offline regional communication and automated alterts for various undesirable behaviors the nodes may observe ocurring throughout the region.

This allows the system to determine where RF broadcasts are originating from, not by having one powerful sensor, but by combining the partial views of many small, low-cost observers.

The project involves optionally 3D printing a custom “Pyramid” enclosure with embedded diffusion lighting to represent the node’s “latent awareness.” You can use any container you like, but the pyramid is designed to be visually striking way of separating the antennas enough that they wont interfere with each other while also clearly communciating what the nodes actually do.

Key Features:

  • Distributed Sensing: Multiple nodes contribute to a single global map.
  • 3D Printed Enclosure: A specialized semi-transparent pyramid design (8” base) with magnetic latches.
  • Hardware: ESP32-S3 and CC1101 modules.
  • Open Source: All code and 3D models are available on GitHub.

Build List

These are the primary components required to build a single node. These are affiliate links.

  • Sparkly semi-transparent purple PLA filament ($19.99)
  • I used an AD5M Pro 3D printer which is 10/10. Fully enclosed and filtered. 220x220x250mm build volume. Very easy to use. ($379)
  • ESP-32 3-pack with IPX MHF1 connector ($17.99)
  • CC1101 module 3-pack ($22.99)
  • IPX MHF1 to SMA Cable 5-pack ($8.29)
  • Jumper wires (male-female) (there are infinite options here but there are what i used) ($6.98)
  • Heltec v3 Meshtastic Node (optional, any meshtastic node with IPX MHF1 connector will do) ($21.99)
  • GY-NEO6MV2 GPS Module (optional) ($9.99)
  • 2.4ghz wifi antenna 4-pack (optional, any wifi antenna with SMA connector will do) ($8.69)
  • 915mhz antenna 2-pack (optional, any 915mhz antenna with SMA connector will do) ($9.99)
  • SMA Extensions 2-pack (optional, but its going to hard to fit everything without these $6.99)
  • Self-advesive breadboard (optional) $8.99

Source Code

Full design documentation, OpenSCAD models, and firmware source code are available in the repository.

Visit Project Site

CJ Streams

The official calendar of all the live streams including CJ.

All my streams from now on will be held on Twitch. View The Calendar Here

Subscribe via Google Calendar Link

Subscribe via iCal Link

The High Desert Institute

Building a foundation for the survival of humanity.

Get Involved: GoFundMe: Help Us Build the Cyberpony Express GoFundMe: Help Us Buy Land Join the Discord Always-free Substack

Follow along: Website Bluesky Youtube TikTok

Learn more at the website: High Desert Institute

CJ's Meme Library (Revamped!)

A vast library of tens of thousands of memes spaning decades of collection and curation. More features coming soon.

The Code: The library’s contents are generated by a Jupyter notebook. You can read the documentation and check out the code here; The Jupyter

BWB/SF

Burners Without Borders in the SF Bay Area is working on disaster preparedness and response.

Get Involved: Several new projects being announced soon!

Follow along: Bluesky

Past Projects

Backup your favorite TikTok accounts

Backs up tiktok accounts in case of disasters.

Analysis Lab — Hardware & Software Stack

My new homelab architecture

Castro Media

Independent, flat media nonprofit featuring progressive, intersectional perspectives on current events.

CJ's AI Toolbox

All the tools and skills you need for your AI toolbox.

Ethical Artificial Intelligence

A recorded livestream discussion on ethical issues in generative artificial intelligence featuring CJ Trowbridge, Future Inifinitive, and The Real Cornpop.

Future Projects

GS-Aparat

Comprehensive Specification for Web-Based Composable Logic App

More...