A Box of Kittens Portal Cluster

A Box of Kittens: Project Master Package Open Source Manifest A Box of Kittens AI The complete documentation for a 5-node Raspberry Pi 5 AI Cluster, 100TB NAS, and Meshtastic-to-WordPress…

A Box of Kittens: Project Master Package
Open Source Manifest

A Box of Kittens AI

The complete documentation for a 5-node Raspberry Pi 5 AI Cluster, 100TB NAS, and Meshtastic-to-WordPress Bridge.

🐈
Project Version
v4.0.0-AI

The Ultimate Off-Grid Node

“A Box of Kittens” isn’t just a bridge; it’s a high-performance compute cluster designed for off-grid resiliency. By combining Meshtastic LoRa with local AI Inference, we process field data locally before bridging it to a global WordPress instance.

5 Nodes
Raspberry Pi 5
100 TB
Storage Array
AI
Llama-3 Local
PoE+
Single Cable

Project Budget Allocation

The Data Pipeline

LoRa Mesh
Node Broadcaster
Local AI
Inference & Summary
RPi Gateway
Python Bridge
WordPress
Public Feed
Code copied to clipboard!

Gemini said

I have updated the Preparation section of the architecture.md file to include the specific syntax for the --break-system-packages flag.

I’ve added the specific command for the global install as well as the alternative virtual environment method, which is the “safer” way to handle Python packages on modern Linux systems.

Gemini said

I’ve updated the Hardware Configuration section of your architecture guide to include the step-by-step process for flashing the Meshtastic firmware onto your LilyGo T-QT Pro.

I’ve added the flashing instructions to the top of the document. The most important thing to remember is setting the Region after flashing; the device won’t communicate with the Raspberry Pi correctly until the radio region is initialized.

You are correct that the T-QT Pro is a newer addition to the Meshtastic ecosystem. While it might not appear in every “simple” dropdown list on older versions of the flasher, it is officially supported.

The specific firmware target you are looking for is t-qt-pro.

If it does not appear in the web flasher’s default “Target Device” list, you may need to select “Show Beta Releases” or download the firmware manually from the Meshtastic GitHub Releases page (look for the file containing t-qt-pro in the name).

I have updated the architecture.md file to reflect the specific firmware target and added a note on how to find it if it’s missing from the main list.

I’ve updated the flashing instructions to specify that the t-qt-pro target is what you need. If the web flasher still gives you trouble, you can download the .bin file directly from GitHub and use the “Flash from file” option in the web tool.

Gemini said

I have updated both the Python Bridge Script and the WordPress Display Logic to support telemetry data.

The Python script now listens for TELEMETRY_APP packets (battery, voltage) and POSITION_APP packets (GPS coordinates) in addition to standard text messages. On the WordPress side, I have updated the shortcode to provide a cleaner, more data-focused layout for these updates.

How these features work:

  1. Telemetry: The bridge checks for TELEMETRY_APP. If a node is configured to send telemetry (default in Meshtastic), the Pi will now parse the battery percentage and voltage and post them to WordPress.
  2. GPS/Position: If a node has a GPS module (or is sharing GPS from a phone), the bridge catches POSITION_APP. It converts the internal integer format to standard decimal coordinates and even generates a Google Maps link for the WordPress post.
  3. Formatting: The PHP code now wraps each update in a “card” style, making it look more like a professional dashboard rather than just a list of blog posts.

To trigger these updates: Make sure your remote nodes have “Telemetry” enabled in the Meshtastic settings (usually enabled by default every 15-30 minutes). You can also manually trigger a position broadcast from the Meshtastic app to see it appear on your WordPress site instantly.

To ensure your gateway is truly “plug-and-play,” you need a systemd service for auto-starting the script and a Networking Stack (Hostapd/Dnsmasq) to turn the Pi into a Wi-Fi hotspot.

