SlideShare a Scribd company logo
Espurino
JavaScript for Microcontrollers
● Presenter: Drew Fustini (drew@pdp7.com / @pdp7)
● Website: http://www.espruino.com/
● Kickstarter:
https://www.kickstarter.com/projects/gfw/espruino-javascript-for-thing
● Videos:
https://www.youtube.com/playlist?list=PLa1tazUyp-oOELRUt6tSuZIo
Espruino - JavaScript for Microcontrollers
Espruino - JavaScript for Microcontrollers
Espruino - JavaScript for Microcontrollers
Why JavaScript?
● Doesn't need compiling
● Can be modified and added to while running
● Has good support for Strings, Objects, Maps and Arrays
● Has similar syntax to common languages like C, C++ (Arduino) and
Java
● Can easily be event-based
● Is widely used, easy to learn and flexible
● JavaScript is the obvious (and possibly the only) language that does
all this. Almost every website on the internet depends on it, and many
websites such as Codeacademy provide free tutorials and lessons.
Millions of people use it every day.
● We've tried to keep the API similar to Arduino's though - so if you've
done any Arduino programming you should feel right at home. Even
if you haven't, it means that a lot of what you learn with Espruino will
be transferrable to other platforms.
Espruino board
Tech specs
● STM32 32-bit 72MHz ARM Cortex M3 CPU
● 256KB of Flash memory, 48KB of RAM
● Micro USB connector
● Input Voltage Range of 3.6v to 15v
● Battery connector (JST 2 Pin)
●
Built-in SD card connector
● Red, Green and Blue LEDs
● Pads to allow HC-05 Bluetooth modules to be added
● 44 GPIO Pins, which can handle: 26 PWM Pins, 16 ADC Pins, 3 USARTs, 2 SPI, 2 I2C and 2
DACs
●
Prototype area which can be used in many different configurations, for example: Servo Headers,
Up to 14x 500mA outputs, 2x .NET Gadgeteer connectors, or NRF24L01+ wireless transceiver
modules
● WiFi Support with the TI CC3000 WiFi module (not included)
Price: $40 from Seeed
http://www.seeedstudio.com/depot/Espruino-board-
Option A) Connect via serial over USB
Option B) Web IDE (Chrome browser app)
Quick Start
● http://www.espruino.com/Quick+Start
● digitalWrite(LED1,1)
● digitalWrite(LED1,0)
● function toggle() { on = !on; digitalWrite(LED1, on); }
● toggle()
● var interval = setInterval(toggle, 500)
● edit(toggle)
● function toggle() { on = !on; digitalWrite(LED1, on);
digitalWrite(LED2, !on); }
● changeInterval(interval, 200);
● clearInterval(interval);
● rest() OR save()
Control string of LEDs
http://www.espruino.com/Individually+Addressable+LEDs
Video:
https://www.youtube.com/watch?v=hanahdauDiE&index=3&list=PLa1tazU
Another Javascript board: Tessel
● http://makezine.com/magazine/first-look-javascript-micro-controllers-for-
● “The Tessel from technical.io […] is aimed
on high end of the gap between the
Arduino and the Raspberry Pi, squarely at
Internet-connected applications targeting
physical devices, and has WiFi built-in.
That means not only that the board is
always online, allowing it to be used as
both as a server and a client, but you
have the ability to remotely deploy your
code onto the board via the network.”
Micro Python
● https://www.kickstarter.com/projects/214379695/micro-python-python
● http://www.micropython.org/
● “lean and fast implementation of the Python 3 programming
language that is optimised to run on a microcontroller. The
Micro Python board is a small electronic circuit board that runs
the Micro Python language”

More Related Content

What's hot (19)

Software Defined Radios for VHF, UHF and SHF
Software Defined Radios for VHF, UHF and SHFSoftware Defined Radios for VHF, UHF and SHF
Software Defined Radios for VHF, UHF and SHF
Alexandru Csete
 
