Installation - Kulitorum/Decenza GitHub Wiki
Decenza runs on Android, iOS, macOS, Windows, and Linux. Choose your platform below.
Download the latest release: GitHub Releases ยท iOS App Store
Android is the most common platform โ most DE1 owners use the Decent-supplied Teclast tablet or a Samsung/Lenovo tablet placed next to the machine.
- On your Android device, open a browser and go to the GitHub Releases page
- Tap the
.apkfile under the latest release to download it
Android blocks apps that didn't come from the Play Store by default. You need to enable installation from your browser:
- Android 8+: When you tap the APK, Android will prompt you to allow your browser to install unknown apps. Tap Settings โ toggle on Allow from this source โ go back and tap Install
- Older Android: Android Settings โ Security โ enable Unknown sources
Tap the downloaded APK and follow the installer prompts. When Decenza first opens, grant these permissions:
| Permission | Why it's needed |
|---|---|
| Bluetooth | Connect to the DE1 machine and scale |
| Location | Required by Android for Bluetooth scanning (OS restriction โ Decenza does not use your GPS location) |
| Files / Storage | Import profiles and manage backups |
| Nearby devices (Android 17+) | Lets the web server, MQTT, a WiFi scale and device transfer reach your network |
If you accidentally denied a permission, go to Android Settings โ Apps โ Decenza โ Permissions to grant it manually.
Android aggressively kills background apps to save battery, which causes Decenza to disconnect mid-shot. This is the most common cause of connection problems.
Android Settings โ Battery โ Battery Optimization โ find Decenza โ tap Don't optimize
The exact path varies by manufacturer:
- Samsung: Settings โ Device care โ Battery โ Background usage limits โ Never sleeping apps โ add Decenza
- Lenovo: Settings โ Battery โ Power saving exceptions โ add Decenza
- Stock Android: Settings โ Apps โ Decenza โ Battery โ Unrestricted
Decenza checks for updates automatically and shows a banner when a new version is available. You can also update through the web interface: open http://<tablet-ip>:8888 in a browser โ burger menu โ Update App โ upload the new APK.
If the APK won't install after an update: Android may report the package as invalid or refuse the install if it considers the new version a "downgrade" (can happen after switching between release tracks). Uninstall the old version first, then install fresh from the latest APK.
Requires iOS or iPadOS 18 or later.
- Open the App Store on your iPhone or iPad
- Search for "Decenza"
- Tap Get and authenticate with Face ID or your Apple ID
- The app costs $10 โ iOS is the only paid platform, to help offset Apple Developer Program fees
- Tap Open to launch; grant Bluetooth permission when prompted
iOS releases typically arrive 2โ3 days after other platforms because each update goes through Apple's review process.
Updating: Updates come through the App Store automatically, or tap Update next to Decenza in the App Store.
Requires macOS 14.4 (Sonoma) or later.
- Download the
.dmgfile from GitHub Releases - Open the
.dmgand drag Decenza to your Applications folder - Launch Decenza from Applications or Launchpad
First launch โ Gatekeeper warning: macOS may block the app because it is not notarized through the Mac App Store. If you see "Decenza cannot be opened because the developer cannot be verified":
- Right-click (or Control-click) Decenza in Applications โ Open โ click Open in the dialog
- Or: System Settings โ Privacy & Security โ scroll down to the security message about Decenza โ click Open Anyway
You only need to do this once.
Bluetooth permission: macOS will ask for Bluetooth access on first launch โ click OK to allow it.
- Download the
_installer.exefile from GitHub Releases - Run the installer โ it installs Decenza and all required Qt dependencies automatically
- Launch Decenza from the Start menu or desktop shortcut
SmartScreen warning: Windows may show "Windows protected your PC" because the installer is not signed with an EV code certificate. Click More info โ Run anyway.
Bluetooth permission: If Windows asks for Bluetooth access, click Allow.
Updating: Decenza checks for updates automatically. You can also update via the web interface (burger menu โ Update App).
- Download the Linux binary from GitHub Releases
- Install it to
/usr/local/binโ this avoids Bluetooth permission issues on systems where the home folder is mountednosuid:sudo cp Decenza /usr/local/bin/Decenza sudo chmod +x /usr/local/bin/Decenza
You can run it from your home folder too, but
/usr/local/binis more reliable. If your home partition is mountednosuid(check withmount | grep /home), running from home will silently break Bluetooth even after applying the permission below.
Decenza needs the CAP_NET_ADMIN capability to scan for Bluetooth devices. Without it, the app will find the DE1 in a scan but never bring it online.
sudo setcap 'cap_net_admin+eip' /usr/local/bin/DecenzaVerify it was applied:
getcap /usr/local/bin/Decenza
# Should show: /usr/local/bin/Decenza cap_net_admin=eipFrom v1.6.7+: If the capability is missing, Decenza shows a dialog at startup with the exact
setcapcommand for your install path โ so you won't have to guess.
After every update: The capability is tied to the binary file. Re-run the
setcapcommand each time you install a new version.
/usr/local/bin/DecenzaIf Decenza finds the DE1 in a scan but it never shows as Online, a stale BlueZ cache is the most common cause โ especially after a routine OS or library update.
- Get the DE1's MAC address from Decenza's log or Settings โ Connections
- Remove the cached entry and restart Bluetooth:
bluetoothctl remove <DE1-MAC> sudo systemctl restart bluetooth sudo hciconfig hci0 reset
- Power-cycle the DE1 (switch at the back, wait 10 seconds)
- Relaunch Decenza and scan again
Allow the DE1 a few seconds after powering on before scanning โ if Decenza scans before the DE1 is advertising, the first attempt will fail. A manual rescan from Settings โ Connections will pick it up immediately once it's ready.
Once installed, Decenza will start scanning for your DE1 automatically. Before it can connect:
1. Close the DE1 app (de1app) completely
Only one app can hold the Bluetooth connection at a time. The de1app running in the background is the most common reason Decenza can't connect.
- Android: Press the square recent-apps button โ find the de1app card โ swipe it away
- iOS: Swipe up from the bottom (or double-press Home) โ swipe away the de1app card
- Desktop: Quit the de1app from the menu bar or taskbar
2. Power on the DE1
The machine must be awake for Decenza to find it.
3. Watch for the connection indicator
The top status bar shows the DE1 firmware version when connected. If it shows "no device found" after 30 seconds, go to Settings โ Connections โ Scan Devices.
4. Connect your scale (optional)
Most Bluetooth scales are detected automatically. If yours isn't found, put it in pairing mode and tap Settings โ Connections โ Scan Devices. See Manual#appendix-c-supported-scales for the full list.
- Close the de1app completely (the most common cause โ see above)
- Check Bluetooth is enabled on your device
- On Android: confirm Location permission is granted (required for BLE scanning)
- On Android: confirm battery optimization is disabled for Decenza
- Power-cycle the DE1 (turn it off and back on)
- Restart Decenza
The de1app may be holding the BLE connection to the scale. Close it completely, then tap Settings โ Connections โ Scan Devices.
Android Settings โ Apps โ Decenza โ Permissions โ enable Bluetooth, Location and (Android 17+) Nearby devices.
Uninstall the existing version of Decenza first, then install from the latest APK on GitHub.
See the Linux troubleshooting section above โ stale BlueZ cache after an OS update is the most common cause.
Run getcap /usr/local/bin/Decenza โ if the output is empty, the CAP_NET_ADMIN capability was never set or was cleared by an update. Re-run:
sudo setcap 'cap_net_admin+eip' /usr/local/bin/DecenzaTry running from Terminal:
xattr -d com.apple.quarantine /Applications/Decenza.appUsually a missing permission or battery optimization issue on Android. See FAQ#troubleshooting for the full checklist.
After installing, see the Manual for a full guide to using Decenza, or the FAQ for quick answers to common questions.