Link-Power
Companion
The unofficial native iOS app for the PeakDo Link-Power family of portable power stations.
Contents
- 1. About Link-Power Companion
- 2. Compatibility
- 3. Quick start
- 4. Connecting to your device
- 5. Reading the dashboard
- 6. DC port control
- 7. USB-C monitoring
- 8. Power limits
- 9. Scheduling DC on/off
- 10. Live Activities & widgets
- 11. Date & time sync
- 12. Expert & Dev modes
- 13. Troubleshooting
- 14. Frequently asked questions
- 15. Privacy & open source
- 16. Support
1About Link-Power Companion
Link-Power Companion is a native iPhone app for the PeakDo Link-Power family of portable power stations: LP1, LP2, and LP+. It connects directly to your device over Bluetooth Low Energy (BLE), gives you live battery telemetry, and lets you control DC output, USB-C power limits, and scheduled on/off behaviour from your phone.
PeakDo's official iPhone solution is a Web App you launch through a third-party browser called Bluefy, because Safari does not implement Web Bluetooth. Link-Power Companion replaces that workflow with a real native iOS app, and adds platform features the Web App can't — Live Activities, Lock Screen widgets, and reliable background reconnection.
The app is free, has no in-app purchases, no ads, no analytics, and no account system. The full source is published under the MIT license at github.com/anglinb/LinkPower-Companion.
2Compatibility
The app supports three Link-Power devices:
| Device | Code | Model | Capabilities |
|---|---|---|---|
| Link-Power 1 | LP1 | BP4SL3V1 | Battery, DC, USB-C, scheduled control, shutdown |
| Link-Power 2 | LP2 | BP4SL3V2 | Battery, DC, USB-C, DC bypass, DC input |
| Link-Power+ | LP+ | BP4SL3 | DC port control |
Different models expose different feature sets. The app shows the controls available for the connected device only; unsupported features are hidden automatically.
iOS requirements: iPhone running iOS 17.0 or later. Bluetooth permission is required (the app will prompt on first use). The iOS Simulator does not support Bluetooth, so you must run on a real device.
3Quick start
- Install Link-Power Companionfrom the App Store (search "Link-Power Companion" or tap the link on linkpower.app).
- Power on your Link-Power. Confirm the BLE icon is showing on its screen — if it's not, enable Bluetooth from the device's on-screen menu.
- Open the app. Allow Bluetooth permission when prompted.
- Tap Scan. Your device should appear within a few seconds; tap it to connect.
- The dashboard now shows live battery state, DC and USB-C status, and remaining runtime.
4Connecting to your device
4.1 First connection
On first launch, the app shows the Connection screen. Tap Scanto look for nearby Link-Power devices. Devices broadcast a BLE name based on their model — your LP2 will appear as something like "LP2-XXXX".
Tap your device in the list. The app pairs over BLE and transitions to the dashboard. Connection typically takes 2–4 seconds.
4.2 Auto-reconnect
After a successful first connection, the app remembers your device and reconnects automatically the next time both are powered on and in BLE range. CoreBluetooth's state restoration APIs handle reconnection in the background, so opening the app on a device you've paired before is usually instant.
4.3 Switching devices
To pair a different Link-Power, swipe down on the dashboard to disconnect, then tap Scan again. You can also tap the connection indicator in the top-left of the dashboard to bring up the device picker.
4.4 Demo Mode
Tap Demo Mode on the connect screen to simulate a connected battery. Demo Mode populates the dashboard with believable values, lets you toggle every control, and is useful for evaluating the app before buying hardware or for testing the UI.
5Reading the dashboard
The dashboard streams live data from BLE notifications, updated roughly once per second. Key fields:
| Field | Meaning | Units |
|---|---|---|
| Battery level | State of charge as a percentage | % |
| Capacity | Remaining energy in the cells | Wh |
| Voltage | Battery pack voltage | V |
| Current | Net current — positive = charging, negative = discharging | A |
| Runtime | Estimated time to empty (when discharging) or full (when charging) | h:mm |
| DC power | Live wattage flowing through the DC port | W |
| USB-C power | Live wattage flowing through the USB-C port | W |
| Temperature | USB-C port temperature | °C |
Above the data cards, a flow strip shows the dominant direction — green when charging, orange when discharging, grey when idle.
6DC port control
The DC card lets you toggle the DC port on or off, monitor live wattage, and (on LP2) enable DC bypass for direct input-to-output passthrough.
6.1 Toggling DC output
Tap the large power switch in the DC card. The change is sent to the device immediately over BLE; the live wattage reading reflects the new state within one second.
6.2 DC bypass (LP2 only)
DC bypass routes the DC input directly to the DC output without buffering through the battery. Useful when you're powered by a constant DC source (solar panel in direct sun, vehicle alternator) and don't want to cycle the battery cells unnecessarily.
7USB-C monitoring
The USB-C card shows the current charge/discharge state, live wattage, port temperature, and (on LP1/LP2) lets you enable or disable output.
7.1 Charging vs discharging
USB-C is bidirectional. The card displays an arrow — down for charging the battery, up for powering an external device. Wattage and temperature update live.
7.2 Output toggle
The output toggle disables USB-C output without affecting the battery's ability to charge from USB-C. Useful for preventing accidental drain when you're not actively using a connected device.
8Power limits
Configure global, input, output, and runtime power caps from 30W to 100W. Limits are stored on the Link-Power device itself and persist across connection drops.
| Limit | Effect |
|---|---|
| Global | Maximum total wattage across all ports |
| Input | Maximum wattage the battery will accept while charging |
| Output | Maximum wattage delivered to a connected device on USB-C |
| Runtime | Auto-cuts power after the configured runtime, in hours |
8.1 Setting a limit
Tap a limit row, drag the slider to the desired value, and tap Save. The value is sent to the device over BLE within one second and is enforced immediately.
9Scheduling DC on/off
Up to 6 active timers per device, each executing a single action (DC port On or Off) at a scheduled time. The 6-timer limit is enforced by the Link-Power firmware.
9.1 Schedule types
- One-shot — fires once at a specific date and time.
- Daily — fires every day at the same time.
- Weekly — pick days of the week.
- Monthly — pick days of the month (1–31).
9.2 Creating a schedule
- Tap the DC Port card on the dashboard.
- Tap Schedules.
- Tap Add Schedule.
- Pick the type, set the time, choose the action (On / Off), and save.
9.3 Editing or deleting
Tap a schedule to edit; swipe left to delete. Changes sync to the device immediately.
9.4 Common recipes
| Use case | Schedule pair |
|---|---|
| Off-grid lighting | Daily 6:30pm On + Daily 12:00am Off |
| Starlink overnight cutoff | Daily 11:00pm Off + Daily 7:00am On |
| Weekly router reboot | Weekly Sun 3:00am Off + Weekly Sun 3:05am On |
| Heater overnight (one-shot) | One-shot 10pm tonight On + One-shot 6am tomorrow Off |
10Live Activities & widgets
Live Activities and Lock Screen / Home Screen widgets are iOS-native features that the PeakDo Web App can't use. Both show live battery state without requiring you to open the app.
10.1 Lock Screen / Home Screen widgets
Long-press an empty area on your Lock Screen or Home Screen, tap Customize or + Add Widget, search Link-Power, and pick a size. Widgets update via WidgetKit several times an hour, faster when the app has been recently active.
10.2 Live Activities
When enabled (Settings → Notifications → Link-Power Companion → Live Activities), the app pins a live battery card to your Lock Screen and Dynamic Island when you have an active session. Useful during long off-grid trips.
10.3 Color coding
- Green — charging
- Orange — discharging
- Grey — idle
11Date & time sync
The Link-Power has its own internal clock that drives scheduled events. The app provides a one-tap sync that pushes your iPhone's current time and timezone to the device.
Settings → Sync date & time
Sync after a timezone change (e.g. you flew to a different country and your existing schedules need to fire at the new local time). The device does not track timezone independently — schedules are interpreted as local time relative to whatever clock you last synced.
12Expert & Dev modes
Expert and Dev modes expose advanced controls. They are hidden by default; enable them in Settings → Advanced.
12.1 Restart
Soft-restart the Link-Power. The device reboots its controller while preserving battery state.
12.2 Shutdown (LP1 only)
Fully shut the device down. Wakes via the physical power button.
12.3 Factory mode
Resets all firmware-stored settings (power limits, schedules, BLE PIN). Battery cells and firmware version are preserved.
12.4 BLE PIN
Optionally set a 6-digit PIN that the device will require on every BLE pairing. Useful in shared environments. PIN verification happens once per connection — once paired, you don't re-enter it.
13Troubleshooting
13.1 Device doesn't appear during scan
- Confirm the BLE icon is visible on the device's screen.
- Confirm Bluetooth is on in iOS Settings.
- Confirm no other client (Bluefy, another phone) is currently connected — only one client at a time.
- Move within ~5 meters of the device while pairing for the first time.
- Force-quit the app (App Switcher → swipe up) and re-open.
13.2 Connection drops randomly
- Range — BLE drops past ~10 meters or through walls. Move closer.
- Interference from other 2.4 GHz devices (microwaves, baby monitors).
- Device firmware needs a restart — try Expert Mode → Restart.
13.3 Schedules aren't firing
- Check the device clock is correct — re-sync via Settings → Sync date & time.
- Confirm the schedule is shown as "active" in the schedules list.
- If you've changed time zone recently, schedules fire in the device's last-synced timezone — sync again.
13.4 Live Activity didn't appear
- Settings → Notifications → Link-Power Companion → Live Activities must be ON.
- Live Activities can be silenced by Focus modes.
- iOS limits the number of simultaneous Live Activities; close others if needed.
13.5 Widget shows stale data
WidgetKit on iOS limits how often a widget can update. Open the app to force a refresh — the widget reads the latest cached state on next paint.
14Frequently asked questions
Is this the official PeakDo app?
No. PeakDo's official iOS solution is a Web App you launch through Bluefy. This app is an independent, community-built native iOS alternative.
What data leaves my phone?
None. The app speaks BLE directly to the Link-Power. There are no servers, no analytics SDK, no crash reporter, and no account system.
Is the source available?
Yes — MIT licensed at github.com/anglinb/LinkPower-Companion. You can audit the BLE protocol, build your own version, or contribute fixes.
Why is the iOS Simulator unsupported?
iOS Simulator does not implement Bluetooth. Run on a real iPhone.
Can I run this and the PeakDo Web App at the same time?
No. Only one Bluetooth client can hold a connection to a Link-Power at a time. Close Bluefy fully before opening this app.
Will my settings transfer if I switch from Bluefy?
All firmware-stored settings (power limits, schedules, device clock, BLE PIN) live on the Link-Power itself, so they're visible to either client. There is nothing to migrate.
15Privacy & open source
Link-Power Companion is privacy-first by design:
- No accounts. Nothing to sign up for.
- No servers. The app speaks BLE directly to the device.
- No analytics SDK. No event tracking.
- No crash reporter calling home.
- All settings are stored either on your iPhone (locally) or on the Link-Power device (firmware).
The full source is published under the MIT license. Audit, fork, contribute, or ship your own version. See github.com/anglinb/LinkPower-Companion.
16Support
Bug reports, feature requests, and questions are welcome on GitHub:
github.com/anglinb/LinkPower-Companion/issues
For PeakDo hardware questions (the device itself, not the app), please contact PeakDo support at peakdo.com.
linkpower.app