Introduction to Software Defined Radio (SDR) on Linux
Introduction to Software Defined Radio (SDR) on LinuxIntroduction to Software Defined Radio (SDR) on Linux
Introduction to Software Defined Radio (SDR) on Linux
Pamela O'Shea
 
Introduction to Digital Signal Processing Using GNU Radio
Introduction to Digital Signal Processing Using GNU RadioIntroduction to Digital Signal Processing Using GNU Radio
Introduction to Digital Signal Processing Using GNU Radio
Albert Huang
 
Sdr
SdrSdr
Sdr
Junaid Khan
 
All your wireless devices belongs to me
All your wireless devices belongs to meAll your wireless devices belongs to me
All your wireless devices belongs to me
n|u - The Open Security Community
 
A Glimpse into Developing Software-Defined Radio by Python
A Glimpse into Developing Software-Defined Radio by PythonA Glimpse into Developing Software-Defined Radio by Python
A Glimpse into Developing Software-Defined Radio by Python
Albert Huang
 
Software Define Radio - Ham Radio Cebu
Software Define Radio - Ham Radio CebuSoftware Define Radio - Ham Radio Cebu
Software Define Radio - Ham Radio Cebu
Jan Caser
 
A SOFTWARE DEFINED RADIO BASED
A SOFTWARE DEFINED RADIO BASEDA SOFTWARE DEFINED RADIO BASED
A SOFTWARE DEFINED RADIO BASED
ANGELIN JOHN
 
Software Defined Radio
Software Defined RadioSoftware Defined Radio
Software Defined Radio
veerababu penugonda(Mr-IoT)
 
Open bts guide_en_v0.1
Open bts guide_en_v0.1Open bts guide_en_v0.1
Open bts guide_en_v0.1
Daud Suleiman
 
SDR for radar 090623
SDR for radar 090623SDR for radar 090623
SDR for radar 090623
Bertalan EGED
 
Lab based ppt pluto-sdr_final
Lab based ppt pluto-sdr_finalLab based ppt pluto-sdr_final
Lab based ppt pluto-sdr_final
Bhavna Singh
 
Software defined radio
Software defined radioSoftware defined radio
Software defined radio
Devesh Samaiya
 
Lab based report
Lab based reportLab based report
Lab based report
Bhavna Singh
 
Universal software defined radio development platform
Universal software defined radio development platformUniversal software defined radio development platform
Universal software defined radio development platform
Bertalan EGED
 
SCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
SCA Next Part 1 - Software Defined Radio (SDR) Webcast SlidesSCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
SCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
ADLINK Technology IoT
 
EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop
EBU DRW 2011 - CRC-mmbTools - Software Radio WorkshopEBU DRW 2011 - CRC-mmbTools - Software Radio Workshop
EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop
Pascal Charest
 
Sdr
SdrSdr
Sdr
Aashish R
 
Abhinav End Sem Presentation Software Defined Radio
Abhinav End Sem Presentation Software Defined RadioAbhinav End Sem Presentation Software Defined Radio
Abhinav End Sem Presentation Software Defined Radio
guestad4734
 
Software Defined Radios for VHF, UHF and SHF
Software Defined Radios for VHF, UHF and SHFSoftware Defined Radios for VHF, UHF and SHF
Software Defined Radios for VHF, UHF and SHF
Alexandru Csete
 
Introduction to Software Defined Radio (SDR) on Linux
Introduction to Software Defined Radio (SDR) on LinuxIntroduction to Software Defined Radio (SDR) on Linux
Introduction to Software Defined Radio (SDR) on Linux
Pamela O'Shea
 
Introduction to Digital Signal Processing Using GNU Radio
Introduction to Digital Signal Processing Using GNU RadioIntroduction to Digital Signal Processing Using GNU Radio
Introduction to Digital Signal Processing Using GNU Radio
Albert Huang
 
A Glimpse into Developing Software-Defined Radio by Python
A Glimpse into Developing Software-Defined Radio by PythonA Glimpse into Developing Software-Defined Radio by Python
A Glimpse into Developing Software-Defined Radio by Python
Albert Huang
 
