concurrency.cc OSHUG #3

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.
concurrency.cc OSHUG #3
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)
:
concurrency.cc OSHUG #3
occam:

 PAR
   x
   y

C++:

 ??!?!!!?
PROC main ()
  PAR
    blink (13, 300)
    blink (14, 500)
:
concurrency.cc OSHUG #3
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
concurrency.cc OSHUG #3
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
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
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?
1 of 42

Recommended

BURO Arduino Workshop by
BURO Arduino WorkshopBURO Arduino Workshop
BURO Arduino WorkshopOmer Kilic
3.8K views52 slides
TinkerSoc Electronics 101 by
TinkerSoc Electronics 101TinkerSoc Electronics 101
TinkerSoc Electronics 101Omer Kilic
741 views21 slides
Interfacing with Arduino by
Interfacing with ArduinoInterfacing with Arduino
Interfacing with ArduinoOmer Kilic
3K views14 slides
Arduino - A simple Introduction by
Arduino - A simple IntroductionArduino - A simple Introduction
Arduino - A simple Introductionannuai
125 views18 slides
Chiptune Music by
Chiptune MusicChiptune Music
Chiptune MusicAdam Sporka
287 views33 slides
Capabilities of Arduino (including Due) by
Capabilities of Arduino (including Due)Capabilities of Arduino (including Due)
Capabilities of Arduino (including Due)Sudar Muthu
2.8K views11 slides

More Related Content

What's hot

Capabilities of Arduino by
Capabilities of ArduinoCapabilities of Arduino
Capabilities of ArduinoSudar Muthu
5.7K views10 slides
TIK KOMPUTER-CPU by
TIK KOMPUTER-CPUTIK KOMPUTER-CPU
TIK KOMPUTER-CPUEgan Tari
1K views15 slides
Cpu components by
Cpu componentsCpu components
Cpu componentsSuryaPrakash896
202 views38 slides
Building a robot with the .Net Micro Framework by
Building a robot with the .Net Micro FrameworkBuilding a robot with the .Net Micro Framework
Building a robot with the .Net Micro FrameworkDucas Francis
2.7K views39 slides
Embedded Systems by
Embedded SystemsEmbedded Systems
Embedded SystemsAnil Gadi
930 views12 slides
Arduino intro to Albanian Geeks by
Arduino intro to Albanian GeeksArduino intro to Albanian Geeks
Arduino intro to Albanian GeeksLuca Pescatore
500 views13 slides

Similar to concurrency.cc OSHUG #3

What is arduino by
What is arduinoWhat is arduino
What is arduinovivek kumar
1.8K views180 slides
Avr report by
Avr reportAvr report
Avr reportNITISH KUMAR
130 views23 slides
Arduino by
Arduino Arduino
Arduino Md. Ashifur Rahaman
561 views712 slides
How To Build A Better Arduino by
How To Build A Better ArduinoHow To Build A Better Arduino
How To Build A Better ArduinoAlastairDSilva
2.3K views13 slides
Arduino reference by
Arduino referenceArduino reference
Arduino referenceMarcos Henrique
1.3K views675 slides
AVR Fundamentals by
AVR FundamentalsAVR Fundamentals
AVR FundamentalsVinit Vyas
25.9K views91 slides

Similar to concurrency.cc OSHUG #3(20)

What is arduino by vivek kumar
What is arduinoWhat is arduino
What is arduino
vivek kumar1.8K views
How To Build A Better Arduino by AlastairDSilva
How To Build A Better ArduinoHow To Build A Better Arduino
How To Build A Better Arduino
AlastairDSilva2.3K views
AVR Fundamentals by Vinit Vyas
AVR FundamentalsAVR Fundamentals
AVR Fundamentals
Vinit Vyas25.9K views
Arduino Platform with C programming. by Govind Jha
Arduino Platform with C programming.Arduino Platform with C programming.
Arduino Platform with C programming.
Govind Jha1.3K views
Practical reverse engineering and exploit development for AVR-based Embedded ... by Alexander Bolshev
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 Bolshev13.9K views
AVR Micro controller Interfacing by Raghav Shetty
AVR Micro controller Interfacing AVR Micro controller Interfacing
AVR Micro controller Interfacing
Raghav Shetty1.1K views
Linux Performance Tools 2014 by Brendan Gregg
Linux Performance Tools 2014Linux Performance Tools 2014
Linux Performance Tools 2014
Brendan Gregg116.8K views
Arduino learning by Anil Yadav
Arduino   learningArduino   learning
Arduino learning
Anil Yadav3.2K views
The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell by eurobsdcon
  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
