6 GPIO 84. Date: 29/09/2016 Name: ID: This laboratory session discusses about writing program to interact with GPIO of Reapberry Pi.

Size: px
Start display at page:

Download "6 GPIO 84. Date: 29/09/2016 Name: ID: This laboratory session discusses about writing program to interact with GPIO of Reapberry Pi."

Transcription

1 6 GPIO 84 Date: 29/09/2016 Name: ID: Name: ID: 6 GPIO This laboratory session discusses about writing program to interact with GPIO of Reapberry Pi. GPIO programming with Assembly Code:block installation GPIO programming with C 6.1 Raspberry Pi s GPIO Pins GPIO stands for general purpose input/output. These pins can be used to connect external electronic devices to the Raspberry Pi. This also allows the users to build their own circuits and control them using software written in languages such as Assembly, C or Python. The GPIO pins can be divided into a number of categories, i.e. Standard GPIO I2C Serial Rx and Tx SPI PWM and PPM The following figure illustrates the GPIO pins of Raspberry Pi 3 model B.

2 6 GPIO 85 Figure 6.1: Raspberry Pi GPIO layout - Pi 3 Model B Standard GPIO The standard GPIO pins provide an interface for other electronic devices which can be either controlled or read data from. These pins can be configured as output or input. One important things to note is the numbering format. There are two different ways in which we can refer to the pins, via the GPIO number or the physical numbering. The GPIO numbering (also known as BCM) is the method by which the Broadcam chip see them. The detail of these numbering format can be found at When writing applications, you will need to know these BCM pin numbers in order to switch them between modes. The second methodology for listing the pins is by their physical position. (see Figure 6.1). This maps the physical pin location to the pin type. It should be noticed from this figure that a number of the pins are power pins with specific voltage. (3.3V and 5V) With the Raspberry Pi, it must be aware of the voltages used. The GPIO banks

3 6 GPIO 86 all use a voltage of 3.3V. It is important to understand that applying a voltage higher than this to the pins will seriously damange your device. The pins can be set to OFF,LOW and HIGH. Among the Raspberry Pi GPIO pins, you will also find two 3.3V pins and two 5V pins, and several ground pins. This can be used to powering other devices attached to your Raspberry Pi, either through a breadboard or via the GPIO headers directly I2C The I2C standard is used to allow one microchip to talk to another. The Raspberry Pi supports I2C using pin 3 and pin 5. With help of I2C, we can connect multiple devices to the Raspberry Pi and assign each a unique address Serial Rx and Tx The Rx and Tx pins are responsible for serial communication. Serial communication is the process of sending data one bit at a time in sequence over a communication mediu. Typically these ports can be used for console input and output. Thus another serial device can be connected to the Raspberry Pi and the serial data read and display to the user, allowin them to debug problems SPI Serial Peripheral Interface (SPI) is a bus designed for synchronous serial communication. It is useful for communicating between peripheral devices quickly over short distances. The Raspberry Pi comes with a single SPI bus that has two chip selects. This bus can be interacted with via the SPI pins on the P1 header. By default, the SPI master drive is disabled, but it can be enabled via the command raspi -config

4 6 GPIO PWM and PPM PWM stands for Pulse Width Modulation. This methodology can be used to control the amount of power sent to an electrical motor, thus controlling its speed. The principle behind this is the implementation of a square wave. It is possible to generate a software-based PWM square wave using any of the standard GPIO pins. The wiringpi library comes equipped with instructions on how to achieve this. PPM stands for Pulse Position Modulation and is popularly implemented for servos. Servos short for servomechanisms are type of electrical component, such as motor, that uses error sensing negative performance to correct its position Hardware Setup for Blink LED 1. Prepare the following components: An LED (given) Aresistor(given) Breadboard Wires 2. TURN OFF the power of the Raspberry Pi 3. Take a wire and connect one end to a ground GPIO pin on the Raspberry Pi. The other end of the wire shall be connected to a hole on the ground rail on the breadboard as shown in Figure 6.2. (Note that you may have additional connector in between) 4. Take an LED. Note that one leg is longer than the other. 5. Put the LED into the breadboard. Be sure that its legs are not connected to each other. (See Figure 6.3) 6. Locate a given resistor and connect one leg to the ground rail and the other leg to the shorter leg of LED. (see Figure 6.4) 7. Complete the circuit by connecting a wire to pin 1 on the Raspberry Pi. (see Figure 6.5) Instructor s signature

5 6 GPIO 88 Figure 6.2: Connecting Ground 8. Turn on the power of the raspberyy Pi. Observe and record the result. 9. Locate TWO other different ground pins of Raspberry Pi which can be connected to the LED and obtain similar result

6 6 GPIO 89 Figure 6.3: Put LED on breadboard 10. Why one shall include a resistor to the circuit? Instructor s signature

7 6 GPIO 90 Figure 6.4: Connecting the resistor 6.2 WiringPi Library WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It is released under the GNU LGPLv3 license and is usable from C and C++ and many other languages with suitable wrappers. WiringPi includes a command-line utility gpio which can be used to program and setup the GPIO pins. You can use this to read and write the pins and even use it to control them from shell scripts. WiringPi uses its own pin numbering scheme as shown in Figure 6.6 The figure shows how WiringPi numbers your GPIO pins.