Software Define Radio - Ham Radio Cebu
Software Define Radio - Ham Radio CebuSoftware Define Radio - Ham Radio Cebu
Software Define Radio - Ham Radio Cebu
Jan Caser
 
A SOFTWARE DEFINED RADIO BASED
A SOFTWARE DEFINED RADIO BASEDA SOFTWARE DEFINED RADIO BASED
A SOFTWARE DEFINED RADIO BASED
ANGELIN JOHN
 
Open bts guide_en_v0.1
Open bts guide_en_v0.1Open bts guide_en_v0.1
Open bts guide_en_v0.1
Daud Suleiman
 
SDR for radar 090623
SDR for radar 090623SDR for radar 090623
SDR for radar 090623
Bertalan EGED
 
Lab based ppt pluto-sdr_final
Lab based ppt pluto-sdr_finalLab based ppt pluto-sdr_final
Lab based ppt pluto-sdr_final
Bhavna Singh
 
Software defined radio
Software defined radioSoftware defined radio
Software defined radio
Devesh Samaiya
 
Universal software defined radio development platform
Universal software defined radio development platformUniversal software defined radio development platform
Universal software defined radio development platform
Bertalan EGED
 
SCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
SCA Next Part 1 - Software Defined Radio (SDR) Webcast SlidesSCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
SCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
ADLINK Technology IoT
 
EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop
EBU DRW 2011 - CRC-mmbTools - Software Radio WorkshopEBU DRW 2011 - CRC-mmbTools - Software Radio Workshop
EBU DRW 2011 - CRC-mmbTools - Software Radio Workshop
Pascal Charest
 
Abhinav End Sem Presentation Software Defined Radio
Abhinav End Sem Presentation Software Defined RadioAbhinav End Sem Presentation Software Defined Radio
Abhinav End Sem Presentation Software Defined Radio
guestad4734
 

Viewers also liked (6)

MinnowBoard MAX: Open Source Hardware 64-bit x86 Single Board Computer
MinnowBoard MAX: Open Source Hardware  64-bit x86 Single Board ComputerMinnowBoard MAX: Open Source Hardware  64-bit x86 Single Board Computer
MinnowBoard MAX: Open Source Hardware 64-bit x86 Single Board Computer
Drew Fustini
 
introduction to Raspberry pi
introduction to Raspberry piintroduction to Raspberry pi
introduction to Raspberry pi
luckyanks1992
 
ThinkerersA01
ThinkerersA01ThinkerersA01
ThinkerersA01
Adrian Lai
 
Single Board Computers & Raspberry Pi Basics
Single Board Computers & Raspberry Pi BasicsSingle Board Computers & Raspberry Pi Basics
Single Board Computers & Raspberry Pi Basics
Eueung Mulyana
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
Prashant Kumar
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
José Vicente Sogorb Morón
 
MinnowBoard MAX: Open Source Hardware 64-bit x86 Single Board Computer
MinnowBoard MAX: Open Source Hardware  64-bit x86 Single Board ComputerMinnowBoard MAX: Open Source Hardware  64-bit x86 Single Board Computer
MinnowBoard MAX: Open Source Hardware 64-bit x86 Single Board Computer
Drew Fustini
 
introduction to Raspberry pi
introduction to Raspberry piintroduction to Raspberry pi
introduction to Raspberry pi
luckyanks1992
 
Single Board Computers & Raspberry Pi Basics
Single Board Computers & Raspberry Pi BasicsSingle Board Computers & Raspberry Pi Basics
Single Board Computers & Raspberry Pi Basics
Eueung Mulyana
 
Ad

Similar to Espruino - JavaScript for Microcontrollers (20)

Arduino
ArduinoArduino
Arduino
Jerin John
 
Johnny-Five
Johnny-FiveJohnny-Five
Johnny-Five
Henri Cavalcante
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the Arduino
Charles A B Jr
 
