SlideShare a Scribd company logo
HardwarePrototyping

forSoftwareDevelopers
AndyCarle,PhD

@PrototypingAndy

@Kinoma
kinoma.com
Scope:ConnectedDevices
TwoGoals
Expand the

Developer Pool
Improve Outcomes for

Existing Developers
TwoSolutions
ToolsProcess
@Kinoma
KinomaPL AT FO R M R U N T I M E
@Kinoma
Today’sIoTDeveloperLandscape
Native
Language
Developers
Processing Developers
Node.js & Python Developers
Web Front-End Developers Product Designers
@Kinoma
ITERATE
ITERATE
ITERATE
MakingIt:TheOld(Current)Way
Ship it!
Get funding
Prototype on
Arduino
(Processing)
Prototype on
BeagleBone/Raspberry Pi
(Interpreted languages)
Prove concept Abandon
all progress
Learn that platform
isn’t production-ready
Learn native
language
Re-build it all
on target platform
A YEAR
LATER
@Kinoma
ITERATE
ITERATE
ITERATE
MakingIt:TheOld(Current)Way
Ship it!
Get funding
Prototype on
Arduino
(Processing)
Prototype on
BeagleBone/Raspberry Pi
(Interpreted languages)
Prove concept Abandon
all progress
Learn that platform
isn’t production-ready
Learn native
language
Re-build it all
on target platform
A YEAR
LATER
The Chasm of Despair
@Kinoma
Waterfall
Verification
Maintenance
Requirements Product requirements document
Design Software architecture
Implementation Software
@Kinoma
WeShouldBeDoingBetter
DESIGN PROTOTYPE TEST
ITERATE
SoftwareSimulation
HardwareSimulation
PrototypingHardware
CustomHardware
DESIGN PROTOTYPE TEST
ITERATE
DESIGN PROTOTYPE TEST
ITERATE
DESIGN PROTOTYPE TEST
ITERATE
@Kinoma
ProcessGoals
• Preserve progress between prototypes
– Application code
– I/O libraries
– Look and feel
• Make user tests as authentic as possible
• Small jumps between prototype generations
– Cost
– Time
@Kinoma
SoftwareSimulation
Software
Kinoma Platform

Runtime (KPR)
Native
Interpreted
HTML
Mobile app

framework
Android
iOS
@Kinoma
HardwareSimulation
Software
Simulated
Hardware
Kinoma Platform

Runtime (KPR)
Native
Interpreted
HTML
Mobile app

framework
Android
iOS
Kinoma simulator
Simulator

for Arduino
CPU emulator
(e.g. QEMU)
Android simulator
iOS simulator
@Kinoma
Off-the-ShelfPrototypingHardware
Software
Simulated
Hardware
Prototyping
Hardware
Kinoma Platform

Runtime (KPR)
Native
Interpreted
HTML
Mobile app

framework
Android
iOS
Kinoma simulator
Simulator

for Arduino
CPU emulator
(e.g. QEMU)
Android simulator
iOS simulator
Kinoma Create
Arduino
Galileo
PIC Dev
Raspberry Pi
BeagleBone
Android + IOIO
× ×
@Kinoma
(Affordable)CustomHardware
Software
Simulated
Hardware
Prototyping
Hardware
Custom
Hardware
Kinoma Platform

Runtime (KPR)
Native
Interpreted
HTML
Mobile app

framework
Android
iOS
Kinoma simulator
Simulator

