SlideShare a Scribd company logo
Jon McKay 
@jonmckay 
Technical 
Machine 
Hardware Side 
JavaScript
“Forgive me for not being hip but why 
try so hard to put JS in new places?” 
- @farnsworth (HackerNews user) 
Source: https://news.ycombinator.com/item?id=6214838
A: Flourishing Ecosystem 
Source: http://adambard.com/blog/top-github-languages-2014/
Source: http://npmjs.org 
A: Prolific Community
A: Accessibility 
// turn on an LED 
scu_pinmux(g_APinDescription[ulPin].port, 
g_APinDescription[ulPin].pin, 
PIN_MODE | pin_modes[ulPin], 
g_APinDescription[ulPin].func); 
GPIO_SetDir(g_APinDescription[ulPin].portNum, 
1 << (g_APinDescription[ulPin].bitNum), 
GPIO_INPUT); 
GPIO_SetValue(g_APinDescription[ulPin]. 
portNum, 1 << g_APinDescription[ulPin]. 
bitNum); 
// turn on an LED 
var tessel = require('tessel'); 
tessel.led[0].high();
A: Event Based 
var tessel = require('tessel'); 
var led = tessel.led[0]; 
var button = tessel.button; 
// Sleep until the button is pressed 
button.on('press', led.toggle.bind(led));
“In my view, the popularity of JavaScript 
comes down to two things: 
Interactivity and Instant Gratification” 
- @naunga (HackerNews user) 
Source: https://news.ycombinator.com/item?id=6217993
JavaScript on hardware is ideal 
for prototyping new ideas.
Why use JavaScript in Hardware? GoTo Conf - Berlin
● The Intel Edison module will initially support development with 
Arduino* and C/C++, followed by Node.JS, Python, RTOS, and 
Visual Programming support in the near future.
Live Demo Time! 
● Blinky 
● HTTP 
● Modules
Case Study: 
Tessel Sign 
Parts: 
● Tessel PCBs 
● Laser Cut 
Logo 
● Neopixels 
● Tessel
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
Let’s build something.
Questions?
http://tessel.io 
jon@technical.io @technicalhumans
Appendix
How does Tessel 
Work?
Why use JavaScript in Hardware? GoTo Conf - Berlin
CC3000 WiFi Chip 
Constant Connection 
Remote Deployment 
Mobile Friendly 
32MB of Flash & RAM 
JavaScript-powered 
Node.js compatible 
Cortex M Processor 
Computation 
Horizontal Module Header 
Plug n Play Capabilities
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
1(JS) 2(Lua) 
3 4 5 
6
User Land 
Driver 
Lua Binding 
declaration
Lua Binding 
declaration 
Lua-C bindings 
Firmware
Why not use V8?
● Chrome’s JS engine 
● C++ 
● ~10mb memory 
required for each 
instance 
● POSIX/Win32 
environment
● Embeddable 
language 
● Written in C 
● ~30kb memory 
● Highly portable 
● LuaJIT is 10x-100x 
faster than LuaVM
What about Post- 
Prototyping?
Why use JavaScript in Hardware? GoTo Conf - Berlin
Fractal 
$40 
$5
Read More About Fractal: 
https://github.com/technicalmachine/fractal-docs
Creation of Tessel 
Sign
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin

More Related Content

What's hot (20)

PPTX
Rusty Python
RangHo Lee
 
PDF
Writing native Linux desktop apps with JavaScript
Igalia
 
PDF
Groovy a Scripting Language for Java
Charles Anderson
 
PPTX
GDB: A Lot More Than You Knew
Undo
 
PDF
Enjoy Writing Modern Desktop Application in JavaScript
Fred Chien
 
PDF
Give me 15 minutes and i'll change your view of gdb
gregthelaw
 
PDF
Web technologies for desktop development
Darko Kukovec
 
PDF
The Simple Scheduler in Embedded System @ OSDC.TW 2014
Jian-Hong Pan
 
PDF
GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware...
Igalia
 
PDF
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Igalia
 
PDF
Metasepi team meeting #7: Snatch application on tiny OS
Kiwamu Okabe
 