4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf
RynefelElopre2
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScript
Andrew Fisher
 
Oop 2014 embedded systems with open source hardware v2
Oop 2014 embedded systems with open source hardware v2Oop 2014 embedded systems with open source hardware v2
Oop 2014 embedded systems with open source hardware v2
Michael Stal
 
Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)
Justin Mclean
 
Edge Of The Web
Edge Of The WebEdge Of The Web
Edge Of The Web
Justin Mclean
 
Arduino and c programming
Arduino and c programmingArduino and c programming
Arduino and c programming
Punit Goswami
 
Hacking into IoT using JavaScript
Hacking into IoT using JavaScriptHacking into IoT using JavaScript
Hacking into IoT using JavaScript
Sajan John
 
Introduction of Arduino Uno
Introduction of Arduino UnoIntroduction of Arduino Uno
Introduction of Arduino Uno
Md. Nahidul Islam
 
Winter traning arduino report final
Winter traning arduino report finalWinter traning arduino report final
Winter traning arduino report final
Govind Jha
 
Interoperability in Internet of Things (IOT)
Interoperability in Internet of Things (IOT)Interoperability in Internet of Things (IOT)
Interoperability in Internet of Things (IOT)
manditalaskar123
 
Arduino Development For Beginners
Arduino Development For BeginnersArduino Development For Beginners
Arduino Development For Beginners
FTS seminar
 
Presentation S4A
Presentation S4A Presentation S4A
Presentation S4A
Pedro González Romero
 
Presentation
PresentationPresentation
Presentation
Edson Silva
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (
Dhruwank Vankawala
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (
Dhruwank Vankawala
 
Fun with Circuitry and Electronics
Fun with Circuitry and ElectronicsFun with Circuitry and Electronics
Fun with Circuitry and Electronics
St. Petersburg College
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the Arduino
Charles A B Jr
 
4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf
RynefelElopre2
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScript
Andrew Fisher
 
Oop 2014 embedded systems with open source hardware v2
Oop 2014 embedded systems with open source hardware v2Oop 2014 embedded systems with open source hardware v2
Oop 2014 embedded systems with open source hardware v2
Michael Stal
 
Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)
Justin Mclean
 
Arduino and c programming
Arduino and c programmingArduino and c programming
Arduino and c programming
Punit Goswami
 
Hacking into IoT using JavaScript
Hacking into IoT using JavaScriptHacking into IoT using JavaScript
Hacking into IoT using JavaScript
Sajan John
 
Winter traning arduino report final
Winter traning arduino report finalWinter traning arduino report final
Winter traning arduino report final
Govind Jha
 
Interoperability in Internet of Things (IOT)
Interoperability in Internet of Things (IOT)Interoperability in Internet of Things (IOT)
Interoperability in Internet of Things (IOT)
manditalaskar123
 
Arduino Development For Beginners
Arduino Development For BeginnersArduino Development For Beginners
Arduino Development For Beginners
FTS seminar
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (
Dhruwank Vankawala
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (
Dhruwank Vankawala
 
Ad

More from Drew Fustini (20)

Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Drew Fustini
 
Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)
Drew Fustini
 
Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)
Drew Fustini
 
Linux on RISC-V
Linux on RISC-VLinux on RISC-V
Linux on RISC-V
Drew Fustini
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
Drew Fustini
 
Linux on RISC-V
Linux on RISC-VLinux on RISC-V
Linux on RISC-V
Drew Fustini
 
For the Love of Tux: Linux on RISC-V
For the Love of Tux: Linux on RISC-VFor the Love of Tux: Linux on RISC-V
For the Love of Tux: Linux on RISC-V
Drew Fustini
 
Berlin Embedded Linux meetup: How to Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-VBerlin Embedded Linux meetup: How to Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-V
Drew Fustini
 
How to run Linux on RISC-V
How to run Linux on RISC-VHow to run Linux on RISC-V
How to run Linux on RISC-V
Drew Fustini
 
FPGA Badge Hack: Linux on RISC-V
FPGA Badge Hack: Linux on RISC-VFPGA Badge Hack: Linux on RISC-V
FPGA Badge Hack: Linux on RISC-V
Drew Fustini
 
RISC-V and open source chip design
RISC-V and open source chip designRISC-V and open source chip design
RISC-V and open source chip design
Drew Fustini
 
Introduction to Open Source Hardware, OSHWA and Open Hardware Summit
Introduction to Open Source Hardware, OSHWA and Open Hardware SummitIntroduction to Open Source Hardware, OSHWA and Open Hardware Summit
Introduction to Open Source Hardware, OSHWA and Open Hardware Summit
Drew Fustini
 
Linux on Open Source Hardware with Open Source chip design (36c3)
Linux on Open Source Hardware with Open Source chip design (36c3)Linux on Open Source Hardware with Open Source chip design (36c3)
Linux on Open Source Hardware with Open Source chip design (36c3)
Drew Fustini
 
Open Source Hardware, Linux and RISC-V
Open Source Hardware, Linux and RISC-VOpen Source Hardware, Linux and RISC-V
Open Source Hardware, Linux and RISC-V
Drew Fustini
 
Open Source Hardware for Good
Open Source Hardware for GoodOpen Source Hardware for Good
Open Source Hardware for Good
Drew Fustini
 
Autodesk EAGLE and OSH Park
Autodesk EAGLE and OSH ParkAutodesk EAGLE and OSH Park
Autodesk EAGLE and OSH Park
Drew Fustini
 
BeagleBone Blue at Maker Faire 2017
BeagleBone Blue at Maker Faire 2017BeagleBone Blue at Maker Faire 2017
BeagleBone Blue at Maker Faire 2017
Drew Fustini
 
Open Source Hardware and Libre Silicon
Open Source Hardware and Libre SiliconOpen Source Hardware and Libre Silicon
Open Source Hardware and Libre Silicon
Drew Fustini
 
Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)
Drew Fustini
 