8 6 GPIO 91 Figure 6.5: Complete the circuit 6.3 Blink LED with Assembly 1. Navigate to the directory /home/pi/assemblylabs 2. Create a new directory using command mkdir -p Lab6/assembly 3. Navigate to the directory /home/pi/assemblylabs/lab6/assembly 4. Type in pwd command and be assure that you are on the directory /home/pi/assemblylabs/lab6/assembly 5. Create a new assembly file name Lab6.s using vim 6. Enter Insert mode and put in the code as shown in the following: (Comments can be left out.)

9 6 GPIO 92 Figure 6.6: Mapping of WiringPi and Data 4 Intro:.asciz "Raspberry Pi wiringpi blink test\n" ErrMsg:.asciz "Setup didn t work... Aborting...\n" pin:.int 7 i:.int 0 delayms:.int 250 OUTPUT =

10 6 GPIO Code main.extern printf.extern wiringpisetup.extern delay.extern digitalwrite.extern pinmode main: PUSH {ip, push return address + dummy for printf( "blink..." ) ; LDR R0, =Intro BL if (wiringpisetup() == -1) printf( "Setup didn t work... Aborting." ) exit (1) } BL wiringpisetup MOV R1,#-1 CMP R0, R1 BNE init LDR R0, =ErrMsg BL printf B pinmode(pin, OUTPUT) ; init: LDR R0, =pin LDR R0, [R0] MOV R1, #OUTPUT BL for ( i=0; i<10; i++ ) { LDR R4, =i LDR R4, [R4] MOV R5, #10 forloop:

11 6 GPIO 94 CMP BGT R4, R5 digitalwrite(pin, 1) ; LDR R0, =pin LDR R0, [R0] MOV R1, #1 BL delay(250) ; LDR R0, =delayms LDR R0, [R0] BL digitalwrite(pin, 0) ; LDR R0, =pin LDR R0, [R0] MOV R1, #0 BL delay(250) ; LDR R0, =delayms LDR R0, [R0] BL delay ADD R4, #1 B forloop done: POP {ip, pop return address into pc 7. Run the program by typing the following commands: as -o Lab6.o Lab6.s gcc -o Lab6 Lab6.o -lwiringpi sudo./lab6

12 6 GPIO Observe and record the result. Instructor s signature

13 6 GPIO Working with Code::Blocks 1. To install Code::Blocks IDE, type in the following command at the command prompt sudo apt-get install codeblocks Note that you do need internat connection to download and install the software package 2. To start the Code::Blocks IDE, type in the following command sudo codeblocks This will give Code::Blocks access level to be as superuser. 3. The first time you launch Code::Blocks IDE, it will ask to confirm the compiler plug-ins. Unleass you have installed other compiler tools, it should detect only the GNU GCC compiler. 4. After the IDE is launched, it displays the Start here window. Click on Create a new project link and a window with the title New from template pops up. 5. Keep the default wizard type as Project and click select Console application wizard and then click the Go button. (See Figure 6.7) 6. The window will be replaced by Console application wizard. 7. It will ask for the selection of programming language. Select C then click Next> button. (See Figure 6.8) 8. The next window asks for the project title and the folder where the project will be created. The wizard creats a folder with the project name under the folder you specified and put all the project files and folders in it. Figure 6.9 show that the folder /home/pi/asm and project title p2_1 is created 9. Create the project name Lab6 under the folder /home/pi/assemblylabs/c 10. Click Next> button and the next window is used to select compiler and configuration. Take the default selection as shown in Figure 7.4 then click Finish button.

14 6 GPIO 97 Figure 6.7: New project using Console application wizard 6.5 Blink LED with C 1. Open project Lab6 2. Go to Setting/Compiler.... The Global Compiler Setting will show up. 3. Go to tab Linker settings and click Add button. 4. Enter /usr/lib/libwiringpi.so; to the Add Library window. Then click OK button to close the window. 5. Click OK button to finish. 6. Enter the following code in main.c #include <wiringpi.h> #include <stdio.h> #include <stdlib.h> int main ( void ) {

15 6 GPIO 98 Figure 6.8: SelectingClanguagefortheproject Figure 6.9: Specifyprojectfolderlocation int pin = 7; printf("raspberry Pi wiringpi blink test\n"); if (wiringpisetup() == -1) {

16 6 GPIO 99 Figure 6.10: Specifyprojectfolderlocation } printf( "Setup didn t work... Aborting." ); exit (1); pinmode(pin, OUTPUT); int i; for ( i=0; i<10; i++ ) { digitalwrite(pin, 1); delay(250); } digitalwrite(pin, 0); delay(250); } return 0; 7. Observe and record the result.

17 6 GPIO 100 Instructor s signature 6.6 Assignments 1. Connect three LEDs to the Raspberry Pi. (see the WiringPi pin configurations). Write a C program such that the three LEDs show binary number counting from 0-7. Instructor s signature

Digital Design and Computer Architecture

Digital Design and Computer Architecture Digital Design and Computer Architecture Lab 6: C Programming Introduction In this lab, you will learn to program an ARM processor on the Raspberry Pi in C by following a tutorial and then writing several

More information

9 Output Devices: Buzzers

9 Output Devices: Buzzers 9 Output Devices: Buzzers Project In this project, you will learn how to connect and control LEDs (Light Emitting Diode) and a buzzer with the Raspberry Pi. Components In addition to your Raspberry Pi,