eurobsdcon797 views
Advanced View of Atmega Microcontroller Projects List - Projects Tutorials Co... by WiseNaeem
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...
WiseNaeem3 views
Microcontroller by Spitiq
MicrocontrollerMicrocontroller
Microcontroller
Spitiq5.6K views
lec5 - The processor.pptx by MahadevaAH
lec5 - The processor.pptxlec5 - The processor.pptx
lec5 - The processor.pptx
MahadevaAH12 views

More from Omer Kilic

Bare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems by
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 SystemsOmer Kilic
288 views33 slides
Gearing up for Volume Manufacturing by
Gearing up for Volume ManufacturingGearing up for Volume Manufacturing
Gearing up for Volume ManufacturingOmer Kilic
539 views41 slides
The Process of Shipping Hardware Products by
The Process of Shipping Hardware ProductsThe Process of Shipping Hardware Products
The Process of Shipping Hardware ProductsOmer Kilic
607 views51 slides
Confusion of Things — The IoT Hardware Kerfuffle by
Confusion of Things — The IoT Hardware KerfuffleConfusion of Things — The IoT Hardware Kerfuffle
Confusion of Things — The IoT Hardware KerfuffleOmer Kilic
1.6K views26 slides
Fast and Furious: Overclocking chips for fun and profit by
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 profitOmer Kilic
1.3K views24 slides
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World by
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 WorldOmer Kilic
2.3K views46 slides

More from Omer Kilic(15)

Bare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems by Omer Kilic
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
Omer Kilic288 views
Gearing up for Volume Manufacturing by Omer Kilic
Gearing up for Volume ManufacturingGearing up for Volume Manufacturing
Gearing up for Volume Manufacturing
Omer Kilic539 views
The Process of Shipping Hardware Products by Omer Kilic
The Process of Shipping Hardware ProductsThe Process of Shipping Hardware Products
The Process of Shipping Hardware Products
Omer Kilic607 views
Confusion of Things — The IoT Hardware Kerfuffle by Omer Kilic
Confusion of Things — The IoT Hardware KerfuffleConfusion of Things — The IoT Hardware Kerfuffle
Confusion of Things — The IoT Hardware Kerfuffle
Omer Kilic1.6K views
Fast and Furious: Overclocking chips for fun and profit by Omer Kilic
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 Kilic1.3K views
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World by Omer Kilic
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 Kilic2.3K views
Taking Back Embedded: The Erlang Embedded Framework by Omer Kilic
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
Omer Kilic1.8K views
Erlang Embedded — Concurrent Blinkenlights and More! by Omer Kilic
Erlang Embedded — Concurrent Blinkenlights and More!Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!
Omer Kilic1.6K views
The Actor Model applied to the Raspberry Pi and the Embedded Domain by Omer Kilic
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
Omer Kilic4.6K views
Interfacing the Raspberry Pi to the World by Omer Kilic
Interfacing the Raspberry Pi to the WorldInterfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the World
Omer Kilic9.1K views
From Breadboard to Finished Product by Omer Kilic
From Breadboard to Finished ProductFrom Breadboard to Finished Product
From Breadboard to Finished Product
Omer Kilic2.3K views
A Quick Introduction to Programmable Logic by Omer Kilic
A Quick Introduction to Programmable LogicA Quick Introduction to Programmable Logic
A Quick Introduction to Programmable Logic
Omer Kilic3.5K views
Introduction to Arduino by Omer Kilic
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
Omer Kilic13.3K views
Introduction to XMOS Software Defined Silicon Technology by Omer Kilic
Introduction to XMOS Software Defined Silicon TechnologyIntroduction to XMOS Software Defined Silicon Technology
Introduction to XMOS Software Defined Silicon Technology
Omer Kilic1.2K views
Beer Bottle Night Lamp by Omer Kilic
Beer Bottle Night LampBeer Bottle Night Lamp
Beer Bottle Night Lamp
Omer Kilic1.1K views

Recently uploaded

Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...ShapeBlue
178 views15 slides
Business Analyst Series 2023 - Week 4 Session 7 by
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
146 views31 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
35 views49 slides
Optimizing Communication to Optimize Human Behavior - LCBM by
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBMYaman Kumar
38 views49 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
176 views29 slides
Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
98 views46 slides

Recently uploaded(20)

Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue178 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10146 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Optimizing Communication to Optimize Human Behavior - LCBM by Yaman Kumar
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBM
Yaman Kumar38 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc176 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays58 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu437 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue183 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue224 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue152 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue139 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue225 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue208 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE84 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue162 views

concurrency.cc OSHUG #3