nerves-projectErlang-OTP on the BeagleBone   ErlangDC Lightning Talk - 22 Feb 2012
What is the nerves-project?• Production-quality environment and libraries  for building Erlang-based embedded devices• Dem...
Quick aside: Embedded System• Computer system designed for a specific purpose• Common characteristics    – Real-time compo...
Why Erlang?• Message-based architecture  good match for embedded  development• Very mature ideas on  robustness• Ready to ...
What’s not Erlang• Goal is to use Erlang in the places that count• Components that probably won’t be Erlang    – Device dr...
The BeagleBone is Getting Nerves• Inexpensive ARM  Cortex A8 platform• 720 MHz ARM• 256 MB DRAM• Lots of peripheral  inter...
What Can It Connect To?• Everything*    – Some assembly required• Interfaces: GPIO, PWM, ADC, I2C, SPI, USB,  Ethernet, CA...
Software Components    Linux Kernel           Cross-                          compiler    Init scripts,      utilities    ...
Getting Started•   Go to http://nerves-project.org•   Download the microSD card image•   Copy the image to a microSD card•...
Going Forward• Solidify code for the simple interface support• Build apps that use nerves!     – Any project that you coul...
Final Thoughts• The world is filled with embedded devices• Erlang is a good match for many embedded  development needs• Lo...
Upcoming SlideShare
Loading in …5
×

Nerves Project Intro to ErlangDC

954 views
865 views

Published on

High level overview of the nerves-project to the ErlangDC users group

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
954
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Nerves Project Intro to ErlangDC

  1. 1. nerves-projectErlang-OTP on the BeagleBone ErlangDC Lightning Talk - 22 Feb 2012
  2. 2. What is the nerves-project?• Production-quality environment and libraries for building Erlang-based embedded devices• Demonstration that Erlang and OTP are a viable alternative to traditional C/C++ embedded development• Excuse to hack random hardware devices and in Erlang• THIS IS A WORK IN PROGRESS2 nerves-project.org
  3. 3. Quick aside: Embedded System• Computer system designed for a specific purpose• Common characteristics – Real-time components – Task-specific I/O and hardware acceleration – CPU, DRAM, or disk resource limited• Nerves-project focus – Systems fast enough to run embedded Linux – Generally 200 MHz, 64 MB DRAM, 64 MB storage – Sub $30 BOM for processor complex3 nerves-project.org
  4. 4. Why Erlang?• Message-based architecture good match for embedded development• Very mature ideas on robustness• Ready to take advantage of growing number of multi- core embedded processors• Still has support for bit manipulations• Process-scoped garbage collector4 nerves-project.org
  5. 5. What’s not Erlang• Goal is to use Erlang in the places that count• Components that probably won’t be Erlang – Device drivers – UI – Linux system initialization and utilities• But, Nerves will provide easy-to-use interfaces to many of these components5 nerves-project.org
  6. 6. The BeagleBone is Getting Nerves• Inexpensive ARM Cortex A8 platform• 720 MHz ARM• 256 MB DRAM• Lots of peripheral interfaces• Large hobbyist community• “Easy” to integrate into real products6 nerves-project.org
  7. 7. What Can It Connect To?• Everything* – Some assembly required• Interfaces: GPIO, PWM, ADC, I2C, SPI, USB, Ethernet, CAN, MMC, UART, McASP, etc.• Possibilities – LEDs, buttons, light sensors, humidity, temperature – Heart rate monitors, accelerometers, gyros, compasses, NFC – GPS, GPRS, Bluetooth, automobile – Motors, servos, 1D and 2D image sensors7 nerves-project.org
  8. 8. Software Components Linux Kernel Cross- compiler Init scripts, utilities Erlang R15B Buildroot 3rd party Erlang tools and apps Your Erlang Your Device’s Apps Configuration8 nerves-project.org
  9. 9. Getting Started• Go to http://nerves-project.org• Download the microSD card image• Copy the image to a microSD card• Insert the card into a BeagleBone and boot9 nerves-project.org
  10. 10. Going Forward• Solidify code for the simple interface support• Build apps that use nerves! – Any project that you could build with an Arduino – Low power Erlang nodes – Demo ideas to really show off Erlang’s advantages in concrete ways• A laundry list of other items based on our interests10 Troodon Software LLC Proprietary & Confidential
  11. 11. Final Thoughts• The world is filled with embedded devices• Erlang is a good match for many embedded development needs• Lots of opportunities to move Erlang forward• People will use code from the nerves-project – The Buildroot infrastructure already useful – Contacted by people around the world asking about it – Especially interested in HiPE support11 nerves-project.org

×