PDF
Let s Enjoy Node.js
Fred Chien
 
ODP
Javascript in Linux Desktop
Yuren Ju
 
PDF
Con-FESS 2015 - Is your profiler speaking to you?
Anton Arhipov
 
PDF
Require js + backbone, bower and grunt
Joe Fleming
 
PDF
Writing NetBSD Sound Drivers in Haskell
Kiwamu Okabe
 
PPTX
Monads Transformation
Knoldus Inc.
 
PDF
Developing GNOME Apps in Javascript
Felipe Borges
 
PDF
Q2.12: Debugging with GDB
Linaro
 
PPTX
Qt5.0.0 eglfs abort issue
Prabindh Sundareson
 
Rusty Python
RangHo Lee
 
Writing native Linux desktop apps with JavaScript
Igalia
 
Groovy a Scripting Language for Java
Charles Anderson
 
GDB: A Lot More Than You Knew
Undo
 
Enjoy Writing Modern Desktop Application in JavaScript
Fred Chien
 
Give me 15 minutes and i'll change your view of gdb
gregthelaw
 
Web technologies for desktop development
Darko Kukovec
 
The Simple Scheduler in Embedded System @ OSDC.TW 2014
Jian-Hong Pan
 
GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware...
Igalia
 
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Igalia
 
Metasepi team meeting #7: Snatch application on tiny OS
Kiwamu Okabe
 
Let s Enjoy Node.js
Fred Chien
 
Javascript in Linux Desktop
Yuren Ju
 
Con-FESS 2015 - Is your profiler speaking to you?
Anton Arhipov
 
Require js + backbone, bower and grunt
Joe Fleming
 
Writing NetBSD Sound Drivers in Haskell
Kiwamu Okabe
 
Monads Transformation
Knoldus Inc.
 
Developing GNOME Apps in Javascript
Felipe Borges
 
Q2.12: Debugging with GDB
Linaro
 
Qt5.0.0 eglfs abort issue
Prabindh Sundareson
 

Viewers also liked (6)

PPTX
How to create playbooks that really work
Mindmatrix Partner Relationship Manager
 
PDF
Technical Machine's Hardware Playbook
TechnicalMachine
 
PPT
Your Game Needs Direct3D 11, So Get Started Now!
repii
 
PPTX
Input Output - Computer Architecture
Maruf Abdullah (Rion)
 
PPT
Computer presentation
Shahrukh Rahman
 
PPTX
Types and components of computer system
mkhisalg
 
How to create playbooks that really work
Mindmatrix Partner Relationship Manager
 
Technical Machine's Hardware Playbook
TechnicalMachine
 
Your Game Needs Direct3D 11, So Get Started Now!
repii
 
Input Output - Computer Architecture
Maruf Abdullah (Rion)
 
Computer presentation
Shahrukh Rahman
 
Types and components of computer system
mkhisalg
 
Ad

Similar to Why use JavaScript in Hardware? GoTo Conf - Berlin (20)

PDF
Building Droids with JavaScript
Andrew Fisher
 
PPTX
Tessel + Azure IoT hackathon intro
Thomas Conté
 
PPTX
Hacking into IoT using JavaScript
Sajan John
 
PDF
Bringing Hardware to Life with JS and Node
TechnicalMachine
 
PDF
IoT, computer intelligence and javascript in the physical world
Ivo Andreev
 
PPTX
Bare metal Javascript & GPIO programming in Linux
Alexander Vanwynsberghe
 
PPTX
JavaScript Robotics #NodeWeek
Suz Hinton
 
PDF
Embedded JavaScript (FluentConf 2014)
TechnicalMachine
 
PDF
JavaScript in the Real World
Andrew Nesbitt
 
PDF
Hardware Hacking for JavaScript Engineers
FITC
 
PDF
Tessel is a microcontroller that runs JavaScript.
Ladislav Prskavec
 
