Week 483

Folks, I’ve got some news about Berg to share.
We’re wrapping up for this incarnation.
Our partnerships and our services, they’re
done. A few things left, then hibernation.

Little Printer we’ll run till March next year.
A skeleton crew will keep it alive.
We’ll sell it. Or open the code. See here
for more. We’d love to see LP survive.

We’ve not reached a sustainable business
in connected products. But: There’s our troop!
Cultural inventions! I’m proud of this
British Experimental Rocket Group.

Thank you fellow travellers, in your thousands.
Behind the mountains, there are more mountains.


Pixel Track

Pixel Track is a new kind of connected display. We prototype products continuously — sometimes to explore the Internet of Things, making sure our platform is up to the task, and often to help businesses find opportunities in connected products. We produced Pixel Track in collaboration with the Future Cities Catapult as part of a research project about data and public signage. We made a film about Pixel Track, and you can watch it here.

There’s a full write up in the case study.

Durrell was playing with mechanical pixels back when he was still at Luckybite, and when he joined Berg we decided to form a project around the domain and produce a prototype on the Berg platform.

Pixel Track uses a system of mechanical pixels to make a display which reflects a particular kind of emerging networked use. While behaviour is driven by the network, the main display surface is a passive manufactured object, the pixels themselves containing no electrical components at all. The connectivity, electronics and the mechanics are all contained in a small train which moves up and down the main display surface changing pixels as it moves. This means the display has some unusual properties.

The display updates more slowly than most electronic displays, it doesn’t refresh the whole surface 25 times a second. It is dramatically cheaper since the main display surface can be manufactured with straightforward injection moulding techniques — all the complexity is in the train. There are also far fewer electrical drivers and circuits than a comparable LED dotmatrix.

The pixels are bi-stable, which means, like e-ink, it requires no power to maintain a message on its surface. Pixel Track only needs power when the message needs to change. This means, in situations where the message might only need to change say once an hour, that it is believable that the system runs on a battery for long periods.

Because the surface of the display is manufactured, it isn’t constrained materially by being a glass screen like and LCD display, or like LEDs. It’s aesthetically very flexible.


Connected devices

There’s something I’m struck by in the object having watched it emerge. It’s how light the componentry is. There’s no Windows PC driving it locally and no local server required, just a meagre power supply to drive it. The smarts are on the network, where they should be. I like the idea of bolting these things to the wall wherever there is Wi-Fi.

It’s an object of spareness. It’s so light infrastructurally that the low power and cheap cost of production feel like natural reflections of that. Pixel Track is a product of the network. I expect to see more and more simple artefacts like this as web-connected devices become more common.

Pixel Track could show tweets, the free/busy status of meeting rooms tracked in Google Calendar, or which train platform to head to based on identifying your phone using Bluetooth LE. The service layer is fluid, and the product is easy to integrate.

What next? This is an early prototype, a one-off. We’re continuing to move the prototype forward, and are looking for partners to help scale Pixel Track to prototype installations and manufacture. If you’re interested, or would like to explore what connectivity means for your products, get in touch.

Mechanical pixels

There are beautiful and fantastic precedents for mechanical pixels. Gibson and Sterling describe a mechanical screen called a ‘kinotrope‘ in their novel The Difference Engine. A non-exhaustive list of other beautiful examples follows…

Wooden Mirror

Danny Rozin’s beautiful Wooden Mirror is from 1999, and this film shows it in action.

“Wooden Mirror” (1999) by Daniel Rozin from bitforms gallery on Vimeo.

The 4 mechanical mirrors are made of various materials but share the same behaviour and interaction; any person standing in front of one of these pieces is instantly reflected on its surface. The mechanical mirrors all have video cameras, motors and computers on board and produce a soothing sound as the viewer interacts with them.

Manual pixels

Timo recently discovered this large wall of mechanical pixels in Copenhagen. I don’t think there’s any mechanism in place to change it, it looks like people are invited to flip the pixels themselves to make messages and images.

2014 04 07 15-12-29-3

2014 04 07 15-13-13

Flip Dots and Split-Flaps

I’ve always hugely enjoyed the skittish, panicky refreshes of old split-flap displays in railways stations. There’s something hypnotic about the way the letters dissolve in patches into each other.

