Build guide

Build a Jumboshack sender

Turn a Raspberry Pi into a live feed of your geothermal heat pump. It reads your WaterFurnace Aurora control over its Modbus bus, once a minute, and streams the numbers to your Jumboshack dashboard. No soldering, no cloud middleman, and your data stays yours.

โฑ๏ธ ~2 hours start to finish ๐Ÿงฐ ~$60โ€“95 all-in ๐Ÿ› ๏ธ Beginner-friendly โ€” if you can flash an SD card, you can do this

๐Ÿ’ก You don't need an expensive Pi โ€” that's the point

Jumboshack's sender is pure Python, written to run happily on the smallest, cheapest Wi-Fi Raspberry Pis. A Pi Zero 2 W (or the original Zero W) sips power and costs a fraction of a performance board โ€” no $130 Pi 5 required.

Either way, well under a ~$130+ Pi 5 kit. Prices are ballpark and move โ€” check the live links.

Build my setup โ†’
The five steps
  1. Gather the parts
  2. Flash the Raspberry Pi
  3. Wire it to your Aurora
  4. Install the sender software
  5. Get your token, go live & verify

How it fits together

Two small pieces do the work. A USB-to-RS485 adapter gives the Pi a wire into your heat pump's Modbus bus, and a small pure-Python reader โ€” light enough to run on a $15 Pi Zero 2 W over Wi-Fi โ€” pulls the registers and streams each reading to Jumboshack over HTTPS:

  WaterFurnace Aurora โ”€โ”€(RS-485 / Modbus)โ”€โ”€ USB adapter โ”€โ”€ Raspberry Pi
                                                              โ”‚
                                    fetch_modbus.py (native Python) โ†’ push (HTTPS)
                                                              โ”‚
                                                  ingest.jumboshack.com โ†’ your dashboard

It runs from cron every minute and is read-only โ€” it only ever reads registers; it never sends anything back to your equipment. If the network hiccups, the reading is spooled and retried, so a blip never costs you data.

Fast and light. Our native Python Modbus reader pulls a full ~1,500-register snapshot of your heat pump in about 5 seconds โ€” roughly 4.5ร— faster than the off-the-shelf tooling, so it's easy on your Pi and barely touches the control bus. Pure Python, one dependency, no Ruby. (Measured on a Raspberry Pi at 19200 baud; representative, hardware-dependent.)
1

Gather the parts

Everything here is off-the-shelf. If you already run a home lab, you probably have half of it in a drawer. Prices are ballpark.

1a ยท Pick a Raspberry Pi

The sender is featherweight โ€” it reads the Modbus bus and POSTs once a minute โ€” so even the smallest Pi is plenty. Choose on budget vs. convenience. The CanaKit kits bundle the microSD card, power supply, and case, so if you buy a kit you can skip section 1c entirely.

Availability note: the tiny Pi Zero kits have been frequently out of stock lately. If they are, the CanaKit Pi 3 B+ Starter Kit below is a reliable in-stock complete kit and works great. Stock and prices move โ€” check the live links.

OptionBest for~Price
Raspberry Pi Zero 2 W โ€” board only Cheapest and lowest power draw. Ideal for a dedicated sender if you'll add your own SD / power / case. ~$18
CanaKit Pi Zero 2 W Starter Kit Same tiny Pi, but microSD + power supply + case in one box โ€” the simplest complete start. ~$40
CanaKit Raspberry Pi 3 B+ Starter Kit (32 GB) โœ… in stock now A complete kit (board, microSD, power, case) โ€” our go-to right now, since the tiny Zero kits keep selling out. Full-size ports; plenty for the sender. ~$110
CanaKit Pi Zero W Complete MAX Kit (64 GB) โ˜… what we run The exact complete kit running our own Jumboshack senders โ€” the original Zero W, more than enough for the job. It's the MAX (64 GB) edition, so it costs more than a basic kit; buying fresh, the Zero 2 W above is faster for the same footprint and less money. $79.99
CanaKit Pi 4 (4 GB) Starter Kit Full-size USB-A ports and extra headroom if this Pi will run other things too. Complete kit. ~$100
Raspberry Pi 5 (8 GB) โ€” board only The bare Pi 5 if you already have an SD card, power supply, and case โ€” most horsepower for the money. ~$80
CanaKit Pi 5 Starter Kit PRO โ€” Turbine Black (128 GB, 8 GB RAM) Most capable โ€” overkill for the sender alone, great if it's also your home-lab box. ~$260