Portland Science Hack Day: Open Source Hardware
Portland Science Hack Day: Open Source HardwarePortland Science Hack Day: Open Source Hardware
Portland Science Hack Day: Open Source Hardware
Drew Fustini
 
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Drew Fustini
 
Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)
Drew Fustini
 
Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)
Drew Fustini
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
Drew Fustini
 
For the Love of Tux: Linux on RISC-V
For the Love of Tux: Linux on RISC-VFor the Love of Tux: Linux on RISC-V
For the Love of Tux: Linux on RISC-V
Drew Fustini
 
Berlin Embedded Linux meetup: How to Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-VBerlin Embedded Linux meetup: How to Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-V
Drew Fustini
 
How to run Linux on RISC-V
How to run Linux on RISC-VHow to run Linux on RISC-V
How to run Linux on RISC-V
Drew Fustini
 
FPGA Badge Hack: Linux on RISC-V
FPGA Badge Hack: Linux on RISC-VFPGA Badge Hack: Linux on RISC-V
FPGA Badge Hack: Linux on RISC-V
Drew Fustini
 
RISC-V and open source chip design
RISC-V and open source chip designRISC-V and open source chip design
RISC-V and open source chip design
Drew Fustini
 
Introduction to Open Source Hardware, OSHWA and Open Hardware Summit
Introduction to Open Source Hardware, OSHWA and Open Hardware SummitIntroduction to Open Source Hardware, OSHWA and Open Hardware Summit
Introduction to Open Source Hardware, OSHWA and Open Hardware Summit
Drew Fustini
 
Linux on Open Source Hardware with Open Source chip design (36c3)
Linux on Open Source Hardware with Open Source chip design (36c3)Linux on Open Source Hardware with Open Source chip design (36c3)
Linux on Open Source Hardware with Open Source chip design (36c3)
Drew Fustini
 
Open Source Hardware, Linux and RISC-V
Open Source Hardware, Linux and RISC-VOpen Source Hardware, Linux and RISC-V
Open Source Hardware, Linux and RISC-V
Drew Fustini
 