More information

Gooligum Electronics 2015

Gooligum Electronics 2015 The Wombat Prototyping Board for Raspberry Pi Operation and Software Guide This prototyping board is intended to make it easy to experiment and try out ideas for building electronic devices that connect

More information

Functions (API) Setup Functions

Functions (API) Setup Functions Functions (API) Some of the functions in the WiringPi library are designed to mimic those in the Arduino Wiring system. There are relatively easy to use and should present no problems for anyone used to

More information

PLC Relay Ladder Logic, Intel 8051 Assembly Language, Raspberry Pi ARM Assembly Language

PLC Relay Ladder Logic, Intel 8051 Assembly Language, Raspberry Pi ARM Assembly Language Assignment: LAB #7 and #8 PLC Relay Ladder Logic, Intel 8051 Assembly Language, Raspberry Pi ARM Assembly Language COURSE: EGR/CS333 DIGITAL DESIGN & INTERFACING (Digital Design II, Assembly Language,

More information

Lesson6_7segments digital LED score board

Lesson6_7segments digital LED score board Lesson6_7segments digital LED score board 7 segments digital LED score board is a digital LED display, and made by 7 LED lights, there are share a common ground pin, so we can control each pin to show

More information

1.44inch LCD HAT USER MANUAL

1.44inch LCD HAT USER MANUAL 1.44inch LCD HAT USER MANUAL OVERVIEW This product is 1.44-inch resistive screen module with resolution 128 x 128. It has internal controller and uses SPI communication interface. It has already basic

More information

BLiSo - Buttons, Lights, Sound

BLiSo - Buttons, Lights, Sound BLiSo - Buttons, Lights, Sound For the Raspberry Pi Introduction Thank you for purchasing this small module, designed to make exploring the GPIO port safe and easy. Hopefully the information provided in

More information

1.8inch LCD Module USER MANUAL

1.8inch LCD Module USER MANUAL 1.8inch LCD Module USER MANUAL OVERVIEW This product is 1.8inch resistive screen module with resolution 128x160. It has internal controller and uses SPI interface for communication. It has already basic

More information

RPi General Purpose IO (GPIO) Pins

RPi General Purpose IO (GPIO) Pins GPIO RPi Setup for Today Because the cobbler connector has a notch, you can only put the cable in the right way But, it is possible to put the cable in upside down on the Raspberry Pi The colored wire

More information

Interfacing with Raspberry Pi 3 Model B Updated: 9/19/17

Interfacing with Raspberry Pi 3 Model B Updated: 9/19/17 Interfacing with Raspberry Pi 3 Model B Updated: 9/19/17 A. Objectives 1. Learn about basics of Python programming 2. Learn how to use Python and Shell scripts to control GPIO ports on the Pi B. Time of

More information

DEV-1 HamStack Development Board

DEV-1 HamStack Development Board Sierra Radio Systems DEV-1 HamStack Development Board Reference Manual Version 1.0 Contents Introduction Hardware Compiler overview Program structure Code examples Sample projects For more information,

More information

keyestudio Keyestudio MEGA 2560 R3 Board

keyestudio Keyestudio MEGA 2560 R3 Board Keyestudio MEGA 2560 R3 Board Introduction: Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU, fully compatible with ARDUINO MEGA 2560 REV3. It has 54 digital input/output

More information

IoT WITH THE RASPBERRY-PI3

IoT WITH THE RASPBERRY-PI3 Dpto de Telemática y Electrónica Universidad Politécnica de Madrid IoT WITH THE RASPBERRY-PI3 Sergio Esquembri 2018 E T S I S. T e l e c o m u n i c a c i ó n U n i v e r s i d a d P o l i t é c n i c

More information

ECE 362 Experiment 3: General Purpose I/O

ECE 362 Experiment 3: General Purpose I/O ECE 362 Experiment 3: General Purpose I/O 1.0 Introduction In this experiment, you will learn how to attach simple input devices (pushbuttons) and simple output devices (LEDs) to an STM32 development board.

More information

AC/DC. Adapter. Ribbon. Cable Serial. Serial. Adapter. Figure 1. Hardware Setup using an EC2 Serial Adapter

AC/DC. Adapter. Ribbon. Cable Serial. Serial. Adapter. Figure 1. Hardware Setup using an EC2 Serial Adapter C8051F32X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F32x Development Kit contains the following items: C8051F320 Target Board C8051Fxxx Development Kit Quick-Start Guide C8051F32x Development

More information

IoT with Intel Galileo Gerardo Carmona. makerobots.tk

IoT with Intel Galileo Gerardo Carmona. makerobots.tk IoT with Intel Galileo Gerardo Carmona Outline What is Intel Galileo? Hello world! In Arduino Arduino and Linux Linux via SSH Playing around in Linux Programming flexibility How GPIOs works Challenge 1:

More information

Arduino Prof. Dr. Magdy M. Abdelhameed

Arduino Prof. Dr. Magdy M. Abdelhameed Course Code: MDP 454, Course Name:, Second Semester 2014 Arduino What is Arduino? Microcontroller Platform Okay but what s a Microcontroller? Tiny, self-contained computers in an IC Often contain peripherals

More information

USER MANUAL: 4G. The PiIoT is a WAN communications board which provides a 2G / 3G / 4G