There’s also some beautifully engineered technology from the manufacturer Alfa-Zeta called Flip Dot. Each pixel is a magnetically controlled, bi-stable dot. This installation for TNT by New York designers Breakfast NY looks extraordinary: Those dots are updating, physically flipping between states up to thirty times a second.

Also, this is nuts…

2012 Yeosu EXPO HYUNDAI MOTOR GROUP _ Hyper-Matrix from media artist group: jonpasang on Vimeo.

Wi-Fi preview release

Want to add Wi-Fi to your Arduino project? We’re bringing Wi-Fi to Berg… and we’re looking for developers to help us test it.

Get an Arduino Mega, and the Texas Instruments CC3000 Wi-Fi shield from Adafruit. Download our client library… and you’re set.

It’s easier than using Wi-Fi on its own. Our client library manages the Wi-Fi connection for you and handles HTTP requests and responses, with automatic data translation between JSON on the web and native data-types on the Arduino. On the web side, you work with your devices using JSON and a RESTful web API. Berg ensures message delivery in both directions, and tracks online/offline status for all your devices.

While we’re in this preview release, we don’t have a public Getting Started tutorial. Get in touch by email at info@bergcloud.com and we’ll send you GitHub download links, step-by-step instructions, and documentation.


The web is where the smarts are

One of our core beliefs here at Berg is that the best technology to develop and run connected products is the web. Give a device a web API, then add – and iterate – behaviour and smarts by doing web development.

So that’s what we do. We give your Arduino project its own web API. Something we’re super focused on is the V2 Cloud API. We reckon it should be as simple to make a smart device as it is to build a website. It should be as simple to make a thousand devices smart as it is to make just that first one.

It’s how we built Little Printer… it’s a basic device with a web API, made smart by the website behind it. The “dumb” part was originally running on Arduino and now it’s running on its own module… but the smart website is the same website and has been developing since the beginning.

We already have a way to give this web API to connected devices. The Devshield is hardware we developed that snaps onto Arduinos. It’s Zigbee-based and bulletproof. It’s how we start prototyping ourselves.

But loads of people have been asking for Wi-Fi, so now we’re adding that too…

What’s new

Here’s what’s new…

  • You can now connect to Berg with Wi-Fi, and use the V2 Cloud API to manage and control your devices
  • Since we’re not the exclusive suppliers of hardware, it’s more widely available. Here’s your shopping list from Adafruit: Arduino Mega. Texas Instruments CC3000 Wi-Fi shield.
  • You’ll need the client libraries and instructions to get started… while we’re in this preview release, please email at info@bergcloud.com and we’ll sort you out.

Our Wi-Fi solution works exclusively with the CC3000 Arduino shield. We chose the CC3000 because it’s an awesome chip: It’s small, readily available, and cheap at volume. You can configure the network with an iPhone or Android app, which means you can distribute your smart device to users — perfect for prototyping. We also like that Texas Instruments are actively developing the CC3000 firmware, and we expect that to result in improved performance and stability.

Plus the Arduino shield itself is available from Adafruit, quality retailers of electronics and a huge developer community besides.

During development, we’ve made small improvements to the open source Arduino library for the CC3000, and also to libraries for websockets and JSON. We’re contributing these changes upstream starting today.

What’s next

What’s next? This Wi-Fi connector brings Berg to many more developers. We’re going to make the CC3000 shield as solid as our Devshields for development. So we’d love feedback on the documentation, APIs, and stability.

We’ll keep pushing towards our goals for the Berg platform, to make it:

  • dead simple to understand
  • dead simple to use
  • time-saving for developers of connected hardware
  • a place that brings hardware makers and web developers together

Let us know if you want in on the Wi-Fi preview!

Devshields back in stock


With the V2 beta, we’ve got a ton of emails asking when the Devshields will be back in stock…

With our platform, you control and manage your connected devices using simple web APIs. With Berg V2, the Cloud API and Device API are simpler, more powerful, and FAST. Read more here. The easiest way to get prototyping is with the Devshield. Connect the Devshield to your Arduino, ARM mbed, or Raspberry Pi, and get started!

It’s been tricky. We sold out of Devshields. Ordered more. Then our supplier was having trouble with a component shortage. Wait wait wait. But demand was hotting up, so we begged and cajoled the factory, aaaaand so:

Devshields are ready to ship on May 2nd, and available to order now!

Check out the Berg store to order your Devshield or Devkits. (Devkits include two shields, a Bridge, and all necessary cables and power supplies.)

Out of stock – Little Printer for Business evaluation kits

Quick update on the Little Printer for Business project… We had an overwhelming interest in these Berg-enabled thermal receipt printers, and all the evaluation kits are now gone.

(Original announcement is here.)

We have a meeting with our manufacturing partner on Monday to discuss next steps. I’m still trying to figure out the details of the roll-out plan, making these one by one doesn’t feel like the best way to get this going.

So if you’re a business that would be interested in 25+ Berg-enabled receipt printers, printing HTML from a simple web API please get in touch — we’d like to find a few lead customers for the next model.

Berg V2 beta: New Cloud API and new Device API

We’ve just shipped V2 of our APIs — if you create a new project in the Dev Center you can choose V2 and get access to… well, a whole ton of new stuff.

Simpler. Faster. More flexible.

Berg is the missing link. You’ve got the hardware. You’ve built the website. We do the rest. Add web connectivity to your Arduino with our Devshields. Then message and manage all your connected devices with the Cloud API, using familiar JSON. Once you go to production, we’ll supply client libraries so you can move – with no changes – to your preferred wireless solution. Berg is already being used to run thousands of Little Printers, and we’ve been collecting feedback from developers using V1 of the platform. Today we’re shipping the beta of V2, for Arduino, ARM mbed, and Raspberry Pi.

Here are the highlights:

  • New Cloud API! Simpler, more powerful. Claim devices, list devices, send commands, and poll for events, all through the complete REST API. No requirement for your users to visit Berg’s website… you handle claim codes directly. Easy development because you can operate the API entirely through the command line. And, when you’re ready, webhooks to get events from your devices quick.
  • New Device API! Now when your hardware sends an event, you simply call BERGCloud.sendEvent("my-event", payload), and the event name and payload get sent directly to your back-end web service. The same for receiving commands… no more having to define identifiers for commands and events in the Dev Center and at the top of your Arduino projects. Much easier.
  • New dev tools in Manage Projects to claim devices, and simulate commands and webhooks while you’re in development.
  • Way, way faster! An upgrade to the Bridge software as part of the Devkit that makes commands and events almost instantaneous: Underneath the new APIs, the platform is now using websockets, so you no longer have to wait several seconds for commands to travel from the web to your devices.

The upgrade guide has all the details.

We’re excited about this release. While the recent Dev Center refresh was about simplifying, this release is getting simpler still, adding flexibility to the Cloud API, and speed… all in response to feedback from our developers.

The new APIs are currently in “beta.”

So read the docs, make a new V2 project, have a go and let us know what you think!

What’s next? Well, these new APIs lay the groundwork for new ways to connect to Berg (coming soon). And we’ll keep pushing towards our goals for the Berg platform, to make it:

  • dead simple to understand
  • dead simple to use
  • time-saving for developers of connected hardware
  • a place that brings hardware makers and web developers together

Thanks for the feedback, and keep telling us what you need.

Getting there!

New product opportunities for the Internet of Normal Things

We sent out a bunch of Little Printer for Business evaluation kits yesterday. Lots of parcels!


These are the Berg-enabled receipt printers made by Martel Instruments. More details here. It’s the easy-to-hack-on Little Printer back-end, in robust off-the-shelf housing for commercial use.

We’ve had a ton of interest in these receipt printers with a web API. I’ve been trying to wrap my head around why.


My question: Why – given there are ten thousand networked receipt printers on the market – do customers want the one that you send HTML through a web API?

Here’s my take…

Businesses used to be built around Windows PCs.

You’d have a Visual Basic app that tracked stock. You’d use it for data entry. It would generate pro formas for ordering. It would print tickets on a receipt printer, connected by serial or USB or something, and the tickets would go down to the stock room or warehouse to give a paper trail. The printer would come with a special print driver. The system would have been built a decade ago and worked okay. It would never get touched.

Businesses don’t run on Windows PCs anymore.

The back-office is an intranet. On the web.

You can’t install print drivers on the web. The intranet doesn’t have a USB port to plug a printer in.

So with our Berg-enabled printer, our HTML cloud-renderer is the print driver. The web API is the USB port.

