Download · Get started

Get Cadnat running.

Install the desktop app on Linux in a few minutes. Add the Cadnat Plans server and phone app when you want plans from the job site.

1. Desktop app on Linux

Download: coming soon

Coming soon. The prebuilt Linux archive is being prepared. Email [email protected] and we will tell you when they are posted.

Once the archive is posted, extract it anywhere in your home folder and run it:

mkdir -p ~/opt
tar -xzf ~/Downloads/cadnat-for-linux.tar.gz -C ~/opt
chmod +x ~/opt/cadnat-gold/cadnat-gold
~/opt/cadnat-gold/cadnat-gold

Cadnat opens in 2D plan view with a demo drawing. Type 3DO for a perspective orbit, middle-drag to orbit, double-click the middle button to zoom to extents, and press Ctrl+Shift+M for the map.

Optional extras: Python 3 with pyproj for coordinate systems, openscad, a local model runtime for the Assistant, offline speech input, and the free LibreDWG tools (dwg2dxf / dxf2dwg) for DWG.

2. Cadnat Plans: the plan server

The plan server runs on the same Linux PC as Cadnat. It is a small Python service (standard library only) that listens only on your PC's address on the private link to your phone. Pro and Builder subscribers get the installer in their setup kit.

You need

  • A private, encrypted link between the PC and the phone (your setup kit walks you through it)
  • bubblewrap for the job sandbox (follow-up drawings refuse to run without it)
  • The AI agent named in your setup kit, installed for your user
  • Cadnat open on the desktop for textured 3D models (optional; without it, jobs use the generator model)

Install and pair a phone

cd ~/cadnat-remote/server
./install.sh                                    # makes server/.venv, no downloads
.venv/bin/cadnat-remote device add "My phone"   # once per phone: makes the keys
.venv/bin/cadnat-remote selftest

Open the port on the private link only

sudo ufw allow in on <private-link-interface> to any port 47830 proto tcp

Use the interface name from your setup kit. Do not open the port on your LAN or public interface.

Run it as a user service

mkdir -p ~/.config/systemd/user
cp ~/cadnat-remote/server/systemd/cadnat-remote.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now cadnat-remote
journalctl --user -u cadnat-remote -f       # watch it
loginctl enable-linger "$USER"              # optional: keep it running when logged out

The service waits for the private link and restarts every 15 seconds until it is up. Other commands: cadnat-remote device list | revoke <id> | rotate <id>, cadnat-remote jobs.

3. Cadnat Plans: the Android app

The app needs Android 14 or newer (minSdk 34). It is installed by sideloading an APK that your own PC builds, so your server address, pinned key and phone secret are compiled in and there is nothing to type.

~/cadnat-remote/android/build-release.sh
# the APK lands in ~/cadnat-remote/dist/cadnat-plans-1.1.0.apk
  1. Copy cadnat-plans-1.1.0.apk to the phone with a USB file transfer to the Download folder, or another private transfer you trust.
  2. On the phone, open the APK in the Files app. When asked, allow Install unknown apps for Files, then install. You can switch that permission off again afterwards.
  3. Open Cadnat Plans. With the private link up, the chip shows Connected.
Your APK is a key. It contains your server address, the pinned server key and your phone's secret. Never post it or send it to anyone. If a phone is lost, run cadnat-remote device revoke <id> on the PC and remove the phone from your private network.

4. Troubleshooting

  • Chip says "Server unreachable": check that the private link is up on the phone and the PC; on the PC check systemctl --user status cadnat-remote.
  • Chip says "Auth failed": the phone's key was revoked or rotated. Rebuild the APK after device add or rotate.
  • Plain-looking 3D model: leave Cadnat open on the desktop so jobs can export its textured model.