This is the Hardware Product Canvas. It’s a tool designed to help you get through the earliest stages of a hardware design. It’s open-source, creative commons, and totally hackable. We encourage you to take it, hack it and use it for your next hardware project or at your next hardware event.

How It Works

thalmic_canvas-aeced7a0.pdf

http://cdn.upverter.com/static/blog/thalmic_canvas-b657ae3a.pngpebble_canvas-5a60ba3e.pdf

All hardware is made up of building blocks. Engineers call these blocks electrical-mechanical components, or simply parts. Almost every part in existence is either a sensor, a communicator, a storage device, a user interface, or a processor. And almost every hardware device is made up of just a handful of blocks. For example, a fitbit is just a motion sensor, flash memory storage, and a microcontroller processor (for more examples see further down).

How To Use It?

To use the canvas you just need to fill in the blanks. What kind of forces does your product need to sense? What kind of communication do you need? Do you need to store anything on the device? How much data do you need to process, and what kind of processor do you need? Do you need a user interface? LEDs or LCD or something else?

Building Block: Sensors

Sensors are components that measure forces in the physical world. They are good for measuring or detecting light (optical light sensor), or movement (accelerometer), or sound (microphone). Sensors are very popular recently in internet-of-things, and quantified-self devices for their ability to take previously offline data and bring it online. Almost all devices have at least one sensor, and many devices are little more than sensors hooked up to processing.

Some common sensor parts:

Accelerometer (https://upverter.com/upn/6600989c41e088a1/)

Optical Light Sensor (https://upverter.com/upn/951b5d6ab2f7927b/)

Microphone (https://upverter.com/upn/902551c599b8ee7c/)

Gyro (https://upverter.com/upn/917b6294e01cb2b8/)

Humidity & Temperature (https://upverter.com/upn/47722395ea6d980b/)

Building Block: Communication

Communication are components that send and receive signals between devices. They are good for getting data onto and off of your product. Bluetooth (in your phone) and Infra-Red (most remote controls) are two of the more popular ways of communicating between devices. As devices get smaller and more distributed, and with trends like machine-to-machine computing, communication is getting more and more important. Some type of communication is essential for almost all devices.

Some common communication parts:

Building Block: Storage

Storage are components that hold data. They are good for remembering the things your device senses or the things that are communicated to it. The most common storage these days is small flash memory ICs connected directly to the PCB in a device. Most devices, like your alarm clock, get by without any storage at all (which is why they “forget” things when they lose power).

Some common storage parts:

Flash Memory (https://upverter.com/upn/729e1c2a3a2e1593/)

SD Card Slot (https://upverter.com/upn/2e36e2429e854117/)

EEPROM (https://upverter.com/upn/4831c61fff13f9c1/)

Building Block: User Interface & Experience

User Interfaces are components that allow the user to enter information, or components that display information back to the user. They are great for turning things on and off (switch), changing settings (push button), displaying what mode a device is in (LCD), showing power status (LED), etc. Almost all devices have at least a power-on light, if not a full LCD and button user interface.

Some common user interface parts:

Indicator LED (https://upverter.com/upn/d8ba7ad75a8f7bc4/)

Push Button (https://upverter.com/upn/a5274000247d2511/)

SPST Switch (https://upverter.com/upn/bf5308f8da82bf1f/)

Rotary Dial (https://upverter.com/upn/4ffffec955e73faf/)

LED Matrix (https://upverter.com/upn/f20ecccf0f0e2bef/)

LCD Screen (https://upverter.com/upn/289969963535eec4/)

E-INK Display (https://upverter.com/upn/e9ee4d217dd43bb4/)

Building Block: Processing

Processing are the central components in most devices. They are the brain of your product. They get data from sensors, send and receive through the communication components, write data to the storage components, receive user input and display back user information. There are many, many different processors but there are only a couple of styles, microcontrollers and FPGAs being the most common. Every product needs a processor, and almost every other component in your product will connect back to it.

Some common processing parts:

Atmel 8-bit Microcontroller (https://upverter.com/upn/875acec95d0341fc/)

Energy Micro ARM Processor (https://upverter.com/upn/605c6d678db5986f/)

Xilinx FPGA (https://upverter.com/upn/ada527d7e4a6f551/)

Building Block: What About Everything Else?

There are some components, like those that connect to mechanical elements, that don’t fit perfectly into the above 5 roles. Motors, relays and servos are good examples of this – they are similar to user interfaces, but they often manipulate the physical world because of a decision the processor has made. These kind of elements don’t have a great place in the canvas (yet!) so for now we recommend putting them in the User Interface or Storage sections.

Some common other parts:

Brushless DC Motor (https://upverter.com/upn/68edf58a7cb65474/)

360 Position Servo-Motor (https://upverter.com/upn/c813426104bfdccb/)

Mechanical Relay (https://upverter.com/upn/ff6d480b1014292a/)

Background

At Upverter we help out with a ton of hardware hackathons, and one of the biggest problems we’ve run into at every event we’ve thrown or helped with is the very first one: idea generation. In the ideation phase of a new hardware product you’re trying to answer questions like: “what are we going to build?”, “which chips are we going to use?”, “which accelerometer does everyone else use?”.

Upverter and each of our partners has gone through a couple of different hacks on the way to the current version. Like most hackathons, we started with whiteboards, but they very quickly became too unstructured and our projects got too vast for the scope of an event. We tried moving to forums, and adding a bit more offline collaboration, but that fell apart pretty quickly too – its just way too hard to describe hardware that doesn’t exist yet in a paragraph of text. After one of our last events I was grabbing a coffee with a couple of the hackers and talking through the problems that they had during the event, and ideation came up again and again as a problem that needed to be solved. After a ton of brainstorming, and a bit of inspiration from the Business Model Canvas, we realized that we were over complicating things.

All hardware is made up of parts, and those parts fit into a very small group of roles. There are sensors, communication, storage, user interfaces, and processing. We just need to make it easier for people to talk about what’s in their product. We just needed to break it up, and give people a way to write it down.

Its taken a couple of tries to get here, and its still not perfect, but it looks like we’re getting pretty close. Please give it a try on your next project, and send us all your feedback and suggestions!

More examples

This is a Hardware Product Canvas for a device like the FitBit Activity Tracker

This is a Hardware Product Canvas for a device like the Pebble Smart Watch

This is a Hardware Product Canvas for a device like the Thalmic MYO

This is a Hardware Product Canvas for a device like the Nest Learning Thermostat

This is a Hardware Product Canvas for a device like the Scanadu

This is a Hardware Product Canvas for a device like Lockitron Smart Lock

This is a Hardware Product Canvas for a device like the InteraXon Muse