Skip to main content

BlinkUp SDK Downloads

Electric Imp’s BlinkUp technology provides a convenient, quick and easy way to configure an imp-enabled device to access the Internet via a WiFi network. Supporting BlinkUp in your apps ensures your users can not only to operate your device using only their mobile phone or tablet, but also set up and connect the product out of the box within seconds.

The BlinkUp Software Development Kits (SDKs) provides equally handy and straightforward tools to help you integrate BlinkUp into iOS and Android apps. There are separate SDKs for each of these operating systems.

Electric Imp also offers a BlinkUp implementation based on JavaScript with which to develop BlinkUp-compatible web apps. This is currently in Beta release and as such is not yet formally supported. It is provided solely for customer evaluation and testing.

The Android and iOS BlinkUp SDKs, and the JavaScript BlinkUp Library Beta, may only be incorporated into mobile apps developed by or for Electric Imp customers. You will require a BlinkUp API Key to authorize every access your app makes to the Electric Imp impCloud™ via the SDK or Library. Please contact us to discuss the advantages of becoming an Electric Imp customer.

Update

The native BlinkUp SDKs are now available via GitHub repos which provide the downloadable files in a form that will allow you to add the SDK to your app project repos as a git sub-module. You can then pull in SDK changes manually at build time, or automatically through your build scripts.

Instructions for adding sub-modules are included in each repo’s Read Me.

Latest Versions

Click links to download.

Release Notes

Android SDK Release Notes

  • 6.4.4 September 2020
    • Support 120Hz frame rate on Samsung Galaxy S20
  • 6.4.3 July 2020
    • This release follows Twilio’s acquisition of Electric Imp and does not affect SDK functionality.
  • 6.4.2
    • Auto-cancel BlinkUp when the user switches out of the host app to the home screen or another app.
  • 6.4.1
    • Re-add device_id to post-BlinkUp JSON response.
  • 6.4.0
    • Support certificate pinning for custom URLs.
    • Update the SDK to support Electric Imp’s v5 enrollment API. This has no impact on SDK usage or functionality.
  • 6.3.5
    • If during a device enrollment poll, the SDK times out while attempting to connect to the server, this is now treated as an error (ie. any registered onError handler will be called). If the SDK times out after contacting the server (ie. the target imp-enabled device did not come online and attempt to enroll, or the enroll was rejected by the server), that is treated as a timeout (ie. any registered onTimeout handler will be called).
    • Minor bug fix.
  • 6.3.4
    • Add option to perform BlinkUp in a small window (for phones with LCDs adversely affected by flashing).
    • Fixed in an issue in which a plan ID was requested even when an existing one was passed in.
  • 6.3.3
    • Certificate pinning update.
  • 6.3.2
    • Fixed an issue in which an app-supplied plan ID was being ignored by the SDK.

Please see the documentation included with the SDK for earlier release notes.

iOS SDK Release Notes

  • 20.0.1 August 2020
    • This release follows Twilio’s acquisition of Electric Imp and does not affect SDK functionality.
  • 20.0.0
    • This version of the SDK supports Xcode 11 and iOS 13.
      • Enforces a Full Screen modal presentation during BlinkUp.
      • Under iOS 13, calling BUNetworkManager:currentWifiSSID will return nil.
      • BUBasicController supports iOS 13 Dark Mode.
      • Fixed an issue with non-active BUConfigIds when using BUBasicController on slow network connections.

Please see the documentation included with the SDK for earlier release notes.

Android SDK Known Issues

SDK 6.3.1 or earlier should not be used — please update to the latest version.

iOS SDK Known Issues

Running an SDK-based app in debug mode can cause the following to be logged:

Main Thread Checker: UI API called on a background thread: -[UIView layer]
PID: 3888, TID: 3406316, Thread name: BlinkUpFlashM, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
4 Demo 0x0000000100c9462c -[BUFlashyMetalView render] + 436
5 Demo 0x0000000100c95928 -[BUFlashyMetalView renderThreadLoop] + 656
6 Foundation 0x00000001bf3aae20 C82F8A4F-3D0F-33DB-8D40-C1E8BEF27E56 + 1273376
7 libsystem_pthread.dylib 0x00000001becd6d98 _pthread_start + 156
8 libsystem_pthread.dylib 0x00000001becda74c thread_start + 8

This is known and expected. It does not affect the running of code, or the operation of the host app. We use the most reliable way to do BlinkUp, and this can trigger the above warning in debug code. We cannot turn off the warning because it is a per-project setting. In fact, we recommend you do not disable the warning as it can surface other issues.

JavaScript Library Beta Release Notes

  • 0.3.3
    • Fix polling progress graphic (missing after main website update).
  • 0.3.2
    • Updated graphics for the examples.
    • Made the SSID optional when creating NetworkConfig objects to allow for non-WiFi BlinkUp.
  • 0.3.1
    • Bug: When username or password are undefined for proxy, BlinkUp will fail.
    • Bug: When dns2 is undefined for static addressing, BlinkUp will fail.