1b ยท The RS-485 tap (required)

PartWhy~Price
USB-to-RS485 adapter (FTDI-based) Required. The wire into your heat pump's Modbus bus. FTDI-based adapters are the most reliable and show up as /dev/ttyUSB0. Avoid cheap MAX485-only boards. $10โ€“15
3 ft Cat5e patch cable (to sacrifice) The Aurora's AID Tool port is an RJ-45 jack. A short Cat5e (or Cat6) cable, cut at one end, gives you the exact twisted pairs to land on the adapter (see step 3). Category doesn't matter at Modbus speeds โ€” Cat5e is plenty; plain Cat5 is obsolete, skip it. ~$5
Ferrule kit + crimper (optional) Clean, secure terminations into the adapter's screw terminals. Optional but tidy. ~$10

1c ยท Add these only if you didn't buy a kit

PartWhy~Price
microSD card (32 GB, name-brand) Holds Raspberry Pi OS and the sender. Name-brand cards last far longer. ~$8
Power supply for your Pi model Use the correct one โ€” under-powered Pis misbehave in confusing ways. ~$10
CanaKit PiSwitch โ€” inline power switch Optional: a USB-C on/off switch so you can cleanly power-cycle the sender without yanking the plug โ€” handy for an always-on box by the air handler. ~$10
Case (optional) Keeps the Pi tidy near the air handler. Any case for your model works. ~$8

As an Amazon Associate, Jumboshack earns from qualifying purchases. Some links above are affiliate links โ€” if you buy through them we may earn a small commission at no extra cost to you. We only list parts we actually use.

Don't have a WaterFurnace? This guide is written for the WaterFurnace Aurora control, but Jumboshack accepts data from anything that can POST JSON. If you've already got readings from another source, skip to the API guide and send them straight in.

Tracking air quality? A WiFi Airthings View Plus (radon + COโ‚‚ + VOC + PM) or View Radon streams into Jumboshack too โ€” follow the air-quality setup guide. (Affiliate links.)
2

Flash the Raspberry Pi

Use the official Raspberry Pi Imager. Choose Raspberry Pi OS Lite (no desktop needed), and in the Imager's settings (the โš™๏ธ gear) before you write:

Write the card, pop it in the Pi, and power up. Give it a minute, then connect:

ssh pi@pi-geo.local
3

Wire it to your Aurora

Power down the air handler at the breaker before you touch any wiring, and if you're not comfortable around low-voltage HVAC controls, have an installer land the three wires. The RS-485 bus is low voltage, but treat it with respect.

The Aurora's AID Tool port is a standard RJ-45 jack carrying the RS-485 (Modbus) bus. The cleanest tap is a cheap Ethernet cable: plug it into the AID port, cut off the far end, and land the two data pairs on your USB-RS485 adapter's A (D+) and B (Dโˆ’) screw terminals โ€” keeping each pair twisted right up to the terminal for a clean signal.

  WaterFurnace AID Tool port โ€” RJ-45 jack (standard T568B Ethernet colors)
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
    RJ-45 pin 1  white/orange โ”
    RJ-45 pin 3  white/green  โ”ดโ”€โ”€ twist โ”€โ”€โ–บ  RS-485 adapter:  A   (D+ / TXD+)

    RJ-45 pin 2  orange       โ”
    RJ-45 pin 4  blue         โ”ดโ”€โ”€ twist โ”€โ”€โ–บ  RS-485 adapter:  B   (D- / TXD-)

    other pins (24 VAC + unused) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ  DO NOT connect or short
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
    RS-485 adapter โ”€โ”€โ”€โ”€ USB โ”€โ”€โ”€โ”€โ–บ  Raspberry Pi          โ†’  /dev/ttyUSB0
    serial: 19200 baud ยท 8 data bits ยท ODD parity ยท 1 stop bit
