Improved Blink Up

The Blink-Up process could be improved by clocking in data (Like I^C) rather than relying on timing of the data stream (Like RS-232).

I propose improving the Blink-Up process by using 2 colors (red and green) to send data and clock signals. The timing of the data stream would no longer be critical, only the sequence of colors.
This change would require 1 more light detector in the IMP, and these lights detectors would need to be selective to red, green (or blue) light.
Changing the Blink-Up process would allow browser based Blink-Up programs to work. I would also allow a grater variety of Android devices to successfully configure IMPs.

I don’t want a customer to have to barrow a friends smart phone to make there IMPee work.

-great- idea.

We have an improved blinkup which is less timing sensitive. This works on many more android devices in our experience. If you want to test it, send me a PM.

There’s no need to go to colors; this requires color filters etc, which means a hardware change and the hardware is finished (and FCC, CE, IC and C-tick approved). You can do clocking via different light levels too, but slowing down the blinkup so we can pick up dropped frames works just as well (that’s what the newer android version does); we’ve not tried this in a browser yet but it may well work.

In reality, the problem will go away for android as more android devices get to version 4.1 or later, which has much better frame rate control.

Given that even Google says only about 2% of the current user base has (or at least actively using) JellyBean (4.1) it would seem to me that it will be a very long time.

Android devices that have accessed Google Play within a 14-day period

I’m hoping that there will eventually be a more ‘factory friendly’ way of setting up an imp wifi.

For factories, yes, but not for users. If you want things to leave the factory with a specific pre-configured SSID/password/user token then that will be possible.

…and as I said, the improved blinkup is being tested now. If you want to try it, let me know. At some point, when we’ve tweaked the UI a bit, we’ll push it to the Play store.

I understand the reluctance to change hardware. That is defiantly a down side to my suggestion.

For me the end goal would be a web browser based Blink-Up utility. The 2 color (clock + data) approach may just be a way to get there. If you can get to the same end goal with the existing hardware that’s even better.

Blink-Up needs to be something anyone can do with minimal hardware requirements.

There are several products that use browser based ambient light data transfer. So doing blink up without smartphone is for sure possible. Another options is sound to light adapter, by connecting a LED to the headphone jack it is possible to modulate the light. (a cap, and diode and LED connection is usually needed).

The improved blinkup that Hugo mentioned worked even with my cheep Android tablet (thanks Hugo). They are defiantly making progress in the right direction.
However I still would really like to see a browser based blinkup. I would just as soon not ask a customer to install an app that they will only use once.

Just wanted to comment and say that after I updated my Nexus S 4G to Jelly Bean, Blink Up works great. Previously, it would work 10% of the time on ICS.

This is my first post on imp forum :smiley:

Fact > I “LOVE” the light trick to configure the device. It’s a smart idea. +100000

Blinkup Problem - Very Simple Solution

Config : IOS + Blinkup // IMP.
Problem : Nothing appens after flashing, still orange blink.

The Simple Solution : (in my case)

  1. Push the light at 100% on your iDevice.
  2. Disable the Auto-AmbiantLight adjustement on the iDevice.
    … That’s all, (in my case, this changed the situation, now I have Red Blinking :smiley:
    then im ready for the next step…


… about the post :smiley:

I thing it’s a good idea to have 2 lights stream, (clocking is the way)

I have another idea to do it.

With 2x white stream = 2x same light detector located on each side of the IMP card.

Divide the screen of the “Blinkup App” by 2, then you have 2x half screen that can blink separatly.

Center the imp card in the middle of the screen.

= 2 stream light, left screen+left detector for clock, right screen+right detector for data.

This solution use same hardware, no need of color filters.

@Zando > Then Clock is the way… I agree with you

UPDATE !!! FOR IPAD USERS with Blinkup problems, try this… !!!

Simply switch back the app to the iphone standard sized app.
(click the 1x button right down)

We will be pushing a version of the iOS app with proper iPad and iPhone 5 support out in the next couple of weeks. Hope it’ll get through approvals quickly.

In other news I revisited doing blinkup from javascript in the browser (which I could never get reliable enough in the past), and it now works for me… possibly Chrome improved? Anyway, we’re looking at putting this into the planner/IDE for people to try.


my bank is using something similar to blinkup in the browser …
I didn’t really check how they do it, but it could be interesting to you guys.


What about your idea to put a js-blinkup into IDE ?

Can we do some tests ?

Thank You

A Javascript Blinkup library would be very useful. This could make things a lot easier for those of us trying to avoid dedicated Android/iOS apps (and Windows Phone I guess :-c ) by creating hml5/javascript apps. Blinkup would still be from the phone, but through an html app masquerading as a native app.
If you have code to share @Hugo - I would like to see it as well.

Hugo, I would also like to have access to the JS code for the BlinkUp configuration. Are there any developments regarding this issue?

Pedro Ferreira

The last imp I purchased recently blinks-up just fine with my Windows version of blink-up, on my old LCD monitor sitting in my kitchen. I would say it’s really “forgiving”. I’m running Windows Vista, by the way, on an old Compaq Presario PC. It worked on my new laptop also.

I had a problem using blink-up with my iPad until I turned off the desk lamp that was shining on the imp.

The imp was designed to go inside a product housing, so when you’re using it on a devboard, covering the side with a finger or tape (or moving somewhere with less ambient light) helps a lot.

I am no expert but would think JS would be problematic, from browser compatibility to timing and everything in-between

What about a webservice that produces a video? Not elegant but would require the minimum of code client-side and should maintain its own timing.