for Arduino
CPU emulator
(e.g. QEMU)
Android simulator
iOS simulator
Kinoma Create
Arduino
Galileo
PIC Dev
Raspberry Pi
BeagleBone
Android + IOIO
Marvell ARM
x86
MIPS
ARM× × ×
?
××
×
×
?
@Kinoma
• Saving time allows you to focus on
• Industrial design
• Companion app
• User testing
• Community building
• Crowdfunding campaign management
• Investor relations
• Building a brand
Don’tRe-engineer:ExpandPriorities
@Kinoma
Tools:GettingStarted
Language Platform
@Kinoma
The“Right”ToolsAreArcane
@Kinoma
“JustMakeitWork”vs“MakeitUseable”
@Kinoma
☑ Web (Desktop)
☑ Mobile (Apps and Web)
☑ Server
☐ Embedded
JavaScript’sOneFrontierLefttoConquer
@Kinoma
We are preaching the religion of JavaScript for embedded and
Internet of Things development.
• Performance
• Memory
• User scripting
• Familiar syntax
• JavaScript coders build cool stuff fast
JavaScriptisReadyfortheChallenge
@Kinoma
PopularFrameworksAren’tIoTReady
• Browser-based solutions: Too heavy for IoT devices
• Node.js: Server solution being shoehorned into the
embedded space
• Qt: Designed for desktop, too much of a catch-all of features
• Lua: Less popular than assembly and COBOL, so difficult to
find talent and no significant ecosystem
@Kinoma
Manage the
hardware
•Power
•Sensors
•Schedulers
@Kinoma
Manage the
hardware
Operate the

user interface
•Power
•Sensors
•Schedulers
•Buttons
•Lights
•Screens
@Kinoma
Manage the
hardware
Operate the

user interface
Coordinate

communication
•Power
•Sensors
•Schedulers
•Buttons
•Lights
•Screens
•Network
•Devices
•Cloud
@Kinoma
Digital

media
Manage the
hardware
Operate the

user interface
Coordinate

communication
•Photos
•Music
•Video
•Power
•Sensors
•Schedulers
•Buttons
•Lights
•Screens
•Network
•Devices
•Cloud
@Kinoma
@Kinoma
@Kinoma
UsabilityasaFirst-OrderDesignGoal
@Kinoma
Kinoma Create
@Kinoma
Hardware Prototyping for Software Developers
Hardware Prototyping for Software Developers
Assemblingyour
RaspberryPi enclosure
isrelatively
straightforwardif
you’veeverbuiltany

t-slotbasedlasercut
stuffbefore,buthere’s
afullguide…
@Kinoma
“
”
@Kinoma
Hardware Prototyping for Software Developers
Hardware Prototyping for Software Developers
Kinoma Create
@Kinoma
Kinoma Create
@Kinoma
Hardware Prototyping for Software Developers
Hardware Prototyping for Software Developers
Thankyou!
AndyCarle,PhD

@PrototypingAndy

@Kinoma
kinoma.com
• “Inclinometer on Arduino” photo from flickr.com/27164521@N00, used under CC Attribution
2.0 Generic license
• “BeagleBone” photo from flickr.com/embecosm, used under CC Attribution-ShareAlike 2.0
Generic license
• Programming languages image from http://geoawesomeness.com/learning-gis-
programming-an-overview/
• Raspberry Pi enclosure photo from http://www.built-to-spec.com/blog/kit-instructions/new-
raspberry-pi-enclosure-assembly/
• Raspberry Pi enclosure photo from http://www.raspberrypi.org/forums/viewtopic.php?
t=6424
• Raspberry Pi enclosure photo from http://www.ikeahackers.net/2013/05/raspberry-pi-pruta-
case.html
Credits

More Related Content

KEY
Nitobi/PhoneGap at Bootup 2011
KEY
Future of Mobile
KEY
Mobeers waterloo-2011
KEY
DjangoSki
PDF
Mobile Delivery Run Through
PPTX
React Native is Ready for Prime Time — Team × Technology (React Conf 2016)
PDF
Kotlin native for iOS and Android
PDF
排隊 Paiduei App, | React Native | iOS | Android
Nitobi/PhoneGap at Bootup 2011
Future of Mobile
Mobeers waterloo-2011
DjangoSki
Mobile Delivery Run Through
React Native is Ready for Prime Time — Team × Technology (React Conf 2016)
Kotlin native for iOS and Android
排隊 Paiduei App, | React Native | iOS | Android

What's hot (20)

