SlideShare una empresa de Scribd logo
1 de 42
concurrency.cc
Hardware Projects 

Omer Kilic 
University of Kent

(Ack to: Matt Jadud, Christian Jacobsen, Adam Sampson)
Arduino is great!


Open Source
Cross Platform
Cheap, flexible, easily available
Abundant projects/articles/howtos
Standard tools across a range of boards
A great tool for...
Education             Hacking/Prototyping
We discussed...
         and discussed...
The Concurrency Board




Developed by Omer Kilic, based on the Arduino 
Duemilanove Reference Design and inspired by many of 
the Freeduino clones.
A family shot
The Cardboarduino




Developed by Matt Jadud, based on the 
PAPERduino by Guilherme Martins.
Photo by Matt Jadud
Photo by Matt Jadud
Interested?

Design files will be on the web site real soon!
http://concurrency.cc/hardware/

Join our mailing list:
http://concurrency.cc/docs/mailinglists
Plumbing the Arduino



Adam Sampson
University of Kent

(and a cast of thousands, including Matt Jadud, 
Christian Jacobsen, Omer Kilic, Carl Ritson...)
A brief history lesson
●   In the 1980s, INMOS created the Transputer
●   … and an unusual programming language, called
    occam
●   Further developed at Kent in the 1990s and
    2000s: occam-pi
●   Here's what it looks like...
C++:

 doThing();
 doOtherThing();

occam:

 SEQ
   doThing()
   doOtherThing()
PROC main ()
  WHILE TRUE
    SEQ
      digitalWrite (13, HIGH)
      delay (200)
      digitalWrite (13, LOW)
      delay (200)
:
PROC blink (VAL INT pin, period)
  WHILE TRUE
    SEQ
      digitalWrite (pin, HIGH)
      delay (period)
      digitalWrite (pin, LOW)
      delay (period)
:
PROC main ()
  blink (13, 200)
:
PROC main ()
  blink (13, 200)
:
occam:

 PAR
   x
   y

C++:

 ??!?!!!?
PROC main ()
  PAR
    blink (13, 300)
    blink (14, 500)
:
This is a channel.
sender   receiver
inputPin   outputPin
inputPin   invert   outputPin
Concurrency in action
●   We call this “process-oriented programming”
●   Build your program out of little, isolated
    components, and connect them together
●   Plumbing is a library of ready-made components
    (like inputPin, invert and blink) for the Arduino
64 LEDs (well, 128, actually...)
One
How does that work?

      buffer   buffer   buffer   ...   buffer
How does that work?

      buffer   buffer   buffer   ...   buffer




      column   column   column   ...   column
How does that work?

                                                   black.
source   buffer   buffer   buffer   ...   buffer
                                                    hole




         column   column   column   ...   column
Distributed embedded system

                                                   black.
source   buffer   buffer   buffer   ...   buffer
                                                    hole




         column   column   column   ...   column
First node

source   buffer   buffer   buffer   ...   buffer   serial.tx




         column   column   column   ...   column
Other nodes

serial.rx   buffer   buffer   buffer   ...   buffer   serial.tx




            column   column   column   ...   column
The RepRap
●   X, Y and Z axes with steppers and endstops
●   Print head with heater, temperature sensor and
    extruder motor
●   Serial interface to accept commands from a host
    computer
Plumbing the RepRap
                                                    heater
                                      thermostat
                                                    temp.
                                                    sensor


                                                   motor
                                  x   motor.        motor
                                       motor.        motor
   serial.port   command.parser       control
                                         motor.
                                          axis.
                                  y    control
                                         control   endstop
                                                    endstop
                                  z                  endstop



                                                    extruder
How do I learn more?
●   Read the book!
●   Available from our web site
    along with the software (all
    open source):
    http://concurrency.cc/
●   For more about occam-pi:
    http://occam-pi.org/
●   Thanks – any questions?

Más contenido relacionado

