OpenView 2 is ProtoCentral’s free, open-source visualization app for ProtoCentral biosignal breakout boards. It captures live data from any supported board over USB serial (desktop) or Bluetooth Low Energy (mobile) and renders the signals — ECG, SpO2, heart rate, respiration, GSR, body temperature — in real time, with no firmware writing or DSP work needed on your end. Just upload the OpenView example sketch from the corresponding ProtoCentral Arduino library, plug the board in (or pair over BLE), pick the port or device, and you’re recording.
Built on Flutter / Dart, a single codebase delivers a modern, responsive UI with native performance across Windows, Linux, iOS, and Android. (A native macOS desktop binary is not yet shipped — Mac users either run the iPad version on Apple-Silicon Macs or build from source; see the macOS section below.)
Note for users of the original OpenView: the Java-based OpenView GUI v1 has been retired in favour of OpenView 2. v1 is no longer maintained, no longer receives new board support, and is no longer recommended for any new project. All current and future ProtoCentral boards are supported only by OpenView 2. If you still have v1 deployed, please migrate — the wire protocol is identical, so the same Arduino sketch you used for v1 will work with v2 unchanged.
Disclaimer: OpenView is intended for research, prototyping, and educational use. It is not a clinical-grade application and should not be used for medical diagnosis or patient monitoring.
Supported boards
OpenView 2 currently supports the following ProtoCentral boards. For each one, upload the dedicated OpenView example sketch from the board’s Arduino library; OpenView will then auto-recognise the data stream when you select the matching board in the dropdown.
| Board | Signals captured |
|---|---|
| MAX30003 ECG Breakout | Single-lead ECG · heart rate (R-R) |
| MAX30001 ECG + Bio-Z Breakout | Single-lead ECG · respiration (Bio-Z) · heart rate |
| tinyECG Module | Same as MAX30001, on a QT Py / XIAO base |
| ADS1292R ECG/Respiration Shield | 1-channel ECG + respiration |
| ADS1292R ECG/Respiration Breakout Kit | 1-channel ECG + respiration |
| ADS1293 3-Channel ECG Breakout | 3 simultaneous ECG channels (Lead I, II, V1) |
| AFE4490 Pulse Oximeter Breakout / Shield | RED + IR PPG · SpO2 · heart rate |
| Pulse Express | PPG · SpO2 · heart rate · BPT |
| tinyGSR (Qwiic) | Skin conductance (GSR / EDA) |
Important — host MCU clock speed: OpenView 2 streams data at a rate that needs a fast host MCU. We recommend a board with a 48 MHz or faster clock — for example, the Arduino Uno R4 Minima / WiFi (RA4M1 at 48 MHz) or any modern ESP32 / RP2040 board. The classic Arduino Uno R3 (16 MHz, ATmega328P) is too slow for the higher sample rates and will produce dropped frames or garbled traces.
Download & install
OpenView 2 is open source and free on every platform we ship to. Pick the install path for your device:
| Platform | How to install | Source |
|---|---|---|
| iPhone / iPad | App Store (free) — search “OpenView” by Circuitects Electronic Solutions | apps.apple.com/app/openview/id1667747246 |
| Android phone / tablet | Google Play (free) — search “Protocentral OpenView” | play.google.com/store/apps/details?id=com.protocentral.openview |
| Windows 10 / 11 (x64) | Portable ZIP from GitHub Releases — unzip and run | OpenView2-windows.zip (~11 MB) |
| Linux (x86_64) | Portable ZIP from GitHub Releases — unzip and run | OpenView2-linux.zip (~18 MB) |
| macOS | iPad version on Apple-Silicon Macs (recommended), or build from source | App Store on M-series Mac · or flutter build macos from the source repo |
About the desktop builds: the Windows and Linux releases ship as plain ZIP archives — there is no
.exeinstaller,.AppImage, or.debpackage. Just unzip and run the executable inside. This keeps the download footprint small and lets you put OpenView 2 on a USB stick or a locked-down lab machine without admin rights.
iOS / Android — mobile install
- Open the App Store (iOS) or Google Play (Android) and search “OpenView” (publisher: Circuitects Electronic Solutions Private Limited on iOS, ProtoCentral on Android). Or use the direct links in the table above.
- Tap Get / Install. The app is free and contains no ads or in-app purchases.
- The mobile app talks to Bluetooth-LE-equipped ProtoCentral boards (e.g. HealthyPi Move, Pulse 3+) — not USB-serial boards. On first run, allow Bluetooth and Location permission so the app can scan for nearby devices.
- Updates are handled automatically by the App Store / Play Store.
Windows — portable ZIP
- Go to the latest release page and download
OpenView2-windows.zip. - Right-click the ZIP → Extract All… → pick a folder (e.g.
C:\Tools\OpenView2). - Open the extracted folder and double-click
OpenView2.exe.
First-run note: Windows SmartScreen may show “Windows protected your PC” the first time. Click More info → Run anyway to launch. Subsequent runs are silent. Because the build is unsigned, your antivirus may also flag it briefly — the source is fully published on GitHub if you want to verify before allowing it.
Linux — portable ZIP
- Download
OpenView2-linux.zipfrom the latest release page. - Extract and run the executable:
unzip OpenView2-linux.zip -d ~/OpenView2 cd ~/OpenView2 chmod +x openview2 # first run only ./openview2 - (Optional) Pin a launcher to your desktop environment by creating a
.desktopfile in~/.local/share/applications/pointing at the extracted binary.
Linux serial-port permission: the first time you run OpenView 2, it may not see your USB serial device. Add yourself to the
dialoutgroup (Debian / Ubuntu) oruucpgroup (Arch / Fedora), log out, and log back in:sudo usermod -aG dialout $USER
macOS — current options
A native .dmg build for macOS is not currently published on GitHub Releases. Two ways to run OpenView 2 on a Mac today:
- Apple Silicon Macs (M1 / M2 / M3 / M4): install the iPad version from the App Store. Open the App Store, search “OpenView” by Circuitects Electronic Solutions Private Limited, and click Get — Apple-Silicon Macs run iPad apps natively. USB-serial dongles are not exposed to iPad apps, so this works for Bluetooth-LE-equipped ProtoCentral boards (HealthyPi Move, Pulse 3+) but not for USB-only boards.
- Intel Macs, or USB-serial boards on any Mac: build from source —
Requires a recent Flutter SDK and Xcode command-line tools.git clone https://github.com/Protocentral/protocentral_openview2.git cd protocentral_openview2 flutter pub get flutter build macos --release open build/macos/Build/Products/Release/openview2.app
A signed, notarised .dmg is on the roadmap — track the OpenView 2 issue tracker for progress.
Build from source (any OS, all platforms)
For developers and contributors, or for unusual targets (Linux on ARM, macOS on Intel, etc.):
git clone https://github.com/Protocentral/protocentral_openview2.git
cd protocentral_openview2
flutter pub get
flutter build windows # or: linux, macos, ios, apk, web
The build output lands under build/. See the Flutter desktop deployment docs for platform-specific signing and packaging tips.
Setup & first run (USB-serial boards on Windows / Linux)