USER MANUAL: 4G. The PiIoT is a WAN communications board which provides a 2G / 3G / 4G USER MANUAL: 4G The PiIoT is a WAN communications board which provides a 2G / 3G / 4G wireless interface for the Raspberry Pi 2 and 3. Conforming to the HAT specification, the PiIoT also provides location

More information

Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas

Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas Physics 364 Arduino Lab 1 Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas Vithayathil/Kroll Introduction Last revised: 2014-11-12 This lab introduces you to an electronic development

More information

Configuration the Raspberry Pi for the SmartPI. There are two ways to install the necessary software to use the SmartPi with your Raspberry Pi!

Configuration the Raspberry Pi for the SmartPI. There are two ways to install the necessary software to use the SmartPi with your Raspberry Pi! Configuration the Raspberry Pi for the SmartPI There are two ways to install the necessary software to use the SmartPi with your Raspberry Pi! I. You install the pre-configured image on your Raspberry

More information

LAB PROCEDURE. Lab Objectives 1. Generate a project using the GR-Sakura web compiler 2. Edit/Compile/Build/Debug the project using the web compiler

LAB PROCEDURE. Lab Objectives 1. Generate a project using the GR-Sakura web compiler 2. Edit/Compile/Build/Debug the project using the web compiler Lab Objectives 1. Generate a project using the GR-Sakura web compiler 2. Edit/Compile/Build/Debug the project using the web compiler Lab Materials Please verify you have the following materials at your

More information

Index. Jeff Cicolani 2018 J. Cicolani, Beginning Robotics with Raspberry Pi and Arduino,

Index. Jeff Cicolani 2018 J. Cicolani, Beginning Robotics with Raspberry Pi and Arduino, A Accessor methods, 92 Adafruit, 9 Adafruit DC & Stepper Motor HAT assembling board adjustment, 199 circuit board, 199 kit, 197 pins, 197 preparation, 197 Raspberry Pi, 198, 204 removal, 201 rotation,

More information

Raspberry Pi GPIO Zero Reaction Timer

Raspberry Pi GPIO Zero Reaction Timer Raspberry Pi GPIO Zero Reaction Timer Tutorial by Andrew Oakley Public Domain 1 Feb 2016 www.cotswoldjam.org Introduction This Python programming tutorial, shows you how simple it is to use an LED light

More information

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter C8051F38X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F38x Development Kit contains the following items: C8051F380 Target Board C8051Fxxx Development Kit Quick-start Guide Silicon Laboratories

More information

Raspberry Pi board. EB080

Raspberry Pi board.   EB080 Raspberry Pi board www.matrixmultimedia.com EB080 Contents About this document 3 Board layout 3 General information 4 Circuit description 4 Circuit diagram 5 2 Copyright Matrix Multimedia Ltd. About this

More information

1.3inch LCD HAT User Manual

1.3inch LCD HAT User Manual 1.3inch LCD HAT User Manual OVERVIEW This is an IPS LCD display HAT for Raspberry Pi, 1.3inch diagonal, 240x240 pixels, with embedded controller, communicating via SPI interface. Its size is similar to

More information

RASPBERRY PI. Using the GPIO port

RASPBERRY PI. Using the GPIO port RASPBERRY PI Using the GPIO port LAYOUT OF THE BOARD GPIO header COOL PROJECTS USING THE GPIO PORT RaspiRobot COOL PROJECTS USING THE GPIO PORT One button audiobook player for visually impaired COOL PROJECTS

More information

1.5inch OLED Module User Manual

1.5inch OLED Module User Manual 1.5inch OLED Module User Manual OVERVIEW This is a general OLED display module, 1.5inch diagonal, 128*128 pixels, 16-bit grey level, with embedded controller, communicating via SPI or I2C interface. FEATURES

More information

LinkSprite Technologies,.Inc. pcduino V2

LinkSprite Technologies,.Inc. pcduino V2 1 2 Contents Board Overview...3 System Features...4 Single-Board Computer Configuration...5 Pin Assignments...7 Single-Board Computer Setup...9 Required Hardware...9 Optional Hardware...9 Adjusting Screen

More information

PMDX-411 SmartBOB-USB with DB-25 Connector For use with Mach4

PMDX-411 SmartBOB-USB with DB-25 Connector For use with Mach4 PMDX-411 SmartBOB-USB with DB-25 Connector For use with Mach4 Quick Start Guide Document Revision: 0.4 Date: 6 May 2015 This document applies to units built on artwork revision PCB-522B. This is a rough

More information

ARDUINO YÚN Code: A000008

ARDUINO YÚN Code: A000008 ARDUINO YÚN Code: A000008 Arduino YÚN is the perfect board to use when designing connected devices and, more in general, Internet of Things projects. It combines the power of Linux with the ease of use

More information

Techgirlz Workshop Scratch and Raspberry Pi

Techgirlz Workshop Scratch and Raspberry Pi Techgirlz Workshop Scratch and Raspberry Pi Ruth Willenborg coderdojortp@gmail.com in conjunction with CoderDojo RTP Introduction: Thanks IBM: Raspberry Pi grant to Techgirlz Coderdojo and VMware: Raspberry

More information

pcduino V3B XC4350 User Manual