La actualidad más candente

TIK KOMPUTER-CPU
TIK KOMPUTER-CPUTIK KOMPUTER-CPU
TIK KOMPUTER-CPU
Egan Tari
 
Arduino intro to Albanian Geeks
Arduino intro to Albanian GeeksArduino intro to Albanian Geeks
Arduino intro to Albanian Geeks
Luca Pescatore
 
Openwrt, linux e GPIO al LinuxDay 2010 Roma
Openwrt, linux e GPIO al LinuxDay 2010 RomaOpenwrt, linux e GPIO al LinuxDay 2010 Roma
Openwrt, linux e GPIO al LinuxDay 2010 Roma
Claudio Mignanti
 
Coscup
CoscupCoscup
Coscup
Mao Wu
 

La actualidad más candente (16)

Capabilities of Arduino
Capabilities of ArduinoCapabilities of Arduino
Capabilities of Arduino
 
TIK KOMPUTER-CPU
TIK KOMPUTER-CPUTIK KOMPUTER-CPU
TIK KOMPUTER-CPU
 
Cpu components
Cpu componentsCpu components
Cpu components
 
Building a robot with the .Net Micro Framework
Building a robot with the .Net Micro FrameworkBuilding a robot with the .Net Micro Framework
Building a robot with the .Net Micro Framework
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
Arduino intro to Albanian Geeks
Arduino intro to Albanian GeeksArduino intro to Albanian Geeks
Arduino intro to Albanian Geeks
 
Intro to-the-arduino
Intro to-the-arduinoIntro to-the-arduino
Intro to-the-arduino
 
ESP8266 Wifi Nodemcu
ESP8266 Wifi Nodemcu ESP8266 Wifi Nodemcu
ESP8266 Wifi Nodemcu
 
Computer
ComputerComputer
Computer
 
Sound Processing by Edi Syaputra
Sound Processing by Edi SyaputraSound Processing by Edi Syaputra
Sound Processing by Edi Syaputra
 
Stm32 develop tool introduction
Stm32 develop tool introductionStm32 develop tool introduction
Stm32 develop tool introduction
 
Openwrt, linux e GPIO al LinuxDay 2010 Roma
Openwrt, linux e GPIO al LinuxDay 2010 RomaOpenwrt, linux e GPIO al LinuxDay 2010 Roma
Openwrt, linux e GPIO al LinuxDay 2010 Roma
 
Intro computer
Intro computerIntro computer
Intro computer
 
Intro computer
Intro computerIntro computer
Intro computer
 
Coscup
CoscupCoscup
Coscup
 
Wemakeit - base workshop - openlabs
Wemakeit - base workshop - openlabsWemakeit - base workshop - openlabs
Wemakeit - base workshop - openlabs
 

Similar a concurrency.cc OSHUG #3

How To Build A Better Arduino
How To Build A Better ArduinoHow To Build A Better Arduino
How To Build A Better Arduino
AlastairDSilva
 
Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...
Alexander Bolshev
 
teststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptxteststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptx
ethannguyen1618
 
Arduino learning
Arduino   learningArduino   learning
Arduino learning
Anil Yadav
 
Microcontroller
MicrocontrollerMicrocontroller
Microcontroller
Spitiq
 

Similar a concurrency.cc OSHUG #3 (20)

What is arduino
What is arduinoWhat is arduino
What is arduino
 
Avr report
Avr reportAvr report
Avr report
 
Arduino
Arduino Arduino
Arduino
 
How To Build A Better Arduino
How To Build A Better ArduinoHow To Build A Better Arduino
How To Build A Better Arduino
 
Arduino reference
Arduino referenceArduino reference
Arduino reference
 
AVR Fundamentals
AVR FundamentalsAVR Fundamentals
AVR Fundamentals
 
Arduino Platform with C programming.
Arduino Platform with C programming.Arduino Platform with C programming.
Arduino Platform with C programming.
 
Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...
 
teststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptxteststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptx
 
Avr book
Avr bookAvr book
Avr book
 
Microcontroladores: programación con microcontrolador AVR
Microcontroladores: programación con microcontrolador AVRMicrocontroladores: programación con microcontrolador AVR
Microcontroladores: programación con microcontrolador AVR
 
AVR Micro controller Interfacing
AVR Micro controller Interfacing AVR Micro controller Interfacing
AVR Micro controller Interfacing
 
Linux Performance Tools 2014
Linux Performance Tools 2014Linux Performance Tools 2014
Linux Performance Tools 2014
 
Emulating With JavaScript
Emulating With JavaScriptEmulating With JavaScript
Emulating With JavaScript
 
Audible Objects
Audible ObjectsAudible Objects
Audible Objects
 
Arduino learning
Arduino   learningArduino   learning
Arduino learning
 
The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
  The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell  The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
 
Advanced View of Atmega Microcontroller Projects List - Projects Tutorials Co...
Advanced View of Atmega Microcontroller Projects List - Projects Tutorials Co...Advanced View of Atmega Microcontroller Projects List - Projects Tutorials Co...
Advanced View of Atmega Microcontroller Projects List - Projects Tutorials Co...
 
unit-2.pptx
unit-2.pptxunit-2.pptx
unit-2.pptx
 
Microcontroller
MicrocontrollerMicrocontroller
Microcontroller
 

Más de Omer Kilic

Fast and Furious: Overclocking chips for fun and profit
Fast and Furious: Overclocking chips for fun and profitFast and Furious: Overclocking chips for fun and profit
Fast and Furious: Overclocking chips for fun and profit
Omer Kilic
 
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing WorldCloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Omer Kilic
 
Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
Omer Kilic
 
Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!
Omer Kilic
 

Más de Omer Kilic (15)

Bare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems
Bare Metal from a Hardware Perspective: Embedded Frameworks & Build SystemsBare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems
Bare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems
 
Gearing up for Volume Manufacturing
Gearing up for Volume ManufacturingGearing up for Volume Manufacturing
Gearing up for Volume Manufacturing
 
The Process of Shipping Hardware Products
The Process of Shipping Hardware ProductsThe Process of Shipping Hardware Products
The Process of Shipping Hardware Products
 
Confusion of Things — The IoT Hardware Kerfuffle
Confusion of Things — The IoT Hardware KerfuffleConfusion of Things — The IoT Hardware Kerfuffle
Confusion of Things — The IoT Hardware Kerfuffle
 
Fast and Furious: Overclocking chips for fun and profit
Fast and Furious: Overclocking chips for fun and profitFast and Furious: Overclocking chips for fun and profit
Fast and Furious: Overclocking chips for fun and profit
 
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing WorldCloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
 
Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
 
Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!
 
The Actor Model applied to the Raspberry Pi and the Embedded Domain
The Actor Model applied to the Raspberry Pi and the Embedded DomainThe Actor Model applied to the Raspberry Pi and the Embedded Domain
The Actor Model applied to the Raspberry Pi and the Embedded Domain
 
Interfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the WorldInterfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the World
 
From Breadboard to Finished Product
From Breadboard to Finished ProductFrom Breadboard to Finished Product
From Breadboard to Finished Product
 
A Quick Introduction to Programmable Logic
A Quick Introduction to Programmable LogicA Quick Introduction to Programmable Logic
A Quick Introduction to Programmable Logic
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Introduction to XMOS Software Defined Silicon Technology
Introduction to XMOS Software Defined Silicon TechnologyIntroduction to XMOS Software Defined Silicon Technology
Introduction to XMOS Software Defined Silicon Technology
 
Beer Bottle Night Lamp
Beer Bottle Night LampBeer Bottle Night Lamp
Beer Bottle Night Lamp
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

concurrency.cc OSHUG #3