A 20 minute 1-page planning tool for your project
There’s a balance between jumping into a project and planning it out. While it is always better to just get started (a bias for action), you may find yourself having to backtrack because of something that wasn’t considered early enough (like: there’s not enough room in the enclosure when the shield is mounted to the Arduino, etc.). Sometimes, minutes spent considering the different aspects of your project can save you hours later. However, without a simple framework to help organize your thoughts, planning becomes a burden that is easily put off.
The Maker Project Canvas is a 1-page tool that helps you think through your project’s goal, its functions, and its form. In about 20 minutes you can capture all the major elements of your project. You’ll quickly get a sense for where you may need to grow your skills and what areas are going to take the most work. If you are working on the project with others, it can be a really helpful way to literally get everyone on the same page.
Inspiration for the Maker Project Canvas came from:
The Maker Project Canvas has three major sections: Goal, Function, and Form. The recommended order for filling in the canvas is:
- GOAL– start with why you are doing this project. It could be to learn Raspberry Pi coding, control something in your house, or prototype a product idea. This helps you have a clear focus on the expected outcome.
- FUNCTION– what will your project do. This section captures a description of how it “works-like”: what is the interface, what does the code look like, what is the processing platform, how much power does it need, etc.
- FORM– what your project “looks-like”. This section describes how it gets used, what materials are used, how they are finished, how it gets mounted, how the cables are handled, etc.
Following Simon Sinek’s advice, start with the goal (the “Why”). Keeping Louis Sullivan’s famous “form follows function” dictum in mind, move on to the function section before the form section. Function and form are equally important aspects of the same project- recalling Frank Lloyd Wright’s version: “form and function should be one”. That’s why the canvas is drawn with form and function surrounding the goal. Form and function should serve the goal.
The form and function sections are further broken down into boxes to capture their elements. Here is the full Maker Project Canvas:
A PDF version is available on Github.
If you are most comfortable brainstorming with paper and pen, print out the canvas and use Post-It Notes or write directly on it. If you want a larger version and don’t have a large format printer, just draw the boxes on a whiteboard. You can capture it with your phone camera to document the finished canvas.
Alternatively, you can use Adobe Reader to put notes right on the canvas. Use what works best for you and where you are in the project.
THE GOAL SECTION
A good way to look at a project is to think about the how it is helping get a job done (Clay Christensen’s JTBD). Think about what are you trying to accomplish with this project, i.e. “the job”. Why is this project a good way to get the job done? For example, there are lots of ways to vacuum a room besides the robot you’re dreaming about. But maybe the job is not really about vacuuming, but spending time building the project with your kids. As Stephen Covey said, “Begin with the end in mind”.
When your project has a team, it is important to get everyone aligned to the purpose of the project. Without agreement up front, hours will be lost later on wrong approaches and wasteful arguments. Being able to clearly articulate the goal gets everyone’s mind focused on the same problem.
THE FUNCTION SECTION
This box summarizes the intended function of the project (the remaining boxes will describe how the function is done). What does the project do? Try to start with a high-level summary of how the project “works like”.
How do you interact with the project? Is it a simple ON/OFF switch or an Android/iOS app on your phone? Does the project have some LED indicators or a color touch display? Do you need an audio interface with microphones or speakers? This box captures the hardware that resides between you and the internal electronics/mechanics.
How does the project interact with the environment? Will it use IR sensors or cameras? Is capacitive touch sensing being used? Does it need solenoids to control latches or motors to move? This is the hardware that makes the interface work. If your project has code, it will need to handle these objects.
Do you need digitally control something or monitor a line? Do you need to convert an analog sensor value to bits? Are shields or HATs needed to connect the sensors, actuators, switchings, keypads, or displays with the processor? Do you need to build some custom circuitry to act as the interface between the processor and sensors/actuators? This hardware sits between the processor and the sensors and actuators.
Makers have a great set of options for adding processing to their projects thanks to platforms like Arduino, Raspberry Pi, Particle Photon, and many others. What platform will you use? This may be determined by familiarity, availability (already on-hand), or processing requirements. Some platforms build in networking too.
If the project needs code, what language platform and tools are used? For the Arduino, it is often the Arduino IDE. Beside your own code, projects often build on libraries for a platform. Libraries are a great way to get functions implemented without re-inventing the wheel. Going further up the application hierarchy, does your project need web services like IFFT, weather, or traffic reports? Are you planning to interact with a smartphone? Do you need to build an app too? Capturing the code plan helps you think through the pieces needed to perform the function.
Does the project need to communicate with the Internet? Over Ethernet or WiFi? Does it need to support Bluetooth devices? Are you going to use ZigBee? Do you need a separate shield to support networking? This box defines your communications needs.
Does the project need to collect and store data? Does it do it locally or on a remote device? Is there enough storage on the platform for your code and data? This box is especially important for data logging functions.
How is the project powered? Is a mobile device running off of batteries? How do they get charged? Is a desktop device? How much power is required from the “wall wart”? This information will also help you understand the sources of heat when thinking about thermal design later on the canvas.
THE FORM SECTION
At a high-level, summarize what the project “looks like”. How would you quickly describe it to someone who hasn’t seen it yet?
How does someone use the project to get its intended job done? What sequence of switches, smartphone app buttons, or gesture recognition are used get it to do its intended job? What feedback do people get while interacting with the project? Does it perform more than one task? While the User Interface box (Function section) is more concerned with hardware, this box is for capturing how the project is used.
What is the physical shape of the project? What is driving the selection of the overall shape? Aesthetics, pure functionality, or a combination? How do the pieces of the project contribute to its overall form? How will the shape impact the fabrication of materials?
How big is the project physically? How much room is required internally to house your processing platform and additional electronics like shields? Do you have enough room for cable access and connectors? Is access room needed for storage cards or plugging in cables or accessories? Have you considered tolerances to ensure component variations can be accommodated? Is a scaling hierarchy of preferred dimensions being used (like multiples of 0.25″)?
What materials will be used in its construction? How are they fabricated? How are they finished? How does the material finish support the overall aesthetic goals? Do you want a natural look or something else? Are there any material strength issues? Are the materials suitable for the environment they will be used in?
What environment does the project have to work in? What temperature do the sensitive components need to stay below? Will there be enough natural convection and conduction to keep the parts cool? Do you need a fan or additional heat sinking?
How do components in the project get mounted? Does the finished project require mounting? Will you use screws, hangers, velcro, or adhesives?
What techniques will be used to assemble the project? Fasteners, adhesives, welding? What tools will be needed to assemble it? Can the assembly be simplified? Do you need to disassemble the project occasionally? Will it be difficult? Can it be easily re-assembled? Are assembly fasteners hidden? Do you need decorative screws?
Does the project have cables? How will they be handled to avoid a tangled mess? Do you need strain relief on any of the cables? How will internal cables be routed? What can be done to make external cables look neater? Wrap them in a cable sleeve?
The Maker Project Canvas a tool for collecting your thoughts about a project. Use it to quickly brainstorm ideas before starting to build and help reduce problems later.
As your project evolves (plans rarely stay unchanged when actually implemented), you can create an updated version of your canvas. This can help you follow your thinking over time. This collection of canvases can serve as a good reference when considering the next project- just because something didn’t work on the last project, it may be critical on the next one.
Go build something (after thinking about it for at least 20 minutes)!
Which areas covered in the Maker Project Canvas give you the most problems in your projects? How do you deal with these problems? Where do wish there was a better solution? Please leave a comment below!