Skip to content

About

Cross-platform BLE thermal controller for iOS, Android, and Windows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

BLE Thermal Controller

Cross-platform Bluetooth Low Energy (BLE) controller for an 8-channel or 16-channel thermal-control board. The repository contains native iOS, Android, and Windows applications that use the Nordic UART Service (NUS) to connect to the controller.

The apps are designed for laboratory and prototype hardware. Verify channel wiring, power limits, and emergency shutdown behavior before operating a physical device.

Platforms

Platform Source Install package Notes
iOS / iPadOS BLEThermalController/ and BLEThermalController.xcodeproj/ Not included Build and sign with Xcode.
Android BLEThermalControllerAndroid/ Debug APK in GitHub Releases Android 8.0 (API 26) or newer.
Windows BLEThermalControllerWindows/ win-x64 ZIP in GitHub Releases Windows 10 2004+ or Windows 11, 64-bit.

The current release assets are available from GitHub Releases. The iOS project is source-only because device installation requires an Apple signing identity.

Main Features

  • Automatically scans for BLE devices named ADC_nrf in 8-channel mode.
  • In 16-channel mode, automatically connects ADC_nrf_A to channels 1-8 and ADC_nrf_B to channels 9-16.
  • Enforces one enabled channel at a time across all connected controllers.
  • Explicitly turns all channels off when a controller is first connected.
  • Restores the last enabled channel, target temperature, and magnet state after an unexpected BLE reconnect.
  • Uses a default target temperature of 40 C without requiring a temperature button to be selected first.
  • Displays received STAT and DBG temperature data immediately.
  • Does not include temperature CSV export or target-dependent temperature display filtering.

Quick Start

iOS / iPadOS

  1. Open BLEThermalController.xcodeproj with Xcode 16 or newer.
  2. Choose your Apple ID under Signing & Capabilities.
  3. Change the bundle identifier to one owned by your team.
  4. Select a physical iPhone or iPad and run the app.

The iOS Simulator cannot test BLE hardware. A free Apple ID can install the app through Xcode on its own devices for a limited signing period; TestFlight, App Store distribution, and distributable IPAs require Apple Developer Program membership.

Android

Open BLEThermalControllerAndroid/ in Android Studio, let Gradle sync, then run the app target. To build from a terminal:

cd BLEThermalControllerAndroid
./gradlew assembleDebug

The output is app/build/outputs/apk/debug/app-debug.apk. It is debug-signed for testing, not a Play Store release.

Windows

Download and fully extract the Windows ZIP from the latest GitHub Release, then run BLEThermalController.exe. The release is not code-signed, so Windows may show a security notice.

To build the source project on Windows:

dotnet build .\BLEThermalControllerWindows\BLEThermalControllerWindows.csproj -c Release

Controller Use

  1. Power the controller board and enable Bluetooth.
  2. Select 8-channel or 16-channel mode in the app.
  3. Wait for automatic connection, or use Scan after powering a board later.
  4. Enable one channel, set its target temperature if needed, and select the required magnet state.

Temperature values on screen follow live controller messages. A displayed temperature is not held back until a setpoint is selected.

Repository Layout

BLEThermalController/           iOS and iPadOS SwiftUI source
BLEThermalController.xcodeproj/ Xcode project
BLEThermalControllerAndroid/    Native Android source
BLEThermalControllerWindows/    Native Windows WPF source

The firmware is intentionally not included in this public application source repository. Generated build folders, signing files, and packaged binaries are also excluded from version control.

Verification

The 2026-08-28 source revision was verified with:

xcodebuild -project BLEThermalController.xcodeproj -scheme BLEThermalController \
  -sdk iphonesimulator -configuration Debug CODE_SIGNING_ALLOWED=NO build

cd BLEThermalControllerAndroid
./gradlew assembleDebug lintDebug

dotnet build BLEThermalControllerWindows/BLEThermalControllerWindows.csproj -c Release

Hardware BLE communication, high-current operation, and thermal-control safety must be validated on the target system before use.

License

No open-source license has been granted for this repository. Contact the repository owner before redistributing or reusing the source code.

About

Cross-platform BLE thermal controller for iOS, Android, and Windows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages