All posts by Matt Webb

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.


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 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 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!

Little Printer for Business


I want to talk about a new version of Little Printer

Since we released Little Printer, we’ve heard stories about it being used in commercial contexts. One company using it to print e-commerce orders to a store, in real time, so there’s a paper trail. A restaurant connecting front of house to the kitchen, printing out orders. A point of sale company experimenting with printing receipts…

This is weird! Little Printer prints out its face every time! And there are a thousand networked thermal receipt printers on the market. Surely one of those would do?

So we started looking into why.

It turns out that Little Printer has one big advantage over those other networked receipt printers: It’s developer friendly. There are two developer features in particular:

  • Little Printer, like all devices on the Berg platform, has a presence on the web. So it’s easy to send messages to it… easier than a printer that might connect with a different address each day
  • There are no print drivers and no difficult encoding. You print in HTML (the language of the web), and there are handy tools for development. So it’s easy to get great looking output

It turns out Little Printer is solving a real problem for commercial users!

Announcing Little Printer for Business

Today we’re opening up our trial of Little Printer for Business. The same easy-to-integrate printing from the web, with a business-friendly form factor. Read the Little Printer for Business product brief for features, the roadmap, and how to make an order.

Evaluation kits now available!

Part of Berg’s new direction

I wanted to call out this particular move on the Berg blog because of what we’re not doing.

Little Printer for Business isn’t a Berg product.

It’s a Berg-enabled product.

To create this product, we’ve partnered with Martel Instruments. Established in 1982, Martel Instruments produce and supply compact printers to your exact requirements. This particular thermal receipt printer is a model MCP1000 with some extra smarts added to the inside.

We won’t touch the product… Martel will take orders, produce, and sell the Berg-enabled MCP1000.

With our platform, and the cloud renderer add-on, we’re supplying the cloud services.

I’m excited about this move because it makes concrete the new strap on the front page of our website: Cloud services for hardware innovators.

We’re making possible somebody else’s business. This is exactly how I see Berg’s future. And while the connected products market is so early, we’ll do what we need to do to create the business ecosystem. Maybe this is one way the Internet of Things sector will grow.

Now this is a trial. There are already a couple dozen evaluation kits in the wild using the “Little Printer for Business” back-end, and they’ve printed many thousands of messages. We’re going to see how this V1 Berg-enabled receipt printer is used, and – depending on demand – move to a V2 wifi version with added features. We’re making this trial public (albeit in this low-fanfare Tuesday afternoon kind of way) because we want to talk about this style of partnership more widely, and because we want to see what you think.

What other Berg-enabled products could there be?

Read more

Read all about Little Printer for Business.

Get in touch if you’d like to talk.