pcduino V3B XC4350 User Manual pcduino V3B XC4350 User Manual 1 User Manual Contents Board Overview...2 System Features...3 Single-Board Computer Configuration......3 Pin Assignments...4 Single-Board Computer Setup...6 Required Hardware...6

More information

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter C8051F2XX DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F2xx Development Kits contain the following items: C8051F206 or C8051F226 Target Board C8051Fxxx Development Kit Quick-Start Guide Silicon

More information

Note. The above image and many others are courtesy of - this is a wonderful resource for designing circuits.

Note. The above image and many others are courtesy of   - this is a wonderful resource for designing circuits. Robotics and Electronics Unit 2. Arduino Objectives. Students will understand the basic characteristics of an Arduino Uno microcontroller. understand the basic structure of an Arduino program. know how

More information

Laboratory 1 Introduction to the Arduino boards

Laboratory 1 Introduction to the Arduino boards Laboratory 1 Introduction to the Arduino boards The set of Arduino development tools include µc (microcontroller) boards, accessories (peripheral modules, components etc.) and open source software tools

More information

ECE 598 Advanced Operating Systems Lecture 4

ECE 598 Advanced Operating Systems Lecture 4 ECE 598 Advanced Operating Systems Lecture 4 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 January 2016 Announcements HW#1 was due HW#2 was posted, will be tricky Let me know

More information

Arduino 05: Digital I/O. Jeffrey A. Meunier University of Connecticut

Arduino 05: Digital I/O. Jeffrey A. Meunier University of Connecticut Arduino 05: Digital I/O Jeffrey A. Meunier jeffm@engr.uconn.edu University of Connecticut About: How to use this document I designed this tutorial to be tall and narrow so that you can read it on one side

More information

参考資料. LinkSprite.com. pcduino V2

参考資料. LinkSprite.com. pcduino V2 pcduino V2 1 Contents Board Overview...3 System Features...4 Single-Board Computer Configuration......5 Pin Assignments...7 Single-Board Computer Setup......9 Required Hardware......9 Optional Hardware......9

More information

Blinking an LED 1 PARTS: Circuit 2 LED. Wire. 330Ω Resistor

Blinking an LED 1 PARTS: Circuit 2 LED. Wire. 330Ω Resistor Circuit PIN 3 RedBoard Blinking an LED LED (Light-Emitting Diode) Resistor (33 ohm) (Orange-Orange-Brown) LEDs (light-emitting diodes) are small, powerful lights that are used in many different applications.

More information

esi-risc Development Suite Getting Started Guide

esi-risc Development Suite Getting Started Guide 1 Contents 1 Contents 2 2 Overview 3 3 Starting the Integrated Development Environment 4 4 Hello World Tutorial 5 5 Next Steps 8 6 Support 10 Version 2.5 2 of 10 2011 EnSilica Ltd, All Rights Reserved

More information

LAB4. Program the on chip SPI module

LAB4. Program the on chip SPI module LAB4 Program the on chip SPI module Outline Learn to utilize the on-chip SPI module Implement it in C Translate it to ARM Assembly Test and verify the result using oscilloscope and shift register. Serial

More information

Installation and Quick Start of isystem s winidea Open in DAVE. Tutorial Version 1.0, May, 2014

Installation and Quick Start of isystem s winidea Open in DAVE. Tutorial Version 1.0, May, 2014 Installation and Quick Start of isystem s winidea Open in DAVE Tutorial Version.0, May, 0 About winidea Open isysytem provides a free version of its debugger IDE called winidea Open; it can use the Segger

More information

Raspberry Pi RTC Expansion Module User Manual

Raspberry Pi RTC Expansion Module User Manual Raspberry Pi RTC Expansion Module User Manual 52PI-RPI-RTC Maximum Power at Minimum Size Raspberry Pi RTC Module User Manual 1 Contact Us Raspberry Pi Geek Forum kd@52pi.com Version:1.0 Data:2015.6 2 Directory

More information

Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S

Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S Overview Motivation Circuit Design and Arduino Architecture Projects Blink the LED Switch Night Lamp

More information

How to Use an Arduino

How to Use an Arduino How to Use an Arduino By Vivian Law Introduction The first microcontroller, TMS-1802-NC, was built in 1971 by Texas Instruments. It owed its existence to the innovation and versatility of silicon and the

More information

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011 Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Spring 2011 Outline Using Secure Shell Clients GCC Some Examples Intro to C * * Windows File transfer client:

More information

Introduction to Arduino

Introduction to Arduino Introduction to Arduino Paco Abad May 20 th, 2011 WGM #21 Outline What is Arduino? Where to start Types Shields Alternatives Know your board Installing and using the IDE Digital output Serial communication

More information

PiCAN 2 USER GUIDE V1.2

PiCAN 2 USER GUIDE V1.2 PiCAN 2 USER GUIDE V1.2 Product name Model number Manufacturer PICAN CAN-Bus Board for Raspberry Pi RSP-PICAN2 SK Pang Electronics Ltd 1 Contents Table of Contents 1. Introduction... 3 1.1. Features...

More information

Raspberry Pi Compute Development board

Raspberry Pi Compute Development board Raspberry Pi Compute Development board TM Gumstix, Inc. shall have no liability of any kind, express or implied, arising out of the use of the Information in this document, including direct, indirect,

More information

Raspberry PI 'How-To' Series

