Build Guide

Complete instructions for the 16-node geometric computer

Prerequisites

Phase 1: Single Node Setup

1

Flash the OS

Download Raspberry Pi Imager and flash Raspberry Pi OS Lite (64-bit) to each SD card.

During setup, enable SSH and set hostname to the node name:

Node naming convention:
- nw1, nw2, nw3 (NW triad)
- ne1, ne2, ne3 (NE triad)
- sw1, sw2, sw3 (SW triad)
- se1, se2, se3 (SE triad)
- c1, c2, c3, c4 (Center dipyramid)
2

First Boot

Insert SD card, connect ethernet, power on. SSH in:

ssh pi@nw1.local

Update the system:

sudo apt update && sudo apt upgrade -y
3

Install Dependencies

sudo apt install python3-pip python3-numpy -y
pip3 install dataclasses-json
4

Deploy Node Software

Copy the epoch_node.py to each Pi:

scp epoch_node.py pi@nw1.local:~/

Test locally:

python3 epoch_node.py --test
Balance Law should pass with 0 deviation

Phase 2: Network Configuration

5

Static IP Assignment

Edit /etc/dhcpcd.conf on each Pi:

# NW Triad
nw1: 192.168.1.11
nw2: 192.168.1.12
nw3: 192.168.1.13

# NE Triad
ne1: 192.168.1.21
ne2: 192.168.1.22
ne3: 192.168.1.23

# SW Triad
sw1: 192.168.1.31
sw2: 192.168.1.32
sw3: 192.168.1.33

# SE Triad
se1: 192.168.1.41
se2: 192.168.1.42
se3: 192.168.1.43

# Center Dipyramid
c1: 192.168.1.101
c2: 192.168.1.102
c3: 192.168.1.103
c4: 192.168.1.104
6

Wiring Topology

Connect all Pis to the 24-port switch. The logical topology:

    PHYSICAL: All nodes to switch (star topology)

    LOGICAL: Geometric tension lines

         NW ════════════════════════════════ NE
          ║ ╲                              ╱ ║
          ║  ╲                            ╱  ║
          ║   ╲                          ╱   ║
          ║    ╲      ┌────────┐       ╱    ║
          ║     ╲     │ CENTER │      ╱     ║
          ║      ════ │  ◈◈◈◈  │ ════      ║
          ║     ╱     │        │      ╲     ║
          ║    ╱      └────────┘       ╲    ║
          ║   ╱                          ╲   ║
          ║  ╱                            ╲  ║
          ║ ╱                              ╲ ║
         SW ════════════════════════════════ SE

    Software routes messages along these logical paths.

Phase 3: Software Deployment

7

Configuration Files

Create cluster_config.json on each node:

{
    "node_id": "nw1",
    "role": "triad",
    "triad": "NW",
    "position": 1,
    "neighbors": ["nw2", "nw3"],
    "center_nodes": ["c1", "c2", "c3", "c4"],
    "ip_map": {
        "nw1": "192.168.1.11",
        "nw2": "192.168.1.12",
        ...
    }
}
8

Start Services

On each node, create a systemd service:

sudo nano /etc/systemd/system/epoch-node.service
[Unit]
Description=Epoch Node Service
After=network.target

[Service]
ExecStart=/usr/bin/python3 /home/pi/epoch_node.py
WorkingDirectory=/home/pi
Restart=always
User=pi

[Install]
WantedBy=multi-user.target
sudo systemctl enable epoch-node
sudo systemctl start epoch-node

Phase 4: Verification

9

Balance Law Test

From the master node (c1), run:

python3 verify_cluster.py

Expected output:

Cluster Verification
====================
Nodes online: 16/16

Balance Law Test:
  τ₁ (NW) = +5.000000
  τ₂ (NE) = -3.000000
  τ₃ (SW) = +2.000000
  τ₄ (CENTER) = -4.000000
  SUM = 0.000000

BALANCE LAW: VERIFIED ✓
If the sum is not zero, check network connectivity and node software versions
10

Resolution Test

Inject a problem and verify resolution:

python3 resolve_test.py --input 60
Resolution Test
===============
Input: 60
Iterations: 0
Resolved: 60.000000
Time: 15.3μs

RESOLUTION: VERIFIED ✓

Phase 5: Bio-Feed Integration

11

Connect Pulse Sensor

Wire pulse sensor to nw1 GPIO:

Pulse Sensor → Raspberry Pi
VCC → 3.3V (Pin 1)
GND → Ground (Pin 6)
Signal → GPIO 18 (Pin 12)

Install pulse sensor library:

pip3 install pulsesensor
12

Map HRV to τ₁

Configure sensor mapping in bio_feed_config.json:

{
    "sensors": {
        "hrv": {
            "node": "nw1",
            "gpio": 18,
            "torsion": "tau1",
            "scale": {
                "min_hrv_ms": 500,
                "max_hrv_ms": 1500,
                "min_torsion": -10,
                "max_torsion": 10
            }
        }
    }
}

Troubleshooting

?

Common Issues

Node not responding:

ping 192.168.1.XX
ssh pi@nodeXX.local
sudo systemctl status epoch-node

Balance Law failing:

# Check individual node torsions
python3 debug_node.py --node nw1

# Verify network timing
python3 sync_test.py

Sensor not reading:

# Test GPIO
python3 test_gpio.py --pin 18

# Check sensor power
# Verify wiring

Next Steps

[1 = -1]