KEY
TxJS 2011
PDF
Game development using Flutter
PPTX
Introduction on Mobile development
PDF
Mobile development with Flutter
PDF
Android Development with Kotlin, Part 1 - Introduction
PPTX
Programmer Anarchy and Managerless Processes
PDF
Flutter study jam 2019
PPTX
Titanium Conf Baltimore Keynote 2013
PDF
Mobile DevOps pipeline using Google Flutter
PPTX
Navigation in react native
PDF
How To Be A Better Developer
PDF
Ionic in 30
PPTX
Go Faster - Remove Inhibitors to Rapid Innovation
PDF
Mobile App Development Tools of 2018
PPTX
Native App + Wep App = ? (Hybrid Applications)
PPTX
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
PDF
6 x1 flutter_talk
KEY
Phonegap for Engineers
PDF
Samsung Indonesia: Tizen Native App
PDF
Flutter latest updates and features 2022
TxJS 2011
Game development using Flutter
Introduction on Mobile development
Mobile development with Flutter
Android Development with Kotlin, Part 1 - Introduction
Programmer Anarchy and Managerless Processes
Flutter study jam 2019
Titanium Conf Baltimore Keynote 2013
Mobile DevOps pipeline using Google Flutter
Navigation in react native
How To Be A Better Developer
Ionic in 30
Go Faster - Remove Inhibitors to Rapid Innovation
Mobile App Development Tools of 2018
Native App + Wep App = ? (Hybrid Applications)
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
6 x1 flutter_talk
Phonegap for Engineers
Samsung Indonesia: Tizen Native App
Flutter latest updates and features 2022
Ad

Similar to Hardware Prototyping for Software Developers (20)

PDF
Language Matters: JavaScript 
from IoT Product Concept 
to Production
PDF
Embarcadero's Connected Development
PPTX
Next-gen IDE v2 - OpenSlava 2013-10-11
PDF
The Future of Cross-Platform is Native
PDF
DockerCon EU 2015: Day 1 General Session
PDF
Hybrid App Development, Redefined
PDF
LAS16-108: JerryScript and other scripting languages for IoT
PPTX
NET !!! A must have tool under your belt
PPTX
State of angular ecosystem
KEY
Web and Native in 2012
KEY
Titanium Desktop Intro
PPTX
Appcelerator Titanium Intro
PDF
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
PPTX
Introduction to Java Part-2
PDF
Tech Thursdays: Building Products
PPTX
NCDevCon 2017 - Cross Platform Mobile Apps
PDF
ChrisSchilling_SideProjects
PDF
Pipeline as code for your infrastructure as Code
PPTX
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
PDF
Ten compelling reasons to learn .net framework
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Embarcadero's Connected Development
Next-gen IDE v2 - OpenSlava 2013-10-11
The Future of Cross-Platform is Native
DockerCon EU 2015: Day 1 General Session
Hybrid App Development, Redefined
LAS16-108: JerryScript and other scripting languages for IoT
NET !!! A must have tool under your belt
State of angular ecosystem
Web and Native in 2012
Titanium Desktop Intro
Appcelerator Titanium Intro
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Introduction to Java Part-2
Tech Thursdays: Building Products
NCDevCon 2017 - Cross Platform Mobile Apps
ChrisSchilling_SideProjects
Pipeline as code for your infrastructure as Code
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
Ten compelling reasons to learn .net framework
Ad

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPT
Teaching material agriculture food technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Assigned Numbers - 2025 - Bluetooth® Document
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
sap open course for s4hana steps from ECC to s4
Review of recent advances in non-invasive hemoglobin estimation
Dropbox Q2 2025 Financial Results & Investor Presentation
Network Security Unit 5.pdf for BCA BBA.
gpt5_lecture_notes_comprehensive_20250812015547.pdf
The AUB Centre for AI in Media Proposal.docx
Per capita expenditure prediction using model stacking based on satellite ima...
Spectroscopy.pptx food analysis technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
20250228 LYD VKU AI Blended-Learning.pptx
cuic standard and advanced reporting.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Teaching material agriculture food technology
Chapter 3 Spatial Domain Image Processing.pdf
Big Data Technologies - Introduction.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Hardware Prototyping for Software Developers