Raspberry PI 'How-To' Series Raspberry PI 'How-To' Series AOSONG AM2315 Temperature Sensor Implementation Guide Update Written by: Sopwith Revision 3.0 February 1, 2019 sopwith@ismellsmoke.net 1 Introduction Here we are in February

More information

PiCAN2 DUO ISO USER GUIDE V1.1. PiCAN 2 DUO ISO Rev B V1.1. PiCAN2 DUO CAN-Bus ISO Board for Raspberry Pi

PiCAN2 DUO ISO USER GUIDE V1.1. PiCAN 2 DUO ISO Rev B V1.1. PiCAN2 DUO CAN-Bus ISO Board for Raspberry Pi PiCAN2 DUO ISO USER GUIDE V1.1 Product name Model number Manufacturer PiCAN2 DUO CAN-Bus ISO Board for Raspberry Pi RSP-PICAN2DUO-ISO SK Pang Electronics Ltd 1 Contents Table of Contents 1. Introduction...

More information

LDR_Light_Switch5 -- Overview

LDR_Light_Switch5 -- Overview LDR_Light_Switch5 -- Overview OBJECTIVES After performing this lab exercise, learner will be able to: Interface LDR and pushbutton with Arduino to make light controlled switch Program Arduino board to:

More information

User Manual. DVK512 Expansion Board For Raspberry Pi

User Manual. DVK512 Expansion Board For Raspberry Pi DVK512 Expansion Board For Raspberry Pi User Manual DVK512 is an expansion board designed for Raspberry Pi Model B+, integrates various components and interfaces for connecting external accessory boards.

More information

RaspiDigiHamClock. Raspberry Pi Amateur Radio Digital Clock. v WA4EFH R.Grokett

RaspiDigiHamClock. Raspberry Pi Amateur Radio Digital Clock. v WA4EFH R.Grokett RaspiDigiHamClock Raspberry Pi Amateur Radio Digital Clock v2018-07-08 WA4EFH R.Grokett Overview Amateur Radio Operators (aka HAM Radio) use 24 hour UTC (Universal Coordinated Time) for much of their operation.

More information

Adafruit PiUART - USB Console and Power Add-on for Raspberry Pi

Adafruit PiUART - USB Console and Power Add-on for Raspberry Pi Adafruit PiUART - USB Console and Power Add-on for Raspberry Pi Created by lady ada Last updated on 2017-08-29 10:20:23 PM UTC Guide Contents Guide Contents Overview Pinouts Enabling Serial Console Option

More information

ToolStick-EK TOOLSTICK USER S GUIDE. 1. Kit Contents. 2. ToolStick Overview. Green and Red LEDs. C8051F321 provides USB debug interface.

ToolStick-EK TOOLSTICK USER S GUIDE. 1. Kit Contents. 2. ToolStick Overview. Green and Red LEDs. C8051F321 provides USB debug interface. TOOLSTICK USER S GUIDE 1. Kit Contents The ToolStick kit contains the following items: ToolStick Silicon Laboratories Evaluation Kit IDE and Product Information CD-ROM. CD content includes: Silicon Laboratories

More information

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process Lab 01 Arduino 程式設計實驗 Essential Arduino Programming and Digital Signal Process Arduino Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's

More information

DEVELOPING OOSIML SIMULATION MODELS. Using Codeblocks

DEVELOPING OOSIML SIMULATION MODELS. Using Codeblocks DEVELOPING OOSIML SIMULATION MODELS Using Codeblocks Dr. José M. Garrido Department of Computer Science Updated November 2016 College of Computing and Software Engineering Kennesaw State University c 2015,

More information

Intermediate Programming, Spring Misha Kazhdan

Intermediate Programming, Spring Misha Kazhdan 600.120 Intermediate Programming, Spring 2017 Misha Kazhdan Outline Unix/Linux command line Basics of the Emacs editor Compiling and running a simple C program Cloning a repository Connecting to ugrad

More information

F28HS Hardware-Software Interface: Systems Programming

F28HS Hardware-Software Interface: Systems Programming F28HS Hardware-Software Interface: Systems Programming Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 2 2016/17 0 No proprietary software has

More information

Workshop on Microcontroller Based Project Development

Workshop on Microcontroller Based Project Development Organized by: EEE Club Workshop on Microcontroller Based Project Development Presented By Mohammed Abdul Kader Assistant Professor, Dept. of EEE, IIUC Email:kader05cuet@gmail.com Website: kader05cuet.wordpress.com

More information

HOW TO USE CODE::BLOCKS IDE FOR COMPUTER PROGRAMMING LABORATORY SESSIONS

HOW TO USE CODE::BLOCKS IDE FOR COMPUTER PROGRAMMING LABORATORY SESSIONS HOW TO USE CODE::BLOCKS IDE FOR COMPUTER PROGRAMMING LABORATORY SESSIONS INTRODUCTION A program written in a computer language, such as C/C++, is turned into executable using special translator software.

More information

Power over Ethernet (PoE) Adaptor

Power over Ethernet (PoE) Adaptor Power over Ethernet (PoE) Adaptor For the Raspberry Pi model B+, Pi2 and Pi3 User Manual www.circuitsurgery.com Page 1 of 6 Description N.B.: In this manual the term "Raspberry Pi" will refer to the Raspberry

More information

CHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8

CHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8 CONTENTS CHAPTER 1 Introduction of the tnano Board... 2 1.1 Features...2 1.2 About the KIT...4 1.3 Getting Help...4 CHAPTER 2 tnano Board Architecture... 5 2.1 Layout and Components...5 2.2 Block Diagram

More information

Bob Rathbone Computer Consultancy

Bob Rathbone Computer Consultancy Raspberry PI Traffic Lights I²C Project Notes Bob Rathbone Computer Consultancy www.bobrathbone.com 16 th of August 2013 Bob Rathbone Raspberry PI Traffic Lights (I²C)/ 1 Contents Introduction... 3 Raspberry

More information

Raspberry Pi Expansion Module User Manual

Raspberry Pi Expansion Module User Manual Raspberry Pi Expansion Module User Manual 52PI-RPI-AD/DA Maximum Power at Minimum Size Raspberry Pi AD/DA Expansion Module User Manual - 1 - Contact Us Raspberry Pi Geek Forum admin@52pi.net Version:1.0

More information

1 Introduction to Raspberry Pi. Date: 24/08/2016 Name: ID:

1 Introduction to Raspberry Pi. Date: 24/08/2016 Name: ID: 1 Introduction to Raspberry Pi 1 Date: 24/08/2016 Name: ID: Name: ID: 1 Introduction to Raspberry Pi The Raspberry Pi is a credit card-sized computer designed and manufactured in the UK with the initial

More information

E85 Lab 8: Assembly Language

E85 Lab 8: Assembly Language E85 Lab 8: Assembly Language E85 Spring 2016 Due: 4/6/16 Overview: This lab is focused on assembly programming. Assembly language serves as a bridge between the machine code we will need to understand

More information

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup Using a USB Debug Adapter

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup Using a USB Debug Adapter C8051F31X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The Development Kit contains the following items: C8051F310 Target Board C8051Fxxx Development Kit Quick-Start Guide AC to DC Power Adapter USB Debug

More information

Lab 1: Introduction to C Programming. (Creating a program using the Microsoft developer Studio, Compiling and Linking)

Lab 1: Introduction to C Programming. (Creating a program using the Microsoft developer Studio, Compiling and Linking) Lab 1: Introduction to C Programming (Creating a program using the Microsoft developer Studio, Compiling and Linking) Learning Objectives 0. To become familiar with Microsoft Visual C++ 6.0 environment

More information

An FTDI connection: The ATtiny microcontrollers don t have a hardware UART External Crystal header pins for an optional crystal

An FTDI connection: The ATtiny microcontrollers don t have a hardware UART External Crystal header pins for an optional crystal Getting Started with the T-Board The T-Board modules were designed to speed up your AVR prototyping. This guide will show you just how quickly you can get up and running with the Hello World for microcontrollers

More information

Intro to Arduino. Zero to Prototyping in a Flash! Material designed by Linz Craig and Brian Huang

Intro to Arduino. Zero to Prototyping in a Flash! Material designed by Linz Craig and Brian Huang Intro to Arduino Zero to Prototyping in a Flash! Material designed by Linz Craig and Brian Huang Overview of Class Getting Started: Installation, Applications and Materials Electrical: Components, Ohm's

More information

Pridgen Vermeer Robotics ATmega128 Revision 0

Pridgen Vermeer Robotics ATmega128 Revision 0 Features: 6x 8-bit I/O Ports 4x A/D Inputs 6x PWM Headers 2x RS 232 Terminals Power Bus LCD Header (4-bit mode) Smart Power Connecter Power Switch Header Power LED Debug LED Note: Some pins have multiple

More information

Alessandra de Vitis. Arduino

Alessandra de Vitis. Arduino Alessandra de Vitis Arduino Arduino types Alessandra de Vitis 2 Interfacing Interfacing represents the link between devices that operate with different physical quantities. Interface board or simply or

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil Khatri TA: Monther Abusultan (Lab exercises created by A. Targhetta / P. Gratz)

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK C8051F560 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent

More information

Laboratory: Introduction to Mechatronics. Instructor TA: Edgar Martinez Soberanes Lab 1.

Laboratory: Introduction to Mechatronics. Instructor TA: Edgar Martinez Soberanes Lab 1. Laboratory: Introduction to Mechatronics Instructor TA: Edgar Martinez Soberanes (eem370@mail.usask.ca) 2017-01-12 Lab 1. Introduction Lab Sessions Lab 1. Introduction to the equipment and tools to be

More information

USER MANUAL FOR HARDWARE REV

USER MANUAL FOR HARDWARE REV PI-REPEATER-2X 1. WELCOME 2. CONTENTS PAGE 1 3. GETTING STARTED There are many features built into this little board that you should be aware of as they can easily be missed when setting up the hardware

More information

Introduction to Arduino. Wilson Wingston Sharon

Introduction to Arduino. Wilson Wingston Sharon Introduction to Arduino Wilson Wingston Sharon cto@workshopindia.com Physical computing Developing solutions that implement a software to interact with elements in the physical universe. 1. Sensors convert

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip 1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based

More information

ECE 331: Electronics Principles I Fall 2014

ECE 331: Electronics Principles I Fall 2014 ECE 331: Electronics Principles I Fall 2014 Lab #0: Introduction to Computer Modeling and Laboratory Measurements Report due at your registered lab period on the week of Sept. 8-12 Week 1 Accessing Linux

