Gunnar Forsgren

My photo
Kista, Stockholm, Sweden

Former Ericsson / Sony Ericsson development engineer.
30 years of engineering experience in telecom and mobile.
See LinkedIn:

June 15, 2014

Bluetooth Low Energy Beacons facilitate proximity navigation

Bluetooth Low Energy is enabling new application experiences in relation to the sensing of proximity.
Low cost Bluetooth based "beacon" radio units are soon deployed in the millions in public venues and indoor locations and there will be a great variety of use cases for the technology. 
A common feature will be apps that knows about the identities of a lot of beacons out there that correspond to content and logic that implement proximity services for such a beacon. A main beacon scanning app will then notify the user about the availability of content related to that beacon node. A coming trend will be that such content presenting apps need not be download/installed from Google Play or similar but may be HTML5 based pages that can be displayed quite instantly directly by that central scanning app. That app can even have many such pages preloaded for instant activation when needed. Thus the user need not be bothered with approving a Google Play originated download/install or wait for something to be downloaded. The content will just show up right on screen as the user moves in proximity of various beacons. Lots of opportunity for a developer to come up with cool solutions now with  this smorgasbord of technology enablers right here today. I particularily suggest it will be attractive to arrange a slideshow style page navigation so the user can swipe back and forth in a history of locations (and thus content) visited. This makes it convenient to revisit something which you maybe did not have time to deal with in more detail while you were in proximity.
Common beacon scenario: App senses beacon ID, requests content based on ID.
As suggested here such content can be interactive HTML5 pages.

November 09, 2012

VideoScripter - Android based video meme sharing

So called memes in the form of labels superimposed on still pictures have become popular in blasting your message across in a catchy way.

In Android application the very rich API´s available offers great possibilities for expanding on this principle into video as well. Same as you can generate photos with such labels you can do the same on running video. An Android app I am developing, VideoScripter, does this and more. In fact it features an entire scripting language for scripted playback of a video clip so that various effects can be display at programmed instances during movie playback. Same principle as with subtitling, only that instead of just displaying a subtitle there is a larger set of effects that can be displayed superimposed, or other navigation actions. This also included subtitling support and a user friendly script editor.

April 2013:
I am adding social sharing as an integral ingredient in this.  Users will be able to share video memes that use the scripting technique. A meme clip gets shared in the form of a URL to a script which gets picked up by the recipient´s VideoScripter app.  The user can play back the clip and edit the script further for sharing to yet new friends and so on. The combination of the new Android Youtube and Facebook APIs is a powerful enabler to make this happen.

Stay tuned for more info on this Android app. 

February 02, 2012

Android powered Digital Signage

Mobimation is working on an Android based advertising solution for large screens.
This is developed to meets the needs of upgrading existing billboard systems to a solution that allows easy remote control of the scheduling and deployment of campaigns on individual screens as well as mass deployments.
The solution is partitioned as the BillboardRemote app, the "BoardRoid" main app that runs on each display, and the framework for Advertising Suite's (ASes) which represents powerful content in terms of richness in its mix of graphics, still photo, video and optional consumer interactivity.

Some benefits will be
  • Remote installation, scheduling and maintenance of ad campaigns in realtime from any location using a secure login Android application with encrypted communication.
  • Very low cost hardware for driving the billboard display.
  • Internet connectivity enables easy administration and interaction possibility.
  • Ad campaigns run as Android app on screen, interaction possible with
    ad campaign consumer apps that can interact with the displayed ad in realtime.
    This can create strong consumer engagement and brand/product attention
    beyond what can occur with traditional one way advertising.
  • Easy upgrade of existing video based billboard systems.
// BillboardRemote (intended to run on Android smartphones of various sizes) 
// controls the publishing/airing of advertising campaigns on billboards. 
// A billboard in this context is typically a large digital signage display
// powered by a Google TV enabled set top box (such as the Logitech Revue
// or any of the low cost asian Google TV boxes).
// The Google TV box is connected to the Internet
// by means of the most suitable connectivity at the actual location.
// BillboardRemote can upload/select/edit a Playlist which controls the
// advertising presentation of Advertising Suites (AS).
// Each AS exists packaged as an Android application and becomes launched
// by the Billboard app
according to the playlist schedule.
// AS'es enable a powerful feature to allow consumer interaction with ads
// at particular locations. An AS can have an association with an
// AS Consumer Application (ASCA) that allows interaction with the
// ad in realtime from the consumer smartphone. 