Open Source Hardware for Good
Open Source Hardware for GoodOpen Source Hardware for Good
Open Source Hardware for Good
Drew Fustini
 
Autodesk EAGLE and OSH Park
Autodesk EAGLE and OSH ParkAutodesk EAGLE and OSH Park
Autodesk EAGLE and OSH Park
Drew Fustini
 
BeagleBone Blue at Maker Faire 2017
BeagleBone Blue at Maker Faire 2017BeagleBone Blue at Maker Faire 2017
BeagleBone Blue at Maker Faire 2017
Drew Fustini
 
Open Source Hardware and Libre Silicon
Open Source Hardware and Libre SiliconOpen Source Hardware and Libre Silicon
Open Source Hardware and Libre Silicon
Drew Fustini
 
Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)
Drew Fustini
 
Portland Science Hack Day: Open Source Hardware
Portland Science Hack Day: Open Source HardwarePortland Science Hack Day: Open Source Hardware
Portland Science Hack Day: Open Source Hardware
Drew Fustini
 

Recently uploaded (13)

network-layer-forohhfbjhgvdefhnnmuzan.pdf
network-layer-forohhfbjhgvdefhnnmuzan.pdfnetwork-layer-forohhfbjhgvdefhnnmuzan.pdf
network-layer-forohhfbjhgvdefhnnmuzan.pdf
himanshumis2022
 
Document from Ronit in which discussion about business
Document from Ronit in which discussion about businessDocument from Ronit in which discussion about business
Document from Ronit in which discussion about business
RonitKumar611570
 
美国学历认证范本爱荷华州立大学成绩单底纹防伪ISU在读证明信仿制
美国学历认证范本爱荷华州立大学成绩单底纹防伪ISU在读证明信仿制美国学历认证范本爱荷华州立大学成绩单底纹防伪ISU在读证明信仿制
美国学历认证范本爱荷华州立大学成绩单底纹防伪ISU在读证明信仿制
Taqyea
 
VisualizationNNNNNNNNNNNNNNNNNNNNNNNNNN_24_25.pptx
VisualizationNNNNNNNNNNNNNNNNNNNNNNNNNN_24_25.pptxVisualizationNNNNNNNNNNNNNNNNNNNNNNNNNN_24_25.pptx
VisualizationNNNNNNNNNNNNNNNNNNNNNNNNNN_24_25.pptx
silviaramosdelgadoua
 
AI_Traffic_Management_Presentation (2).pptx
AI_Traffic_Management_Presentation (2).pptxAI_Traffic_Management_Presentation (2).pptx
AI_Traffic_Management_Presentation (2).pptx
rohitkumbarhall
 
8937-14549-2-PB.pdfseeeeerrerrrruuyyyyyyyy
8937-14549-2-PB.pdfseeeeerrerrrruuyyyyyyyy8937-14549-2-PB.pdfseeeeerrerrrruuyyyyyyyy
8937-14549-2-PB.pdfseeeeerrerrrruuyyyyyyyy
AbdullahiMuhammadMus3
 
Bharat Green E waste Recycling Scrap.pdf
Bharat Green E waste Recycling Scrap.pdfBharat Green E waste Recycling Scrap.pdf
Bharat Green E waste Recycling Scrap.pdf
bharatgreenewasterec
 
computer organisation algorithm power point presentation
computer organisation algorithm power point presentationcomputer organisation algorithm power point presentation
computer organisation algorithm power point presentation
rocky
 
Enhancing EFL Student Participation in Academic Lectures.pdf
Enhancing EFL Student Participation in Academic Lectures.pdfEnhancing EFL Student Participation in Academic Lectures.pdf
Enhancing EFL Student Participation in Academic Lectures.pdf
masoudmasoudpour
 
578670211-MPMC-8051-Microcontroller.pptx
578670211-MPMC-8051-Microcontroller.pptx578670211-MPMC-8051-Microcontroller.pptx
578670211-MPMC-8051-Microcontroller.pptx
kovurukishore9
 
