Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BayNode Meetup June 2014
Search
Tim Cameron Ryan
June 20, 2014
Technology
1
79
BayNode Meetup June 2014
Tim Cameron Ryan
June 20, 2014
Tweet
Share
More Decks by Tim Cameron Ryan
See All by Tim Cameron Ryan
Elevator redesign: Team Unibros Final Presentation
tcr
0
430
The Science of Etherpad
tcr
2
62
Other Decks in Technology
See All in Technology
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
250
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.4k
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
1
720
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
190
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
150
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
110
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
710
初めてのDatabricks AI/BI Genie
taka_aki
0
120
チーリンについて
hirotomotaguchi
6
1.9k
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
5.3k
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
140
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
0
510
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing for humans not robots
tammielis
254
26k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Balancing Empowerment & Direction
lara
5
800
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Unsuck your backbone
ammeep
671
58k
Become a Pro
speakerdeck
PRO
31
5.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Transcript
Embedded JavaScript: The skills you have in 2014 will be
all you need to make physical devices Tim Ryan, Co-Founder / Developer Technical Machine
None
Tessel is a WiFi-enabled microcontroller that runs JavaScript. Tim Ryan,
Co-Founder / Software Developer Technical Machine
None
Embedded JavaScript
None
None
None
None
None
High-level != Developer-friendly
Open Source Hardware
None
None
None
2005 2014
2005 2003 2005
2005 2003 2005
~2010
Microcontrollers
None
8-bit 32-bit
We can today afford the processing power to make developers’
lives easier.
$4 @1K $11 @1K
None
None
Why JavaScript?
JavaScript (and asynchronous coding) is the perfect embedded language!
JavaScript (and asynchronous coding) is the perfect embedded language! —Sylvia
Plath
Ethernet TCP HTTP
Ethernet TCP HTTP (Packet-based) (Stream-based) (Packet-based)
Ethernet TCP HTTP Websockets (Packet-based) (Stream-based) (Packet-based) (Streaming…)
None
None
None
None
None
def receive_packet(): buf = sock.recv() return buf while True: print(receive_packet())
Future<byte[]> p = pool.submit(new Callable<byte[]>() { public byte[] call() {
return socket.recv(); } } // ... while waiting ... p.get();
socket.on(‘data’, function (data) { // handle data buffer }); //
... other code ...
Inventing the Universe
None
• Chrome’s JS engine • C++ • ~10mb memory required
for each instance • POSIX/Win32 environment
• Embeddable language • Written in C • ~30kb memory
• Highly portable
• Embeddable language • Written in C • ~30kb memory
• Highly portable • 10x-100x slower
JS VM HTTP Parsing DNS SSL Memory management Filesystem Tar
JSON Unicode TCP/IP
JS VM HTTP Parsing DNS SSL Memory management Filesystem Tar
JSON Unicode TCP/IP tessel/colony wecing/utf8proc lloyd/yajl bagder/c-ares dsheets/axtls joyent/http-parser abbrev/fatfs colorer/dlmalloc
Lesson Learned: When reinventing everything, reuse as much as possible.
None
None
What Comes Next
It’s becoming feasible to embed in every product a microcontroller
powerful enough to run a high level language.
HTTP
HTTP SPI I2C UART
None
None
http://github.com/tessel/firmware http://github.com/tessel/runtime
None
Be bold! Be courageous! Be amazing!
Be bold! Be courageous! Be amazing! Build robots!
Be bold! Be courageous! Be amazing! Build robots! — Sylvia
Plath
[email protected]
@technicalhumans http://tessel.io