// The combination of Digital Signage Display (DSD) and network attached Google TV box
// is described here as a Billboard Node (BN).
If your DSD
// supports HDMI or DVI for video it can be part of a BN.
// Billboard Remote can control the upload/installation/removal
// of AS'es in a single BN
or simultaneously across a network of many BN's. 
// Thousands of such BN nodes may exist globally
// with AS'es prepared for each market.
// Used in the context of Digital Signage the Google TV box
// launches the main BoardRoid application at power on.
// The BoardRoid app runs a server
which Billboard Remote
// can connect to and navigate the options available.

// This server is also used in special ad campaigns that
// allow consumer interaction with the ad from ad specific apps
// at a particular location and time. 

// Consumer interaction with ads is the next big thing.

October 12, 2011

The Wifi beacon chips

This article advocates for how a subset of Wifi technology can be used as proximity indicators.

The functionality in Wifi access points to signal its identity as a text string (SSID) have uses in
indication proximity to a location.  It can be interesting to implement the beacon signaling subset of a Wifi circuit as a function on its own.

The beacon chip is an electronic circuit that implement the beacon function of a WiFi chip. Wifi chips are radio based network circuits found in networked devices and wireless access points (WiFi routers, etc).
Its serves to periodically transmit a piece of data over the air, an identification string on the Wifi frequency band so that this ID can be detected by a mobile phone application. Smartphones which are very popular nowadays (iPhone, Android) all have Wifi access and you can download and install applications that can scan for such SSID's in the environment. When such a beacon signal is transmitted in the area where you are located the phone application can quickly detect its presence. Such a beacon chip needs to perform only this role, where the rest of a Wifi interface chip is simply omitted. The role of the beacon in this application is unrelated to Wifi, it only uses this frequency band to radiate its identity string (SSID). The unique ID can be translated by the phone application to a fixed geographical position, meaning that when the application senses this ID it knows that the ID is transmitted by a beacon device located at that geographical position. This offers sufficient positioning accuracy for many applications. Such chips would be quite cheap to manufacture ( $1 ) and there would be a substantial demand worldwide for use in this type of positioning application. A commercial prerequisite is that they need to pass radio spectrum approval in the country where they will be deployed.
Once it has been resolved how such chips can get commercial approval to operate on Wifi frequency bands then the next job is to package them in a format where they can be powered by an energy source at hand at the location where the chip transmits. The power source can be a solar panel, an inductive pickup charger or something else. Focus on minimizing cost per beacon transmitter is important.

So why all these beacon devices ? Well by placing them at suitable intervals along a path where you want to track the geographical position (preferrably at locations where GPS satellites or A-GPS is not available such as underground) you accomplish a means of keeping track of your position along this path. This is typically locations where GPS/A-GPS do not have a reach. A major application is enabling location sensing in the subway network of a city. There are numerous applications possible that would be very popular in the subway such as tourist guides, games, navigation apps, etc. if only the app could have a sense of location. There are many cities with subways, worldwide. In addition to existing access points at a location the beacon device fills a need as enabler for positioning at coordinates where other means are missing. If you know of a supplier or potential manufacturer of such beacon chips then please inform me.
I donate this idea here since I am not in a position to embark on becoming a millionaire beacon chip entrepreneur at this moment. I just need the chips to support some cool subway apps (such as the so far little known SubTrip underground commuting entertainment app)

In the meantime it is possible to use regular Wifi-enabled microcontrollers ($50) to serve as these beacons but since full Wifi devices are relatively costly units (due to features way beyond what a beacon chip offers) they can only serve as prototyping/demo substitutes.

January 24, 2011

Mobimation mobile to machine access solution

The Mobimation solution has so far been described in three blog posts:
This article elaborates on the potential of the overall solution.

But wait ! Do I see the word solution here before even beginning to talk about a problem?
Ok that´s how engineers often do it. Dive directly into the fun part without describing why. But no worries. There is a background idea with all this. Fortunately in this case the solution can really solve problems.

Here´s an attempt at formulating the problem:
  • There is a lack of a uniform way of getting Internet access to physical equipment and sensors.
  • Missing today is a distinct generic controller solution for quickly Internet enabling physical machinery and bring their functionality in the hands of a mobile user.
  • Missing today is an easy way to set up remote sensing and control so that it can be reached from a mobile device.
  • A lot of equipment exists out there today that lack any way of remote interaction but the user need to be physically present at the same location to operate it. Time is spent on travel and traffic jams and means cost for service personnel. Private consumers sometimes dream of a way to monitor something at home but have not yet seen any good solution.