More information

ugreen DAB Board Instructions v5

ugreen DAB Board Instructions v5 ugreen Instructions v5 1 Introduction The v4 is a revised and more efficient new version of the. Its smaller layout allows a better integration into most Raspberry Pi enclosures. It is available in two

More information

Prototyping & Engineering Electronics Kits Basic Kit Guide

Prototyping & Engineering Electronics Kits Basic Kit Guide Prototyping & Engineering Electronics Kits Basic Kit Guide odysseyboard.com Please refer to www.odysseyboard.com for a PDF updated version of this guide. Guide version 1.0, February, 2018. Copyright Odyssey

More information

Lab 2 - Powering the Fubarino. Fubarino,, Intro to Serial, Functions and Variables

Lab 2 - Powering the Fubarino. Fubarino,, Intro to Serial, Functions and Variables Lab 2 - Powering the Fubarino Fubarino,, Intro to Serial, Functions and Variables Part 1 - Powering the Fubarino SD The Fubarino SD is a 56 pin device. Each pin on a chipkit device falls broadly into one

More information

COMP2121 Experiment 4

COMP2121 Experiment 4 COMP2121 Experiment 4 1. Objectives In this lab, you will learn AVR programming on Parallel input/output; Some typical input/output devices; and Interrupts 2. Preparation Before coming to the laboratory,

More information

EEG 101L INTRODUCTION TO ENGINEERING EXPERIENCE

EEG 101L INTRODUCTION TO ENGINEERING EXPERIENCE EEG 101L INTRODUCTION TO ENGINEERING EXPERIENCE LABORATORY 1: INTRODUCTION TO ARDUINO IDE AND PROGRAMMING DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS 1. FYS KIT COMPONENTS

More information

ECE 103 In-Class Exercise L1 Guide

ECE 103 In-Class Exercise L1 Guide ECE 10 In-Class Exercise L1 Guide Hardware and software needed to complete this lab exercise LabJack U, USB cable, and screwdriver (Qty 1) Red LED (Light Emitting Diode) Short lead is cathode (negative)

More information

tm1640-rpi Documentation

tm1640-rpi Documentation tm1640-rpi Documentation Release 0.1 Michael Farrell October 20, 2015 Contents 1 Introduction 3 1.1 Resources................................................. 3 2 Building the software 5 3 Wiring the

More information

ARDUINO INDUSTRIAL 1 01 Code: A000126

ARDUINO INDUSTRIAL 1 01 Code: A000126 ARDUINO INDUSTRIAL 1 01 Code: A000126 The Industrial 101 is a small form-factor YUN designed for product integration. OVERVIEW: Arduino Industrial 101 is an Evaluation board for Arduino 101 LGA module.

More information

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform. Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform www.sierraradio.net www.hamstack.com Topics Introduction Hardware options Software development HamStack project

More information

COOKING WITH TEAM 279

COOKING WITH TEAM 279 COOKING WITH TEAM 279 ANALOG SIGNALS WITH MCP3002/MCP3008 ADC The RPi does not have analog input pins. To read analog signals, and Analog to Digital Converter (ADC) should be used. The MCP3002 and MCP3008

More information

8:1 Serial Port Expander

8:1 Serial Port Expander 8:1 Serial Port Expander V 1.3 This is an evolving document check back for updates. Features Expand a single UART (RX / TX) serial port into 8 additional serial ports On-board LEDs indicate which channel

More information

Keyboards. The PS/2 Protocol

Keyboards. The PS/2 Protocol Keyboards The PS/2 Protocol Debugging Always start from a known working state; stop in a working state. If it breaks, what changed? Take a simple small step, check it carefully, then take another small

More information

Advanced Embedded Systems

Advanced Embedded Systems Advanced Embedded Systems Practical & Professional Training on Advanced Embedded System Course Objectives : 1. To provide professional and industrial standard training which will help the students to get

More information

Java Programming on the Raspberry Pi with Pi4J. Rob Ratcliff

Java Programming on the Raspberry Pi with Pi4J. Rob Ratcliff Java Programming on the Raspberry Pi with Pi4J Rob Ratcliff What is a Raspberry Pi? Single Board Computer Pi 3 Model B+ Full size HDMI ARMv8 64 bit with 1.4 GHz 1 GB RAM 4 USB ports 40 I/O Pins for GPIO,

More information

This is a tutorial about sensing the environment using a Raspberry Pi. measure a digital input (from a button) output a digital signal (to an LED)

This is a tutorial about sensing the environment using a Raspberry Pi. measure a digital input (from a button) output a digital signal (to an LED) Practical 2 - Overview This is a tutorial about sensing the environment using a Raspberry Pi and a GrovePi+. You will learn: digital input and output measure a digital input (from a button) output a digital

More information

Xilinx Vivado/SDK Tutorial

Xilinx Vivado/SDK Tutorial Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping

More information

IMPLEMENTING SCL PROGRAMS. Using Codeblocks

IMPLEMENTING SCL PROGRAMS. Using Codeblocks IMPLEMENTING SCL PROGRAMS Using Codeblocks With the GSL on Linux Dr. José M. Garrido Department of Computer Science Updated September 2014 College of Science and Mathematics Kennesaw State University c

More information