[Back2School] Delay Calculation- Chapter 2
[Back2School] Delay Calculation- Chapter 2[Back2School] Delay Calculation- Chapter 2
[Back2School] Delay Calculation- Chapter 2
Ahmed Abdelazeem
 
Case study for students dhsuhayvavvsuh cse (1).pdf
Case study for students dhsuhayvavvsuh cse (1).pdfCase study for students dhsuhayvavvsuh cse (1).pdf
Case study for students dhsuhayvavvsuh cse (1).pdf
ssuserf31e8b
 
Melt Flow Index Tester from Perfect Group India
Melt Flow Index Tester from Perfect Group IndiaMelt Flow Index Tester from Perfect Group India
Melt Flow Index Tester from Perfect Group India
perfectgroup india123
 
network-layer-forohhfbjhgvdefhnnmuzan.pdf
network-layer-forohhfbjhgvdefhnnmuzan.pdfnetwork-layer-forohhfbjhgvdefhnnmuzan.pdf
network-layer-forohhfbjhgvdefhnnmuzan.pdf
himanshumis2022
 
Document from Ronit in which discussion about business
Document from Ronit in which discussion about businessDocument from Ronit in which discussion about business
Document from Ronit in which discussion about business
RonitKumar611570
 
美国学历认证范本爱荷华州立大学成绩单底纹防伪ISU在读证明信仿制
美国学历认证范本爱荷华州立大学成绩单底纹防伪ISU在读证明信仿制美国学历认证范本爱荷华州立大学成绩单底纹防伪ISU在读证明信仿制
美国学历认证范本爱荷华州立大学成绩单底纹防伪ISU在读证明信仿制
Taqyea
 
VisualizationNNNNNNNNNNNNNNNNNNNNNNNNNN_24_25.pptx
VisualizationNNNNNNNNNNNNNNNNNNNNNNNNNN_24_25.pptxVisualizationNNNNNNNNNNNNNNNNNNNNNNNNNN_24_25.pptx
VisualizationNNNNNNNNNNNNNNNNNNNNNNNNNN_24_25.pptx
silviaramosdelgadoua
 
AI_Traffic_Management_Presentation (2).pptx
AI_Traffic_Management_Presentation (2).pptxAI_Traffic_Management_Presentation (2).pptx
AI_Traffic_Management_Presentation (2).pptx
rohitkumbarhall
 
8937-14549-2-PB.pdfseeeeerrerrrruuyyyyyyyy
8937-14549-2-PB.pdfseeeeerrerrrruuyyyyyyyy8937-14549-2-PB.pdfseeeeerrerrrruuyyyyyyyy
8937-14549-2-PB.pdfseeeeerrerrrruuyyyyyyyy
AbdullahiMuhammadMus3
 
Bharat Green E waste Recycling Scrap.pdf
Bharat Green E waste Recycling Scrap.pdfBharat Green E waste Recycling Scrap.pdf
Bharat Green E waste Recycling Scrap.pdf
bharatgreenewasterec
 
computer organisation algorithm power point presentation
computer organisation algorithm power point presentationcomputer organisation algorithm power point presentation
computer organisation algorithm power point presentation
rocky
 
Enhancing EFL Student Participation in Academic Lectures.pdf
Enhancing EFL Student Participation in Academic Lectures.pdfEnhancing EFL Student Participation in Academic Lectures.pdf
Enhancing EFL Student Participation in Academic Lectures.pdf
masoudmasoudpour
 
578670211-MPMC-8051-Microcontroller.pptx
578670211-MPMC-8051-Microcontroller.pptx578670211-MPMC-8051-Microcontroller.pptx
578670211-MPMC-8051-Microcontroller.pptx
kovurukishore9
 
[Back2School] Delay Calculation- Chapter 2
[Back2School] Delay Calculation- Chapter 2[Back2School] Delay Calculation- Chapter 2
[Back2School] Delay Calculation- Chapter 2
Ahmed Abdelazeem
 