This rests on the assumption that
  1. There is an interest in the world of being able to remotely monitor and control stuff from a mobile phone if it were at all possible in an easy and affordable way.
  2. Effortless connectivity means more services being developed (adoption) which stimulates a business growth. If developers can focus on endpoint function development (client and remote IO behavior) then this can save implementation time.
What got me going on this was realizing the power of mating small Wifi interface modules with a microcontroller on a small board. This combo becomes kind of disruptive in the sense of how things that up til now has been quite standalone can now be access enabled at lower cost than ever before.
One of the more iconic designs that inspire is the FlyPort module developed by the italian OpenPicus project. It simply mates a Microchip PIC processor with a Wifi module. OpenPicus have developed an IDE and ported freeRTOS to it. Another illustrative example is the Arduino based BlackWidow card by AsyncLabs. Both of these modules hints at an era to come of connected devices and you can begin prototyping such stuff now. Many such prototyping boards are based on open source designs which can be re-used in commercial solutions.

Wifi has a close relation to Internet Access and my tests proved that such a Wifi adapter combo can connect to a Wifi router using WPA2 encryption and from there reach an internet server within a few seconds after power on. That worked fine towards a 3G Wifi router, a nifty solution for deploying connectivity without a need for fixed network in areas where this is possible.

Combining this with physical interfacing to sensors and other IO, a uniform way of accessing such little modules from the Internet, and the power of mobile application dev platforms can be a great enabler for remote interaction.

The Mobimation solution consists of three parts:
  1. Adapter module (Mobimation Enabler)
  2. Device hub server (Mobimation Exchange)
  3. Mobile application API (Mobimation API)
These three parts together is a powerful combination:
  1. The adapter modules each interface to a case of real world physical sensing and control.
  2. The hub server brings all those modules online and presents a uniform way to reach all sorts of physical interaction functionality out there.
  3. The mobile application is the end user tool for interacting with an adapter module via hub servers. And an adapter module can represent a piece of equipment out there.
In (1) the actual IO controller firmware and physical interfacing customizes the adapter for a specific solution. I am working at an attempt at a generic firmware realization that work together with a mobile application to allow mapping of typical sensor and control tasks onto a user customizable interface. However I envision the majority of deployed solutions will be custom developed (app + adapter firmware) to optimally cater for the case at hand.

(2) can have more or less rich feature set but the main principle is a multithreaded server that
sits as a hub between modules and clients to pass data streams across. This can include payment gateway functionality as well.

In (3) it is possible to define API´s that encapsulate the connectivity details and allow quick access to the peer remote end adapter. Obvious platforms to look at covering is Android and iPhone. Even the millions of phones out there with simpler Java ME platforms are interesting since many consumers use these daily.

By making sure the adapter module (1) has a generic Internet connectivity part then all such modules can autonomously register with the hub server (2) for further access by clients (3).

Now envision 2300536 such distinct adapter units out there, each booted up and registered its online presence with a farm of load balanced device hub servers. This means suddenly a huge plethora of functionality online. The idea is of course not that each user would access each device, analogous to how each user would not access each web page in the world. But the uniform way of making resources available simplifies the implementation of the combination of (1) adapter module and (3) client application that look up and connect to each other via (2) the hub server.

In a commercial deployment the hub server also represents a place where a community of customers can build and where payment gateway solutions can be integrated.

Typically an adapter module (1) and client application (3) can be seen as an inseparable entity distinctly developed together to implement a remote service. The access infrastructure represented by the hub server (2) simplifies getting these two endpoints to talk to each other and thus makes it interesting for service developers.
  • Easier to develop a solution and get it out to end users.
  • More solutions developed grabs consumer interest.
A demonstrate-able prototype of this solution is under development.

I limited this to mobile client access, however the server hub can of course also be accessed by web services that interact with physical sensors and machinery.

Mobimation AB is looking for partners worldwide interesting in collaborating on the commercial realization and exploitation of this solution. People experienced in what specific interfacing needs exists. How a solution is best packaged in terms of hardware design. Production resources, sales, venture capital.

December 22, 2010