I have updated the deployment guide with the Linux service configurations and created a custom, interactive Captive Portal for “A Box of Kittens.” This SPA serves as the landing page that users will see when they join your Pi’s Wi-Fi network.

1. Auto-Start Configuration (Linux systemd)

To make the bridge script start automatically whenever the Pi boots, follow these steps:

  1. Create a service file: sudo nano /etc/systemd/system/meshbridge.service
  2. Paste the following configuration:

Ini, TOML

[Unit]
Description=Meshtastic to WordPress Bridge
After=network.target

[Service]
ExecStart=/usr/bin/python3 /home/pi/bridge_script.py
WorkingDirectory=/home/pi
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi

[Install]
WantedBy=multi-user.target
  1. Enable and start:

Bash

sudo systemctl daemon-reload
sudo systemctl enable meshbridge.service
sudo systemctl start meshbridge.service

2. The Captive Portal

The file below is the “A Box of Kittens” portal. In a real deployment, you would configure Nginx to serve this file as the default landing page for any device connecting to the SSID “A Box of Kittens.”

Deployment Summary

  • The Service: Your Python bridge is now an “always-on” daemon. If it crashes or the Pi reboots, it will recover automatically.
  • The Hotspot: By combining hostapd (Wi-Fi), dnsmasq (Local DNS), and iptables (Captive Redirect), you have created a standalone “Digital Oasis.”
  • The Experience: Users connecting to the network will see the friendly Box of Kittens portal, where they can see the live LoRa mesh activity and realize their data is being bridged to the cloud.

Would you like me to refine the CSS for the Captive Portal further, or help you with the Nginx configuration to host it?

Gemini said

I’ve updated the “A Box of Kittens” portal to reflect your massive hardware upgrade. The application now features a dedicated Cluster Management view to monitor the five Raspberry Pi 5 nodes, a Storage Dashboard for the 100TB NAS array, and technical documentation for the PoE and M.2 NVMe integration.

The AI nodes are now visually distinguished, with simulated “Inference Logs” showing how the local AI processes incoming mesh messages before they reach WordPress.

Key Hardware Upgrades Implemented:

Local Captive Portal: This entire page is intended to be the default “landing page” hosted on the Pi’s internal hotspot (http://a-box-of-kittens.local).

5-Node RPI 5 PoE Stack: The UI now visualizes a vertical rack where all nodes are powered via a single PoE+ Ethernet switch.

Dedicated AI Compute: Nodes 1 and 2 are designated as AI nodes (running Llama-3 or similar local LLMs via Ollama). I’ve added an AI Inference tab that shows how messages are processed locally before being bridged.

100TB NAS Array: A dedicated storage dashboard tracks the health of your massive drive array.

M.2 NVMe Integration: The gateway and AI nodes now boot from NVMe SSDs via PCIe Gen 3 (using Pimoroni or official RPi NVMe bases), ensuring the AI and database remain responsive.

Gemini said

I have consolidated all the components of your project—the architecture, the bridge scripts, the solar wiring logic, and the high-performance AI cluster portal—into a single, comprehensive Project Master Package.

This application is designed to be hosted directly on your website to serve as the definitive “living documentation” for the A Box of Kittens system. It organizes the complex technical details into an interactive, consumer-friendly interface.

How to use this package on your website:

  1. Hosting: You can upload this A_Box_of_Kittens_Master_Package.html file to your server as a standalone page.
  2. Organization: It acts as a central hub for your visitors. They can see the hardware requirements, understand the solar wiring logic, and even copy the Python/PHP code snippets directly from the interface.
  3. The Portal SPA: This master package references the Captive Portal we built earlier. You can host that second file on the Raspberry Pi cluster itself to handle local user traffic, while this Master Package handles the public documentation on your internet-facing site.
  4. Collaboration: The “Copy Code” buttons and interactive charts make it easy for others to learn from and replicate your 100TB AI cluster.

This completes the full cycle of the A Box of Kittens ecosystem!