Never short the pins. Two of the AID port's pins carry 24 VAC โ€” keep them well clear of the A/B data pins and of each other. A slip can blow the board's 3 A fuse, or worst case damage the control board. Only the four data wires above go to the adapter.
DSD TECH USB-RS485 adapter showing its printed pinout โ€” 1 A+, 2 B-, 5 GND โ€” with the made cable's twisted pair landed in the terminals
The DSD TECH adapter's own printed key: terminal 1 = A+, 2 = Bโˆ’, 5 = GND. Land the two twisted data pairs on 1 and 2.
Close-up of the two twisted pairs from the Ethernet cable screwed into the adapter's green terminal block
Twisted pairs seated in the green screw terminals.
The adapter mounted by the air handler, cable landed, USB running to the CanaKit PiSwitch
Mounted by the air handler, USB to the PiSwitch.
Boards vary slightly. If your AID port or adapter is labeled differently, the rule is the same: the two RS-485 data lines go to A (D+) and B (Dโˆ’), and the 24 VAC pins are left untouched. A 2-wire A/B connection is all the sender needs โ€” add the adapter's GND only if your board exposes a dedicated communications ground.

Plug the adapter into the Pi. It should appear as /dev/ttyUSB0:

ls -l /dev/ttyUSB0
4

Install the sender software

It's pure Python with a single dependency โ€” no Ruby, no compilers, no proprietary tooling. Install Python and the Modbus library, then grab the open-source Jumboshack sender:

# Python 3 + the Modbus library
sudo apt update && sudo apt install -y python3 python3-pip
pip3 install minimalmodbus

# the open-source Jumboshack sender โ€” read every line before you run it
git clone https://github.com/jumboshack/jumboshack-sender.git ~/jumboshack-sender
cd ~/jumboshack-sender

Smoke-test the wiring โ€” read your unit once and print it:

python3 fetch_modbus.py --unit 1

If that prints your heat pump's temperatures instead of an error, your wiring is good and the hard part is done. ๐ŸŽ‰ The reader is the same code we run on our own units โ€” native Python, read-only, and validated field-for-field against the reference tooling.

5

Get your token, go live & verify

a. Create a device token

In your Jumboshack Account, add a Location, then add a Device. You'll see a one-time token that looks like jsk_โ€ฆ โ€” copy it now; it's shown only once. That token is what ties this Pi's data to your account.

b. Point the sender at your account

Drop your token and the ingest URL into ingest.env (it's gitignored โ€” your token never leaves the Pi):

# ~/jumboshack-sender/ingest.env
INGEST_TARGETS=cloud
INGEST_URL_cloud=https://ingest.jumboshack.com/api/ingest/geothermal
INGEST_TOKEN_cloud=jsk_your_device_token_here

c. Dry-run first

Send one reading with ?validate=1 โ€” it parses and checks your payload but stores nothing, so you can confirm the plumbing before you commit:

curl -X POST "https://ingest.jumboshack.com/api/ingest/geothermal?validate=1" \
  -H "Authorization: Bearer jsk_your_device_token_here" \
  -H "Content-Type: application/json" \
  --data @sample-reading.json

A "valid": true response means you're good. (Full payload shape and every accepted field are in the API guide.)

d. Schedule it every minute

Run crontab -e and add:

* * * * * /home/pi/jumboshack-sender/run.sh > /home/pi/jumboshack-sender/lastrun.log 2>&1

Within a minute, your dashboard lights up โ€” live temperatures, power, pressures, flow, and a schematic of your loop. From here, History and Cost fill in on their own, day after day.

The finished Jumboshack sender: WaterFurnace Aurora control, Raspberry Pi, the DSD TECH RS-485 adapter lit up, the Ethernet tap cable, and the PiSwitch, all in place by the air handler
The finished sender in place โ€” Aurora control, Pi, RS-485 adapter (green LED lit), the Ethernet tap, and the PiSwitch โ€” quietly streaming to your dashboard.

Troubleshooting

Want the shortcut?

Don't feel like sourcing parts? We're putting together pre-configured Jumboshack kits that stream out of the box. Tell us about your setup and we'll get you sorted.

Ask about a kit