XBee - versatile wireless network communication modules

XBee is a small hardware module that employ radio technology for communication among a wireless network of two or more XBee modules.

XBee modules have an unusual feature that deserve spreading a gospel about since it allows for a remote capability that not all developers have realized. And if they knew about would add one more design alternative to their toolbox.

An XBee can operate in two distinct modes. Part from the conventional role as a pass-through serial communications link, it can also operate in a command mode where it implements a remote control/access instruction set for sensing and controlling data of its own IO control signals. Commands and data for setting and reading of electrical signal values gets transported back and forth over the wireless link to the initiating node. Thus all decision making takes place at the initiating remote node. Analog and digital values can be read, PWM and digital control lines can be set, all by commands from a remote end.

Controlling an XBee this way from another node has it work as a "remote IO port" where port hardware logic effectively owned/managed by a remote peer becomes distributed out to this other side of a radio link.

This can be feasible in some applications where a quick response decision making logic is not needed locally but can be accomplished from a remote end, thus allowing a more compact and lower cost hardware function at the specific network node.

This opens up for a lot of interesting applications where "a network of bees" implement distributed sensing and control logic in machinery, and where a possibly central control logic can administer overall operation, all run over that local radio network.

So, to summarize, besides simply passing data between nodes for microcontrollers, the XBee has other features that can aid in process monitoring and control.

The modules have digital I/O, analog input and PWM output that may be used in a variety of ways:

Direct digital output control: Through AT commands, the I/O may be set to digital output and controlled as high or low. For example, the command “ATD0 4” would set D0 to be a low output and “ATD0 5” would be a high output.

Digital and Analog input for transmission: The inputs may also be set to be digital inputs or 10-bit analog to digital input. Using sampling, the values of the inputs are sent as data to a receiving XBee in API mode where the ADC data is extracted.

PWM/analog output: The 10-bit PWM value of an output may be set and optionally filtered for analog output of the unit.

Line Passing: The digital inputs can control a digital output on a remote unit, and analog input can control a PWM output on a remote unit.

Remote Configuration

Using AT commands, the configuration of a remote module may be changed by sending the command in an API packet. This could be used to control remote digital or PWM outputs, or change other parameters of the remote XBee.

Some links to XBee material for further study:


Cool norwegian project that shows the power of a Perl library:

December 16, 2010

Seeed Studio RFBee - exciting local wireless IO control potential

An RFBee module is an unusual interpretation of the XBee module standard.

XBee is a popular long range radio module that allows for advanced "mesh" networks of such modules. XBee makes use of the powerful and advanced ZigBee networking standard. XBee modules come with a preprogrammed fixed set of AT commands that can be used for setting up
"remote controlled/distributed IO port nodes".

RFBee uses the same socket type and offers a pin layout conpatibility, but it uses a much simplified radio circuit with lower range, features and cost. An RFBee consists basically of the combination of a Texas Instruments CC1101 RF transceiver circuit, an ATmel AtMega168 IO processor, an Arduino bootloader and firmware that turns this into an autonomous processing module with radio communication capability.
This module by default comes programmed with standard AT command repertoire as described here.

An exciting feature of the RFBee is that the firmware is open source and can be modified, expanded or replaced by your own implementation.
Such custom RFBees nodes can run bidirectional communication between each other and exchange whatever information and do whatever IO control operations needed. So this is hardware with considerable room for innovation in the firmware you flash on it. With the default firmware there is appr 40% space left in flash for adding your own extensions.

RFBee modules is flashed with new firmware from an Arduino IDE by connecting it to your computer using a Seeed Studio "UartSBee" module.
The versatile UartSBee board can serve three purposes:
1: With USB connected then a connected Bee module gets power from USB
and you can communicate with it and re-flash its firmware.
2: You can power it and communicate with a Bee module
using UART signals via connection pins of the board.
3: You can run a Bee module standalone using this module as a breakout board for access to all the pins of the Bee module and supply power via the provided power supply pins.

A convenient add-on companion hardware for the RFBee is the Seeed Studio "Relay Shield" board by Seeed Studio.

This board comes with four on-board relays and screw posts for installation. This board features a socket to accommodate a Seeed Studio "RF Bee" module

and makes for exciting possibilities to switch electricity, and accomplish wireless control interaction between nodes. The board also adds convenient power supply conversion and breakout pins for unused RFBee IO module pins. We supply the Relay Shield here