21
JavaScript, Linux and Open Hardware Jason Kridner Co-Founder BeagleBoard.org JavaScript Linux Open Source Hardware A Recipe for Rapid Internet Devices

JavaScript, Linux and Open Hardware Jason Kridner Co-Founder BeagleBoard.org JavaScript Linux Open Source Hardware A Recipe for Rapid Internet Devices

Embed Size (px)

Citation preview

JavaScript, Linux and Open Hardware

Jason Kridner

Co-Founder

BeagleBoard.org

JavaScript

Linux

Open Source Hardware

A Recipe for Rapid Internet Devices

Envision: Apps becoming appliances

2

Add some physical to your computing

3http://www.adafruit.com/

Even fashion has electronics

4

http://www.materialise.com/press/3d-printing-rings-shines-at-cirque-du-soleilhttp://www.anoukwipprecht.nl/

Lighting

Sensing

Streaming

JavaScript: The duct tape of the Internet

6http://wiki.openrov.com/index.php/Software_Manual

Linux: Bazaar’s upstream

• Everywhere: server, desktop, mobile, embedded

• Handles dirty work of talking to hardware

• Makes embedded look like a server

7http://www.linuxfoundation.org

Open hardware: The bits are free

• Allows you to customize the design– Alter both form and function– Make the product your own

• Lots of peer review

8http://ninjablocks.com/

Getting started!

9

BoneScript• Arduino-like

software for easy module interactions

Browser-based interactive teaching environment• Zero-install• Runs directly

on BeagleBone Black

• Hides Linux complexity

Built on familiar programming environments• JavaScript • HTML5 • Node.js

Power of 1GHz computer on demand• Networking and

USB stacks • Open-source

frameworks available

• Accessible keyboard/mouse/monitor

• Accessible over SSH from PC

Examples run directly in browser• Click to run• Editable in

browser• Experiment to

learn• Copy and paste

Talks directly to the board• Programmatic

interface into the board

IDE included

10

The role of BeagleBoard.org

11

demystifying technology

Numerous books available from getting started, to text books and on to project focused books

Collage volunteer programs and robotics platforms

Derek Molloy video training series

BeagleBoard.org is a mentor helping students write code for open source projects

Open source course curriculum

Transform ideas into usable, unique products• Do it together

• Tools are out there

• Learn just in time

12

Engineers

Students

Electroacoustic drawing board

Artists and Hobbyists

Electronic light sculpture

OpenROVNinja Blocks

Thanks

13

@jadon

Backup slides

14

BeagleBone Black 1 GHz performance ready to use for $45

15

Boot Button

Reset Button

LEDS

10/100 Ethernet

DC Power

USB Client

Serial Debug

USB Host

microHDMI

microSDExpansion slot for additional storage

2GB on-board storage using eMMC• Pre-loaded with

Ångström Linux Distribution

• 8-bit bus accelerates performance

• Frees the microSD slot to be used for additional storage for a less expensive solution than SD cards

1 GHz Sitara AM335x ARM® Cortex™-A8 processor

Easily connects to almost any everyday device such as mouse or keyboard

512MB DDR3Faster, lower power RAM for enhanced user-friendly experience

Provides a more advanced user interface and up to 150% better performance than ARM11

Connect directly to monitors and TVs

Development interface and directly powers board from PC

Expansionheaders

Enable cape hardware and include:• 65 digital I/O• 7 analog• 4 serial• 2 SPI• 2 I2C• 8 PWMs• 4 timers• And much much more!

Power Button

Not required:• Power supply ~ $10 (USB)• Network cable ~ $3 (USB)

• SD card ~ $5-$10 (on-board 2GB eMMC flash storage)• External MCU/FPGA for real-time I/F ~ $20 (2x 200MHz PRUs)

Wearable vision

17

http://beagleboard.org/project/stache

root@beaglebone:~# pkg-config --cflags --libs --modversion opencv2.4.2-I/usr/include/opencv -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_ts -lopencv_video -lopencv_videostab

Vision

Add-ons

CPU Speed

18

...and many more!

PRUs enable low-level performance without giving up high-level Linux

• 2-200MHz RISC CPUs

• Shared memory with ARM

• Enhanced GPIO with single cycle test and set

• Serial/parallel interfaces to external pins

• Example shown is sampling 8-bits at 32MHz

19

http://ow.ly/tOdLf

Choosing a small Linux board

BeagleBone Black Raspberry Pi

1GHz armv7 (3,319.96 DMIPS*) 700MHz armv6 (809.06 DMIPS*)

$45 MSRP from over 35 distributors $35/$25 from 2 distributors (+ resellers)

1 USB host + 1 USB client 2 USB host

Power via USB Power via USB connector with wall-wart

92-pin expansion (65 GPIO, 8 PWMs, 7 channel ADC, 2 SPI, 2 I2C, 4 UART, ...)

26-pin expansion (8 GPIO, 1 PWM, 1 SPI, 1 I2C, 1 UART)

2-200MHz programmable realtime units N/A

PowerVR 3D graphics Videocore IV GPU

Open hardware Closed hardware

Open source boot + optional 3D binary Closed 3D binary required to boot

Pre-programmed on-board 2GB flash N/A

Included USB cable N/A

20

* http://robotic-controls.com/learn/beaglebone/beaglebone-black-ubuntu

The Boards of BeagleBoard.org

BeagleBoard BeagleBoard-xM BeagleBone BeagleBone Black

Board

Quick summary

The original software developer focused board brings Linux desktop to

affordable BYO-peripherals platform that can run on batteries

All features of the original BeagleBoard with extra

MIPS and memory, plus USB ports and Ethernet

Bare bones maker focused board gets

lower-cost and focuses on low-level I/O

capabilities with “cape” plug-in board support

Next-generation BeagleBone featuring lower pr ice, 1-GHz processor and HDMI

Memory 256KB L2 cache 512MB DDR2 256MB DDR2 512MB DDR3

Special features

2D/3D graphics accelerator,HD video capable, USB

powered

BeagleBoard plus 1-GHz processing power, Four-

port hub with 10/100 Ethernet

USB-powered, 10/100 Ethernet, USB JTAG, 96

pin expansion header with real-time I/O

BeagleBone plus onboard 2GB eMMC flash storage

and HDMI interface, minus built-in JTAG/serial

MSRP(US $) $129 $149 $89 $45