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 to discuss the advantages of becoming an Electric Imp customer.

Latest Versions

Click links to download.

Release Notes

Android SDK Release Notes

  • 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

Important Mobile apps built using SDK 19.9.0 are compatible with iOS 13, but only when built with Xcode 10 or under. XCode 11 introduces a new form of window presentation which is not compatible with older versions of the SDK. When you upgrade to Xcode 11, you must also migrate to SDK 20.0.0.

We will continue to make SDK 19.9.0 available for download, but it is now deprecated and support will end on 31 March 2020.

  • 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.
  • 19.9.0 Deprecated
    • The delay after BlinkUp completion has been reduced from approximately 1s to 50ms.
    • Update the SDK to support Electric Imp’s v5 enrollment API. This has no impact on SDK usage or functionality.

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

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.
  • 0.2.0
    • Add option to change number of bits per flash.
    • Add option to allow non-embedded clock.
    • Extra memory optimization of during flash to prevent GC.
    • Conversion to module format.
    • Proper IE and Edge detection.
    • Rename NetworkStatic to StaticAddressing.
    • Change NetworkConfig.staticNetwork to NetworkConfig.addressing.
    • Change BUNetworkConfig to BU.NetworkConfig.
    • Change BUNetworkProxy to BU.NetworkProxy.
    • Change BUNetworkStatic to BU.StaticAddressing.
    • Inclusion of "BlinkUp™ powered by electric imp" image.
  • 0.1.5
    • Use raw RAF where possible.
    • Chrome uses canvas opacity rather than drawing.
    • Chrome sets parent element background to white if needed.
    • If iOS is less than 8, use 30 fps.
    • If iOS and device lacks a retina screen, use 30 fps.
    • Attempt to force GPU rendering via transform.
  • 0.1.4
    • Mobile flashes at 60fps.
    • Fix bug where poller would continue polling after lightbox close.
    • Added developer token device information retrieval.
    • Added new BU flag preventFastFlashing to force mobile to slower fps.
    • Added new BU callback progressCallback to allow for custom progress animations.
    • Change default flash progress update to scale a div on desktop, none for mobile.
    • Disable touch move events during countdown until flash complete.

Android SDK Known Issues

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

iOS SDK Known Issues

See Release Notes