- Install OpenView 2 on your computer using the table above.
- Upload the OpenView example sketch to your host MCU. Each ProtoCentral Arduino library ships with a sketch named something like
openview_example.inoin File → Examples → ProtoCentral→ openview_example . Upload it to your Arduino / ESP32 / RP2040. - Plug the host MCU into your computer over USB.
- Launch OpenView 2:
- Windows: double-click
OpenView2.exefrom the extracted folder (you can also pin it to the Start menu or Taskbar). - Linux: run
./openview2from the extracted folder, or launch via your distro’s desktop environment if you’ve added a.desktopentry.
- Windows: double-click
- On the start screen:
- Select your Board from the dropdown (e.g. MAX30001 ECG & BIOZ breakout, tinyGSR breakout, AFE4490 breakout).
- Select your Port (the USB serial port your MCU is on — typically labelled with the board name on Linux, or
COMxon Windows). - Click Start.
- Attach the sensor as described in the board’s getting-started doc (electrodes for ECG / GSR, finger probe for SpO2, etc.) and you should see live data streaming on screen.
Setup & first run (BLE boards on iOS / Android)
For Bluetooth-LE-equipped ProtoCentral boards (HealthyPi Move, Pulse 3+, etc.):
- Install OpenView from the App Store (iOS) or Google Play (Android).
- Power on your ProtoCentral BLE board.
- Open the app and grant Bluetooth + Location permissions when prompted.
- Tap Scan, pick your device from the list, and tap to connect.
- The corresponding live-data screen opens and streams continuously while the device is in range.
Updating OpenView 2
| Install method | How updates work |
|---|---|
| App Store (iOS) / Google Play (Android) | Automatic — handled by the store |
| Windows / Linux portable ZIP | Download the newer ZIP from Releases, extract over the old folder. Settings are stored under your user profile and are preserved. |
| Built from source | git pull && flutter pub get && flutter build |
Features
- Live waveform display — ECG, PPG, GSR, BioZ, temperature traces with auto-scaling
- Computed values — heart rate (BPM), SpO2 (%), respiration rate (BPM), and BPT for boards that support it
- Multi-channel support — up to 3 simultaneous traces for the ADS1293
- Cross-platform single codebase — native performance on Windows, Linux, iOS, and Android (macOS via iPad-on-M-series or build-from-source)
- USB-serial on desktop, BLE on mobile — pick whichever transport suits your board
- Free and open source — MIT-licensed, contributions welcome on GitHub
Troubleshooting
OpenView doesn’t see my serial port
- Make sure the correct USB drivers are installed for your host MCU (e.g. CP2102 / CH340 drivers for some clones, native serial for QT Py and Uno R4)
- Close any other application that might have the port open (Arduino IDE Serial Monitor, PuTTY, etc.) — only one process can hold a serial port at a time
- On Linux, confirm you’re in the
dialoutgroup (see Linux install section above)
No data / blank traces after clicking Start
- Confirm you’ve uploaded the OpenView example sketch for your board (not the standard Plotter example)
- Verify the board you selected in OpenView matches the sketch you uploaded
- Check that the host MCU isn’t on a port being captured by another app
Choppy or dropped traces
- Almost always a host MCU clock-speed issue. Switch from a classic Arduino Uno R3 to an Arduino Uno R4 Minima/WiFi or any 48 MHz+ board
- Reduce the sample rate in the sketch if you must use a slower MCU (consult the board’s getting-started doc for the available rates)
Mobile app can’t find my BLE device
- Make sure the board is powered and within 1–2 m of the phone for the first pairing
- Confirm the OpenView app has both Bluetooth and Location (Android) / Local Network + Bluetooth (iOS) permissions in system settings
- Some Android phones throttle BLE scanning while the screen is off — keep the screen on during the first scan
- If the device shows up but won’t connect, force-quit and reopen the app, or toggle Bluetooth off/on
Resources
- Source code: github.com/Protocentral/protocentral_openview2
- Issue tracker: github.com/Protocentral/protocentral_openview2/issues — report bugs, request features
- Latest desktop releases: github.com/Protocentral/protocentral_openview2/releases/latest
- iOS app: apps.apple.com/app/openview/id1667747246
- Android app: play.google.com/store/apps/details?id=com.protocentral.openview
Licence
OpenView 2 is released under the MIT License.