It’s easily integrated, so companies can simply print from their intranet direct into known locations. With future dashboard features, they can check prints have actually be done, and monitor for Out of Paper warnings.

image 2

Which leads me to a thought.

In the last 60 years, the biggest software platform for interop and integration – for new products, services, businesses, and value creation – has not been Android, or iOS, or Windows, or the PDP-11. The biggest and best platform has been the web.

The Internet of Things, by allowing devices to connect directly to the web – using platforms like Berg – takes the PC out of the picture, and lets us create products directly on that platform.

Wherever there were Windows PCs in businesses, there’s now the web.

Wherever there were peripherals connected to that PC, there’s a need for a new peripheral… just the same, but with a simple web API.

Every time you see a dated PC, only running the back-office because of the peripherals hanging off it, there’s a product opportunity.

Nothing crazy, nothing ocean boiling. Very normal.

But huge.

Dev Center refresh

We’ve just rolled out a refreshed Dev Center! If you take a look at Manage Projects, you’ll notice some changes. “Manage Projects” is where developers create projects to connect devices to the Berg platform, and where the developer tools live. The refresh follows on from the recent reference documentation refresh.

A quick run-down of what’s changed:

  • “Manage Projects” (previously “Your Projects”) is now in the new look and feel
  • Sign in/Sign up is now part of the Dev Center. Previously all user account management happened through Remote, the mobile website used to interact with Berg-enabled products (specifically Little Printer). We’re reducing our reliance on Remote
  • The “Guest Projects” feature has been removed. Now to debug a device connecting to Berg, you must own the project it’s a part of
  • The “Collaborators” feature has been removed. To manage a project, sign in as the user who created the project
  • The functionality to manage commands and events has been re-organised into three pages: Define, Monitor, and Send
  • The “Little Counter” tutorial documentation has been updated to the refer to the new site

There’s also been a lot of behind-the-scenes work to prepare for upcoming updates to the Device API and the Cloud API (simplifying and adding features to both), and new ways to connect to the platform (there’s some urgency because we sold out of v1 Devshields this week).

Our goals are to make the Berg platform

  • dead simple to understand
  • dead simple to use
  • time-saving for developers of connected hardware
  • a place that brings hardware makers and web developers together

This new release simplifies the dev tools, and lays the groundwork for simplifying the various platform APIs.

Getting there!

Four types of Internet of Things?

I’m currently pulling together a few slides to introduce Berg as a platform to a few manufacturers.

Which means I’ll be introducing the Internet of Things!

As I’ve mentioned before, I have mixed feelings about the term “Internet of Things”… it seems to mean everything and nothing. Like, is it RFIDs in airports to track luggage, combine harvesters driven by town-wide WiMAX, or web-connected receipt printers for the home? Too much.

So for consumer Internet of Things, it seems useful to make categories (I’m going to ignore agriculture, health, industry and whatnot). Each of the four categories seems to be aligning around a wireless technology… or a pattern of user interaction… or a marketing term… or something. But they seem like different things, at least in early 2014.

The idea is that the manufacturer should choose the user benefit they most want to enable, then choose the category that best fits. That will drive their technology selection, how their product is developed, etc. Much more useful than the general term “IoT”.

Here’s my slide so far (tap for embiggening).


For me these categories are driven by different things:

  • Wearables — battery-powered smartphone peripherals aligning around Bluetooth LE, but also devices that don’t require their own connection to the web
  • Media — music and movies
  • Home automation — low latency interactions (sub 100ms) mean round-tripping to the web isn’t possible; strong need for product interop
  • Connected productsSmart appliances — products requiring their own direct network connection, with a tightly coupled service (this is where Berg is)

There are other connectivity models, and I reckon that this time next year categories will have merged and others appeared. But for the moment… this is a good reflection of market reality.

Or is it?

I’ve opened comments on this post! Let me know what you think, either here or on Twitter. I’m @genmon.

Devshields out of stock

Oops, we’ve sold out of Devshields.

These developer boards are the easiest way to start prototyping with the Berg platform and make your own connected products! They are compatible with Arduino, Arm mbed, and Raspberry Pi. Read more here.

We’re heads-down right now working on adding new features to the platform… and when that’s ready, there will be new hardware to prototype with.

So for the moment we have to sit tight… it looks like a couple of weeks right now. Sorry. And watch this space!