Case study for students dhsuhayvavvsuh cse (1).pdf
Case study for students dhsuhayvavvsuh cse (1).pdfCase study for students dhsuhayvavvsuh cse (1).pdf
Case study for students dhsuhayvavvsuh cse (1).pdf
ssuserf31e8b
 
Melt Flow Index Tester from Perfect Group India
Melt Flow Index Tester from Perfect Group IndiaMelt Flow Index Tester from Perfect Group India
Melt Flow Index Tester from Perfect Group India
perfectgroup india123
 

Espruino - JavaScript for Microcontrollers

  • 1. Espurino JavaScript for Microcontrollers ● Presenter: Drew Fustini ([email protected] / @pdp7) ● Website: http://www.espruino.com/ ● Kickstarter: https://www.kickstarter.com/projects/gfw/espruino-javascript-for-thing ● Videos: https://www.youtube.com/playlist?list=PLa1tazUyp-oOELRUt6tSuZIo
  • 5. Why JavaScript? ● Doesn't need compiling ● Can be modified and added to while running ● Has good support for Strings, Objects, Maps and Arrays ● Has similar syntax to common languages like C, C++ (Arduino) and Java ● Can easily be event-based ● Is widely used, easy to learn and flexible ● JavaScript is the obvious (and possibly the only) language that does all this. Almost every website on the internet depends on it, and many websites such as Codeacademy provide free tutorials and lessons. Millions of people use it every day. ● We've tried to keep the API similar to Arduino's though - so if you've done any Arduino programming you should feel right at home. Even if you haven't, it means that a lot of what you learn with Espruino will be transferrable to other platforms.
  • 7. Tech specs ● STM32 32-bit 72MHz ARM Cortex M3 CPU ● 256KB of Flash memory, 48KB of RAM ● Micro USB connector ● Input Voltage Range of 3.6v to 15v ● Battery connector (JST 2 Pin) ● Built-in SD card connector ● Red, Green and Blue LEDs ● Pads to allow HC-05 Bluetooth modules to be added ● 44 GPIO Pins, which can handle: 26 PWM Pins, 16 ADC Pins, 3 USARTs, 2 SPI, 2 I2C and 2 DACs ● Prototype area which can be used in many different configurations, for example: Servo Headers, Up to 14x 500mA outputs, 2x .NET Gadgeteer connectors, or NRF24L01+ wireless transceiver modules ● WiFi Support with the TI CC3000 WiFi module (not included)
  • 8. Price: $40 from Seeed http://www.seeedstudio.com/depot/Espruino-board-
  • 9. Option A) Connect via serial over USB Option B) Web IDE (Chrome browser app)
  • 10. Quick Start ● http://www.espruino.com/Quick+Start ● digitalWrite(LED1,1) ● digitalWrite(LED1,0) ● function toggle() { on = !on; digitalWrite(LED1, on); } ● toggle() ● var interval = setInterval(toggle, 500) ● edit(toggle) ● function toggle() { on = !on; digitalWrite(LED1, on); digitalWrite(LED2, !on); } ● changeInterval(interval, 200); ● clearInterval(interval); ● rest() OR save()
  • 11. Control string of LEDs http://www.espruino.com/Individually+Addressable+LEDs Video: https://www.youtube.com/watch?v=hanahdauDiE&index=3&list=PLa1tazU
  • 12. Another Javascript board: Tessel ● http://makezine.com/magazine/first-look-javascript-micro-controllers-for- ● “The Tessel from technical.io […] is aimed on high end of the gap between the Arduino and the Raspberry Pi, squarely at Internet-connected applications targeting physical devices, and has WiFi built-in. That means not only that the board is always online, allowing it to be used as both as a server and a client, but you have the ability to remotely deploy your code onto the board via the network.”
  • 13. Micro Python ● https://www.kickstarter.com/projects/214379695/micro-python-python ● http://www.micropython.org/ ● “lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller. The Micro Python board is a small electronic circuit board that runs the Micro Python language”