PDF
Node as a Movement: Building Community into Products (Kelsey Breseman, NodeDa...
TechnicalMachine
 
PPTX
JCrete Embedded Java Workshop
Stephen Chin
 
PDF
micro:bit and JavaScript
Kenneth Geisshirt
 
PDF
From APIs to Electrons: A JS on Hardware Journey
TechnicalMachine
 
PDF
[HTML5DevConf SF] Hardware Hacking for Javascript Developers
Tomomi Imura
 
PDF
Espruino - JavaScript for Microcontrollers
Drew Fustini
 
PDF
Html5 game, websocket e arduino
monksoftwareit
 
PDF
Little bits & node.js IOT for beginner
Michele Capra
 
PDF
IoT-javascript-2019-fosdem
Phil www.rzr.online.fr
 
Building Droids with JavaScript
Andrew Fisher
 
Tessel + Azure IoT hackathon intro
Thomas Conté
 
Hacking into IoT using JavaScript
Sajan John
 
Bringing Hardware to Life with JS and Node
TechnicalMachine
 
IoT, computer intelligence and javascript in the physical world
Ivo Andreev
 
Bare metal Javascript & GPIO programming in Linux
Alexander Vanwynsberghe
 
JavaScript Robotics #NodeWeek
Suz Hinton
 
Embedded JavaScript (FluentConf 2014)
TechnicalMachine
 
JavaScript in the Real World
Andrew Nesbitt
 
Hardware Hacking for JavaScript Engineers
FITC
 
Tessel is a microcontroller that runs JavaScript.
Ladislav Prskavec
 
Node as a Movement: Building Community into Products (Kelsey Breseman, NodeDa...
TechnicalMachine
 
JCrete Embedded Java Workshop
Stephen Chin
 
micro:bit and JavaScript
Kenneth Geisshirt
 
From APIs to Electrons: A JS on Hardware Journey
TechnicalMachine
 
[HTML5DevConf SF] Hardware Hacking for Javascript Developers
Tomomi Imura
 
Espruino - JavaScript for Microcontrollers
Drew Fustini
 
Html5 game, websocket e arduino
monksoftwareit
 
Little bits & node.js IOT for beginner
Michele Capra
 
IoT-javascript-2019-fosdem
Phil www.rzr.online.fr
 
Ad

More from TechnicalMachine (7)

PPTX
JS gesture sensor driver
TechnicalMachine
 
PDF
Beyond the Screen: Humans as Input and Output
TechnicalMachine
 
PDF
Tessel Introduction
TechnicalMachine
 
PDF
Tessel Introduction
TechnicalMachine
 
PPTX
Tessel Introduction
TechnicalMachine
 
PDF
Picking parts and reading datasheets
TechnicalMachine
 
PDF
Tessel: The End of Web Development (as we know it)
TechnicalMachine
 
JS gesture sensor driver
TechnicalMachine
 
Beyond the Screen: Humans as Input and Output
TechnicalMachine
 
Tessel Introduction
TechnicalMachine
 
Tessel Introduction
TechnicalMachine
 
Tessel Introduction
TechnicalMachine
 
Picking parts and reading datasheets
TechnicalMachine
 
Tessel: The End of Web Development (as we know it)
TechnicalMachine
 

Recently uploaded (20)

PPT
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
PPTX
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PPTX
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
PDF
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
PDF
Halide Perovskites’ Multifunctional Properties: Coordination Engineering, Coo...
TaameBerhe2
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPTX
Water Resources Engineering (CVE 728)--Slide 4.pptx
mohammedado3
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PPTX
澳洲电子毕业证澳大利亚圣母大学水印成绩单UNDA学生证网上可查学历
Taqyea
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PPTX
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PPTX
Water Resources Engineering (CVE 728)--Slide 3.pptx
mohammedado3
 
PPTX
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
MRRS Strength and Durability of Concrete
CivilMythili
 
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
Halide Perovskites’ Multifunctional Properties: Coordination Engineering, Coo...
TaameBerhe2
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Water Resources Engineering (CVE 728)--Slide 4.pptx
mohammedado3
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
澳洲电子毕业证澳大利亚圣母大学水印成绩单UNDA学生证网上可查学历
Taqyea
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
Water Resources Engineering (CVE 728)--Slide 3.pptx
mohammedado3
 
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 

Why use JavaScript in Hardware? GoTo Conf - Berlin