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

Latest Versions

Click links to download.

Release Notes

Android SDK Release Notes

  • 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.
  • 6.3.1
    • SDK 6.3.1 should not be used — please update to the latest version immediately.
    • Proguard rules are bundled with the SDK, so there is no need to modify your proguard-rules.pro file (see 6.3.0, Proguard, below).
    • Certificate pinning update.
  • 6.3.0
    • SDK 6.3.0 should not be used — please update to the latest version immediately.
    • Add certificate pinning.
  • 6.2.0
    • SDK 6.2.0 should not be used — please update to the latest version immediately.
    • Minimum Android SDK is now 19.
    • Moved BlinkUp activities declaration into the SDK.

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

iOS SDK Release Notes

  • 19.8.1
    • Fix rare rare crashes (array out of bounds).
  • 19.8.0
    • Add certificate pinning.
    • Improved the reliability of BlinkUp.
    • Fix connection failures would occur when root certificates where manually trusted.
  • 19.7.0
    • SDK 19.7.0 should not be used — please update to the latest version immediately.
    • Improved the reliability of BlinkUp on iOS 10 and iOS 11 (prevent short BlinkUp events).
    • Examples programs updated to XCode 9 and Swift 4.

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

6.3.1

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

impCloud Connectivity

Apps based on SDK 6.3.1 can fail to connect to the impCloud. This has been fixed in version 6.3.2 and up.

6.3.0

SDK versions prior to 6.3.2 should not be used — please update to the latest version immediately.

impCloud Connectivity

Apps based on SDK 6.3.0 can fail to connect to the impCloud. This has been fixed in version 6.3.2 and up.

Proguard

Note This workaround has been incorporated into the current Android SDK.

If you use Proguard and experience crashes ("Fatal Exception: java.lang.NullPointerException: value == null") when you run an app updated to 6.3.0, you may need to a new Proguard configuration. Add the following code to your proguard-rules.pro file:

##### OkHttp
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
-dontwarn org.conscrypt.**
# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase

##### Retrofit
# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote retrofit2.Platform
# Platform used when running on Java 8 VMs. Will not be used at runtime.
-dontwarn retrofit2.Platform$Java8
# Retain generic type information for use by reflection by converters and adapters.
-keepattributes Signature
# Retain declared checked exceptions for use by a Proxy instance.
-keepattributes Exceptions

##### BlinkUp
-keep class com.electricimp.blinkup.retrofit.Token { *; }
-keep class com.electricimp.blinkup.retrofit.TokenStatus { *; }

This should allow subsequent builds to run correctly.

okHTTP

This release contains okHTTP 3.10.0 If you are also using kHTTP in your app, please update it to version 3.10.0 to avoid java.lang.NoClassDefFoundError and/or java.lang.NoClassDefFoundError issues.

iOS SDK Known Issues

19.8.1

We have identified some compatibility issues with iOS 6 with 19.8.1 and earlier. With the release of iOS 12, this is now unlikely to be fixed, and future versions of the SDK will formally drop iOS 6 support.

19.8.0

There is a known issue in which the SDK may crash on rare occasions with an array out of bounds error. This has been fixed in SDK 19.8.1.

SDK versions prior to 19.8.0 should not be used — please update to the latest version immediately.