SlideShare a Scribd company logo
1 of 47
Download to read offline
Pre-Hack series
June 2016
DragonBoard™ 410c
Workshop
Author: Robert Wolff
Who am I?
● Robert Wolff
● Engineer - Technical Writer for 96Boards at Linaro
▣ University of California, San Diego - 2015
▣ Electrical Engineering - Digital Signal Processing
▣ Qualcomm Institute - Coursera IoT Specialization
Twitter: @sdrobertw
Email: Robert.wolff@linaro.org
Github: https://github.com/sdrobertw
Author: Robert Wolff
Qualcomm Institute - Calit2 @ UCSD
● Coursera IoT specialization - Six Courses
● Focused on DragonBoard 410c
● History of IoT
● Board bring up
● Sensing and Actuation
● Communications Technologies
● Multimedia Technologies
● Capstone - Self sustainable DB410c
workstation/surveillance
● https://www.coursera.org/specializations/internet-of-things
Author: Robert Wolff
Today’s Outline
● Introductions - Linaro and 96Boards
● DragonBoard 410c
○ What is it, how can I use it?
○ Board layout and components
● Resources
○ Software and Documentation
● “Hands-on” Preparations
○ Debian and Android preparations
○ Low speed expansion header
○ Other components
● Demos
○ GPIO and I2C
Author: Robert Wolff
What is Linaro?
➢ Founded June 2010
● Unites the Industry and Open Source community
● Work together on key projects
● Deliver great tools
● Reduce industry wide fragmentation and redundant effort
● Provide common software foundations
● http://www.linaro.org/about/
● https://en.wikipedia.org/wiki/Linaro
Author: Robert Wolff
What is 96Boards?
➢ Founded February 2015
● Series of open hardware specifications
● ARM 32-bit and 64-bit developer boards
● Community enabled open source software development
● http://www.96boards.org
Twitter: @96Boards
Author: Robert Wolff
About the DragonBoard 410c
Author: Robert Wolff
➢ Single Board Computer (SBC)
▣ A full computer built on a single printed circuit board (PCB)
▣ Includes: Microprocessor, Memory, I/O, and more
essentials…
▣ Demonstration, development, education, embedded
controllers
▣ Generally does not rely on expansion slots
What is the DragonBoard 410c?
Author: Robert Wolff
Important Board Components
1. Qualcomm ® Snapdragon™ 410 processor
2. 1GB RAM, 8GB SanDisk eMMC storage
3. WLAN 802.11n, GPS, Bluetooth 4.1
4. MicroSD™ card slot and dip switches
5. Two USB 2.0 ports
6. Micro USB port
7. 40 pin expansion header
8. 16 pin analog expansion connector
9. 60 pin high speed connectors
10. Power button
11. DC barrel jack
12. HDMI port
512
9
7
6
8 11
2
3
10
1
4
Author: Robert Wolff
Important Board Components
Author: Robert Wolff
Important Board Components
Author: Robert Wolff
Important Board Components
1) (J8) Low-speed Expansion Connector: Used for many projects in Course 3. Contains many GPIO
interfaces such as: GPIO, UART, I2C, I2S, SPI and PCM.
2) APQ8016 Snapdragon Processor: Quad-core ARM® Cortex® A53 at up to 1.2 GHz per core with
both 32-bit and 64-bit support
3) (U9) Power Management PMIC: PMIC stands for Power Management Integrated Circuit. The PMIC
controls the flow and direction of power and allows boards like the DragonBoard™ 410c to have a
variety of internal and external voltages sources.
4) (J7) Analog Expansion Connector: The DragonBoard™ 410c analog header give access to audio
and microphone capabilities.
5) WLAN/Bluetooth/GPS: Wireless Local Area Network: used to link one or more computers together,
Bluetooth: short-range, low power way to connect devices, GPS: Global Positioning System uses radio
navigations to determine an exact location.
6) (J1) Power Jack: Capable of DC inputs ranging from 6.5V to 18V with 2000mA current. These
courses will use an adapter with 12V and 2000mA.
7) (J5) uSD Card Socket: Socket used for accessing microSD
Author: Robert Wolff
Important Board Components
8) (J6) HDMI Type A Port: Male plug with 19 pins. Outside dimensions are 13.9 mm × 4.45 mm and
inside dimensions are 14 mm × 4.55 mm.
9) (J9) High Speed Connector: The 60-pin expansion header on the DragonBoard™ 410c contains:
4L MIPI-DSI, USB, I2C x2, 2L+4L MIPI-CSI
10) (J4) Micro USB Type B Connector: USB stands for Universal Serial Bus. The Micro USB type B
on the DragonBoard™ 410c is compatible with the standard type A USB which connects to a PC host.
11) Bluetooth/WLAN LED’s: LED’s used for monitoring the status of the Bluetooth and WLAN
capabilities
12) (J3) USB Host2 Connector: Standard USB type A used for interfacing with the DragonBoard™
410c. Typically used for Mouse, Keyboard or USB Flash drive
13) : User LED’s 1-4: These LED’s are driven directly by the SoC (System on Chip)
14) (J2) USB Host1 Connector: Standard USB type A used for interfacing with the DragonBoard™
410c. Typically used for Mouse, Keyboard or USB Flash drive
Author: Robert Wolff
Important Board Components
15) (S3-4) Vol+/Vol- Buttons: These buttons are used to toggle volume while in the Android
OS. The Vol- button can also be used to bring the DragonBoard™ 410c into Fastboot mode.
16) (S2) Power Button: Similar to a smartphone’s “lock button” it is primarily used while in
Android OS. Button will toggle sleep/wake up and is also used to power down.
17) Bluetooth/WLAN Antenna: Helps increase maximum reach for both Bluetooth and
WLAN.
18) GPS Antenna: Helps to increase maximum reach for GPS
19) (S6) Boot Switches: Found on the back side of the board, used to control the boot
sequence of the board.
Author: Robert Wolff
● Next generation robotics
● Cameras
● Medical devices
● Vending machines
● Smart buildings
● Digital signage
● Casino gaming consoles
● Much more...
Uses for the DragonBoard 410c
Author: Robert Wolff
Uses for the DragonBoard 410c
● Snapdragon Cargo
● Snapdragon Rover
● Snapdragon Drone
○ Flight™
➢ Control motors
➢ Feedback loops
➢ Interrupts
➢ Read security inputs
➢ Link
Author: Robert
Wolff
Resources
Author: Robert Wolff
● Android
● Debian
● OpenEmbedded
● Windows 10 IoT Core
● Ubuntu Core
● More to come...
Software
Author: Robert Wolff
Documentation
● Static and dynamic
● Github repository and website
● Contributions welcome!
● DB410c Landing page
● Github
● Website Rendering
Sample Code
● DBOpenSource
● 96Boards github
● Coursera IoT-410c Author: Robert Wolff
96Boards blogs
● Weekly reading
● Out of the box experience - Series
● Broad subject matter
● Beginner to advanced subjects
● http://www.96boards.org/blog/
Author: Robert Wolff
● Real time chat / video
● Linaro and 96Boards developers
● Coffee hour - fun and informative
● Interactive
● Weekly countdown!
● YouTube Channel
Open Hours
Author: Robert Wolff
Open Hours
● Wrap up software in a complete filesystem
● Contains all necessities to run code, runtime,
system tools, system libraries - anything can
install on a server.
● Always runs the same regardless of
environment it is running in.
Guest: Bill Fletcher, Linaro - Field Engineering
➢ https://www.docker.com/what-docker
Author: Robert Wolff
● Real time chat
● Linaro and 96Boards developers
● https://webchat.freenode.net
● https://www.irccloud.com
● My handle: sdrobertw
Freenode IRC
Author: Robert Wolff
● Community and Developers
● Forum topic search
● FAQ available
● DragonBoard 410c Forum
Forums
Author: Robert Wolff
● Documentation:
○ DB410c Landing page
○ Github
○ Website Rendering
● 96Boards Blogs
○ http://www.96boards.org/blog/
● Open Hours
○ Weekly countdown!
○ YouTube Channel
● Forums
○ DragonBoard 410c Forum
Resources on one page
Author: Robert Wolff
“Hands on” preparations
Operating Systems and Debugging
Author: Robert Wolff
SD Card Method
● Download image
● Follow SD card install instructions
Download and Install Debian
SD Card Method
● Download image
● Follow SD card install instructions
ADB and Fastboot set up: https://www.youtube.com/watch?v=W_zlydVBftA
Download and Install Android
Author: Robert Wolff
Fastboot mode
● Board is power “off”
● Press and hold (-) button down
● Power “on” the board
● Continue holding the button for ~5
seconds
● Release and issue the command
./fastboot devices and your board
should be there Author: Robert Wolff
USB Debugging
1 - Access applications and click “Settings”
2 - Click “About Phone”
3 - Locate “Build number”
4 - Click “Build number” seven times
5 - “You are now a developer!”
6 - Access “Developer options”
7 - Check “USB debugging”
Author: Robert Wolff
“Hands on” preparations
Low-Speed Expansion Header
Author: Robert Wolff
Pin Layout
2 - SPI
3 - I2C
4 - UART
1 - GPIO and MPP
5 - PCM
Author: Robert Wolff
Pin Layout
1
40
Author: Robert Wolff
Pin Layout
Ground Ground
GroundGround
Author: Robert Wolff
Pin Layout
1.8 V
SYS_DCIN
5 V
Author: Robert Wolff
Pin Layout
GPIO GPIO
I2C
Author: Robert Wolff
Low Speed header diagram
Low Speed Expansion Header
Author: Robert Wolff
“Hands on” preparations
Mezzanine Boards
Author: Robert Wolff
96Boards Sensors Mezzanine - LINK
● Arduino IDE enabled
● Seperate Arduino pins
● Serial Console available
● GPIO breakout
● I2C breakout
● SPI breakout
● Power and reset button
Author: Robert Wolff
Arrow LinkSprite Mezzanine - LINK
● ADC chip for analog modules
● Variable 3.3V/5.0V
● GPIO breakout
● I2C breakout
● SPI breakout
● UART breakout
Author: Robert Wolff
Demo 1: Access GPIO through Terminal
Author: Robert Wolff
Low Speed header diagram
Low Speed Expansion Header
Pinouts
Author: Robert Wolff
1. Update & Upgrade system
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
2. Super user to GPIO folder
$ sudo su
# cd /sys/class/gpio
3. Export, direction, value…
# echo GPIO_# > export
# cd gpio(GPIO_#)
# echo “out/in” > direction
# echo 0/1 > value
4. Profit!!! (Next we look at libraries)
Demo #1 on one page - LINK
Author: Robert Wolff
Demo 2: Access GPIO with Libraries
Author: Robert Wolff
1. Update & Upgrade system
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade -u
2. Install Libraries
$ sudo apt-get install libsoc-dev libmraa0 libmraa-dev libump0 libupm-dev
3. Install Dependencies
$ sudo apt-get install git
4. Clone sample code
$ git clone https://github.com/davidmandala/library_test.git
5. Compile and run
$ cd library_test
$ gcc AC-ledSOC.c -o AC-ledSOC -lsoc
$ sudo ./AC-ledSOC
6. Profit!!! (Next we look at I2C)
Demo #2 on one page - LINK
Author: Robert Wolff
Demo 3: Access I2C with Libraries
Author: Robert Wolff
1. Update & Upgrade system
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade -u
2. Install Libraries
$ sudo apt-get install libmraa0 libmraa-dev libump0 libupm-dev
3. Install Dependencies
$ sudo apt-get install git
4. Clone sample code
$ git clone https://github.com/96boards/Starter_Kit_for_96Boards
5. Compile and run
$ cd Starter_Kit_for_96Boards
$ make
$ sudo ./rgb_lcd_demo
6. Profit!!! (Next we look at I2C)
Demo #3 on one page - LINK
Author: Robert Wolff
./adb root
./adb remount
mount -o rw,remount /system
exit out of adb shell
./adb pull /etc/init.qcom.post_boot.sh
(add to the post_boot.sh)
set -A pins 938 915 1017 926 937 930 914 971 901 936 935
for i in 0 1 2 3 4 5 6 7 8 9 10
do
echo ${pins[i]} > /sys/class/gpio/export
chmod 777 /sys/class/gpio/gpio${pins[i]}
chmod 777 /sys/class/gpio/gpio${pins[i]}/value
chmod 777 /sys/class/gpio/gpio${pins[i]}/direction
done
./adb push init.qcom.post_boot.sh /etc/init.qcom.post_boot.sh
./adb reboot
./adb root
./adb shell
cd /sys/class/gpio (to check if they’re their)
GPIO Access with Android OS
Author: Robert Wolff

More Related Content

What's hot

IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptx
suptel
 

What's hot (20)

The sunsparc architecture
The sunsparc architectureThe sunsparc architecture
The sunsparc architecture
 
Basics of arduino uno
Basics of arduino unoBasics of arduino uno
Basics of arduino uno
 
Key board interfacing with 8051
Key board interfacing with 8051Key board interfacing with 8051
Key board interfacing with 8051
 
Serial Communication
Serial CommunicationSerial Communication
Serial Communication
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
netconf and yang
netconf and yangnetconf and yang
netconf and yang
 
Project ideas ece students
Project ideas ece studentsProject ideas ece students
Project ideas ece students
 
80486 and pentium
80486 and pentium80486 and pentium
80486 and pentium
 
Application Layer Protocols for the IoT
Application Layer Protocols for the IoTApplication Layer Protocols for the IoT
Application Layer Protocols for the IoT
 
Arduino Programming Familiarization
Arduino Programming FamiliarizationArduino Programming Familiarization
Arduino Programming Familiarization
 
Combinational circuits
Combinational circuits Combinational circuits
Combinational circuits
 
IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptx
 
LCD Interacing with 8051
LCD Interacing with 8051LCD Interacing with 8051
LCD Interacing with 8051
 
Z wave
Z waveZ wave
Z wave
 
Hub,Switch.Router
Hub,Switch.RouterHub,Switch.Router
Hub,Switch.Router
 
Wireless sensor network
Wireless sensor networkWireless sensor network
Wireless sensor network
 
Programmableperipheralinterface 8255 ppt
Programmableperipheralinterface 8255 pptProgrammableperipheralinterface 8255 ppt
Programmableperipheralinterface 8255 ppt
 
Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]
 
8 bit microcontroller
8 bit microcontroller8 bit microcontroller
8 bit microcontroller
 
802 15-4 tutorial
802 15-4 tutorial802 15-4 tutorial
802 15-4 tutorial
 

Viewers also liked

Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Dr. Mazlan Abbas
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 ppt
Mhae Lyn
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
Vala Afshar
 

Viewers also liked (20)

LAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by HisiliconLAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
 
RTDroid_Presentation
RTDroid_PresentationRTDroid_Presentation
RTDroid_Presentation
 
UCSD Hard Hackathon 2017 Photo Gallery
UCSD Hard Hackathon 2017 Photo GalleryUCSD Hard Hackathon 2017 Photo Gallery
UCSD Hard Hackathon 2017 Photo Gallery
 
Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded ComputingBring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
 
TechShanghai2016 - Qualcomm嵌入式解决方案,为IoT硬件开发而生
TechShanghai2016 - Qualcomm嵌入式解决方案,为IoT硬件开发而生TechShanghai2016 - Qualcomm嵌入式解决方案,为IoT硬件开发而生
TechShanghai2016 - Qualcomm嵌入式解决方案,为IoT硬件开发而生
 
mcuboot for IoT
mcuboot for IoTmcuboot for IoT
mcuboot for IoT
 
Dragonboard 410c/820c
Dragonboard 410c/820cDragonboard 410c/820c
Dragonboard 410c/820c
 
Qualcomm Snapdragon Processor
Qualcomm Snapdragon ProcessorQualcomm Snapdragon Processor
Qualcomm Snapdragon Processor
 
The Internet of Things (IoT) PDF
The Internet of Things (IoT) PDFThe Internet of Things (IoT) PDF
The Internet of Things (IoT) PDF
 
Snapdragon
SnapdragonSnapdragon
Snapdragon
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
What exactly is the "Internet of Things"?
What exactly is the "Internet of Things"?What exactly is the "Internet of Things"?
What exactly is the "Internet of Things"?
 
Tracxn Startup Research Drones Landscape, July 2016
Tracxn Startup Research   Drones Landscape, July 2016Tracxn Startup Research   Drones Landscape, July 2016
Tracxn Startup Research Drones Landscape, July 2016
 
What is the Internet of Things?
What is the Internet of Things?What is the Internet of Things?
What is the Internet of Things?
 
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An Iceberg
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
 
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 ppt
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 

Similar to Dragon board 410c workshop - slideshow

Similar to Dragon board 410c workshop - slideshow (20)

Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PI
 
Multipilot pres-ufficiale def
Multipilot pres-ufficiale defMultipilot pres-ufficiale def
Multipilot pres-ufficiale def
 
Hardware hacking
Hardware hackingHardware hacking
Hardware hacking
 
Beagle board101 esc-boston-2009b
Beagle board101 esc-boston-2009bBeagle board101 esc-boston-2009b
Beagle board101 esc-boston-2009b
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITE
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
Let's begin io t with $10
Let's begin io t with $10Let's begin io t with $10
Let's begin io t with $10
 
Hacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on LinuxHacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on Linux
 
The internet of $h1t
The internet of $h1tThe internet of $h1t
The internet of $h1t
 
OpenCR tutorial_icra2017
OpenCR tutorial_icra2017 OpenCR tutorial_icra2017
OpenCR tutorial_icra2017
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 
A Science Project: Swift Serial Chat
A Science Project: Swift Serial ChatA Science Project: Swift Serial Chat
A Science Project: Swift Serial Chat
 
Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBots
 
Nanog75, Network Device Property as Code
Nanog75, Network Device Property as CodeNanog75, Network Device Property as Code
Nanog75, Network Device Property as Code
 
IoT: LoRa and Java on the PI
IoT: LoRa and Java on the PIIoT: LoRa and Java on the PI
IoT: LoRa and Java on the PI
 
IoT Prototyping using BBB and Debian
IoT Prototyping using BBB and DebianIoT Prototyping using BBB and Debian
IoT Prototyping using BBB and Debian
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
Multipilot pres-ufficiale last 2
Multipilot pres-ufficiale last 2Multipilot pres-ufficiale last 2
Multipilot pres-ufficiale last 2
 
Introduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer TrainingIntroduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer Training
 

More from 96Boards

More from 96Boards (6)

OpenHours Bootloaders and Secure Firmware
OpenHours Bootloaders and Secure FirmwareOpenHours Bootloaders and Secure Firmware
OpenHours Bootloaders and Secure Firmware
 
ST on 96Boards OpenHours - System level ESD protection
ST on 96Boards OpenHours - System level ESD protectionST on 96Boards OpenHours - System level ESD protection
ST on 96Boards OpenHours - System level ESD protection
 
LAS16 310 - Introducing the first 96Boards tv platform - Poplar by hisilicon
LAS16 310 - Introducing the first 96Boards tv platform - Poplar by hisiliconLAS16 310 - Introducing the first 96Boards tv platform - Poplar by hisilicon
LAS16 310 - Introducing the first 96Boards tv platform - Poplar by hisilicon
 
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
 
LAS16 109 - The status quo and the future of 96Boards
LAS16 109 - The status quo and the future of 96BoardsLAS16 109 - The status quo and the future of 96Boards
LAS16 109 - The status quo and the future of 96Boards
 
LAS16 100 K1 - Keynote George Grey
LAS16 100 K1 - Keynote George GreyLAS16 100 K1 - Keynote George Grey
LAS16 100 K1 - Keynote George Grey
 

Recently uploaded

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Recently uploaded (20)

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 

Dragon board 410c workshop - slideshow

  • 1. Pre-Hack series June 2016 DragonBoard™ 410c Workshop Author: Robert Wolff
  • 2. Who am I? ● Robert Wolff ● Engineer - Technical Writer for 96Boards at Linaro ▣ University of California, San Diego - 2015 ▣ Electrical Engineering - Digital Signal Processing ▣ Qualcomm Institute - Coursera IoT Specialization Twitter: @sdrobertw Email: Robert.wolff@linaro.org Github: https://github.com/sdrobertw Author: Robert Wolff
  • 3. Qualcomm Institute - Calit2 @ UCSD ● Coursera IoT specialization - Six Courses ● Focused on DragonBoard 410c ● History of IoT ● Board bring up ● Sensing and Actuation ● Communications Technologies ● Multimedia Technologies ● Capstone - Self sustainable DB410c workstation/surveillance ● https://www.coursera.org/specializations/internet-of-things Author: Robert Wolff
  • 4. Today’s Outline ● Introductions - Linaro and 96Boards ● DragonBoard 410c ○ What is it, how can I use it? ○ Board layout and components ● Resources ○ Software and Documentation ● “Hands-on” Preparations ○ Debian and Android preparations ○ Low speed expansion header ○ Other components ● Demos ○ GPIO and I2C Author: Robert Wolff
  • 5. What is Linaro? ➢ Founded June 2010 ● Unites the Industry and Open Source community ● Work together on key projects ● Deliver great tools ● Reduce industry wide fragmentation and redundant effort ● Provide common software foundations ● http://www.linaro.org/about/ ● https://en.wikipedia.org/wiki/Linaro Author: Robert Wolff
  • 6. What is 96Boards? ➢ Founded February 2015 ● Series of open hardware specifications ● ARM 32-bit and 64-bit developer boards ● Community enabled open source software development ● http://www.96boards.org Twitter: @96Boards Author: Robert Wolff
  • 7. About the DragonBoard 410c Author: Robert Wolff
  • 8. ➢ Single Board Computer (SBC) ▣ A full computer built on a single printed circuit board (PCB) ▣ Includes: Microprocessor, Memory, I/O, and more essentials… ▣ Demonstration, development, education, embedded controllers ▣ Generally does not rely on expansion slots What is the DragonBoard 410c? Author: Robert Wolff
  • 9. Important Board Components 1. Qualcomm ® Snapdragon™ 410 processor 2. 1GB RAM, 8GB SanDisk eMMC storage 3. WLAN 802.11n, GPS, Bluetooth 4.1 4. MicroSD™ card slot and dip switches 5. Two USB 2.0 ports 6. Micro USB port 7. 40 pin expansion header 8. 16 pin analog expansion connector 9. 60 pin high speed connectors 10. Power button 11. DC barrel jack 12. HDMI port 512 9 7 6 8 11 2 3 10 1 4 Author: Robert Wolff
  • 12. Important Board Components 1) (J8) Low-speed Expansion Connector: Used for many projects in Course 3. Contains many GPIO interfaces such as: GPIO, UART, I2C, I2S, SPI and PCM. 2) APQ8016 Snapdragon Processor: Quad-core ARM® Cortex® A53 at up to 1.2 GHz per core with both 32-bit and 64-bit support 3) (U9) Power Management PMIC: PMIC stands for Power Management Integrated Circuit. The PMIC controls the flow and direction of power and allows boards like the DragonBoard™ 410c to have a variety of internal and external voltages sources. 4) (J7) Analog Expansion Connector: The DragonBoard™ 410c analog header give access to audio and microphone capabilities. 5) WLAN/Bluetooth/GPS: Wireless Local Area Network: used to link one or more computers together, Bluetooth: short-range, low power way to connect devices, GPS: Global Positioning System uses radio navigations to determine an exact location. 6) (J1) Power Jack: Capable of DC inputs ranging from 6.5V to 18V with 2000mA current. These courses will use an adapter with 12V and 2000mA. 7) (J5) uSD Card Socket: Socket used for accessing microSD Author: Robert Wolff
  • 13. Important Board Components 8) (J6) HDMI Type A Port: Male plug with 19 pins. Outside dimensions are 13.9 mm × 4.45 mm and inside dimensions are 14 mm × 4.55 mm. 9) (J9) High Speed Connector: The 60-pin expansion header on the DragonBoard™ 410c contains: 4L MIPI-DSI, USB, I2C x2, 2L+4L MIPI-CSI 10) (J4) Micro USB Type B Connector: USB stands for Universal Serial Bus. The Micro USB type B on the DragonBoard™ 410c is compatible with the standard type A USB which connects to a PC host. 11) Bluetooth/WLAN LED’s: LED’s used for monitoring the status of the Bluetooth and WLAN capabilities 12) (J3) USB Host2 Connector: Standard USB type A used for interfacing with the DragonBoard™ 410c. Typically used for Mouse, Keyboard or USB Flash drive 13) : User LED’s 1-4: These LED’s are driven directly by the SoC (System on Chip) 14) (J2) USB Host1 Connector: Standard USB type A used for interfacing with the DragonBoard™ 410c. Typically used for Mouse, Keyboard or USB Flash drive Author: Robert Wolff
  • 14. Important Board Components 15) (S3-4) Vol+/Vol- Buttons: These buttons are used to toggle volume while in the Android OS. The Vol- button can also be used to bring the DragonBoard™ 410c into Fastboot mode. 16) (S2) Power Button: Similar to a smartphone’s “lock button” it is primarily used while in Android OS. Button will toggle sleep/wake up and is also used to power down. 17) Bluetooth/WLAN Antenna: Helps increase maximum reach for both Bluetooth and WLAN. 18) GPS Antenna: Helps to increase maximum reach for GPS 19) (S6) Boot Switches: Found on the back side of the board, used to control the boot sequence of the board. Author: Robert Wolff
  • 15. ● Next generation robotics ● Cameras ● Medical devices ● Vending machines ● Smart buildings ● Digital signage ● Casino gaming consoles ● Much more... Uses for the DragonBoard 410c Author: Robert Wolff
  • 16. Uses for the DragonBoard 410c ● Snapdragon Cargo ● Snapdragon Rover ● Snapdragon Drone ○ Flight™ ➢ Control motors ➢ Feedback loops ➢ Interrupts ➢ Read security inputs ➢ Link Author: Robert Wolff
  • 18. ● Android ● Debian ● OpenEmbedded ● Windows 10 IoT Core ● Ubuntu Core ● More to come... Software Author: Robert Wolff
  • 19. Documentation ● Static and dynamic ● Github repository and website ● Contributions welcome! ● DB410c Landing page ● Github ● Website Rendering Sample Code ● DBOpenSource ● 96Boards github ● Coursera IoT-410c Author: Robert Wolff
  • 20. 96Boards blogs ● Weekly reading ● Out of the box experience - Series ● Broad subject matter ● Beginner to advanced subjects ● http://www.96boards.org/blog/ Author: Robert Wolff
  • 21. ● Real time chat / video ● Linaro and 96Boards developers ● Coffee hour - fun and informative ● Interactive ● Weekly countdown! ● YouTube Channel Open Hours Author: Robert Wolff
  • 22. Open Hours ● Wrap up software in a complete filesystem ● Contains all necessities to run code, runtime, system tools, system libraries - anything can install on a server. ● Always runs the same regardless of environment it is running in. Guest: Bill Fletcher, Linaro - Field Engineering ➢ https://www.docker.com/what-docker Author: Robert Wolff
  • 23. ● Real time chat ● Linaro and 96Boards developers ● https://webchat.freenode.net ● https://www.irccloud.com ● My handle: sdrobertw Freenode IRC Author: Robert Wolff
  • 24. ● Community and Developers ● Forum topic search ● FAQ available ● DragonBoard 410c Forum Forums Author: Robert Wolff
  • 25. ● Documentation: ○ DB410c Landing page ○ Github ○ Website Rendering ● 96Boards Blogs ○ http://www.96boards.org/blog/ ● Open Hours ○ Weekly countdown! ○ YouTube Channel ● Forums ○ DragonBoard 410c Forum Resources on one page Author: Robert Wolff
  • 26. “Hands on” preparations Operating Systems and Debugging Author: Robert Wolff
  • 27. SD Card Method ● Download image ● Follow SD card install instructions Download and Install Debian SD Card Method ● Download image ● Follow SD card install instructions ADB and Fastboot set up: https://www.youtube.com/watch?v=W_zlydVBftA Download and Install Android Author: Robert Wolff
  • 28. Fastboot mode ● Board is power “off” ● Press and hold (-) button down ● Power “on” the board ● Continue holding the button for ~5 seconds ● Release and issue the command ./fastboot devices and your board should be there Author: Robert Wolff
  • 29. USB Debugging 1 - Access applications and click “Settings” 2 - Click “About Phone” 3 - Locate “Build number” 4 - Click “Build number” seven times 5 - “You are now a developer!” 6 - Access “Developer options” 7 - Check “USB debugging” Author: Robert Wolff
  • 30. “Hands on” preparations Low-Speed Expansion Header Author: Robert Wolff
  • 31. Pin Layout 2 - SPI 3 - I2C 4 - UART 1 - GPIO and MPP 5 - PCM Author: Robert Wolff
  • 34. Pin Layout 1.8 V SYS_DCIN 5 V Author: Robert Wolff
  • 36. Low Speed header diagram Low Speed Expansion Header Author: Robert Wolff
  • 37. “Hands on” preparations Mezzanine Boards Author: Robert Wolff
  • 38. 96Boards Sensors Mezzanine - LINK ● Arduino IDE enabled ● Seperate Arduino pins ● Serial Console available ● GPIO breakout ● I2C breakout ● SPI breakout ● Power and reset button Author: Robert Wolff
  • 39. Arrow LinkSprite Mezzanine - LINK ● ADC chip for analog modules ● Variable 3.3V/5.0V ● GPIO breakout ● I2C breakout ● SPI breakout ● UART breakout Author: Robert Wolff
  • 40. Demo 1: Access GPIO through Terminal Author: Robert Wolff
  • 41. Low Speed header diagram Low Speed Expansion Header Pinouts Author: Robert Wolff
  • 42. 1. Update & Upgrade system $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get dist-upgrade 2. Super user to GPIO folder $ sudo su # cd /sys/class/gpio 3. Export, direction, value… # echo GPIO_# > export # cd gpio(GPIO_#) # echo “out/in” > direction # echo 0/1 > value 4. Profit!!! (Next we look at libraries) Demo #1 on one page - LINK Author: Robert Wolff
  • 43. Demo 2: Access GPIO with Libraries Author: Robert Wolff
  • 44. 1. Update & Upgrade system $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get dist-upgrade -u 2. Install Libraries $ sudo apt-get install libsoc-dev libmraa0 libmraa-dev libump0 libupm-dev 3. Install Dependencies $ sudo apt-get install git 4. Clone sample code $ git clone https://github.com/davidmandala/library_test.git 5. Compile and run $ cd library_test $ gcc AC-ledSOC.c -o AC-ledSOC -lsoc $ sudo ./AC-ledSOC 6. Profit!!! (Next we look at I2C) Demo #2 on one page - LINK Author: Robert Wolff
  • 45. Demo 3: Access I2C with Libraries Author: Robert Wolff
  • 46. 1. Update & Upgrade system $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get dist-upgrade -u 2. Install Libraries $ sudo apt-get install libmraa0 libmraa-dev libump0 libupm-dev 3. Install Dependencies $ sudo apt-get install git 4. Clone sample code $ git clone https://github.com/96boards/Starter_Kit_for_96Boards 5. Compile and run $ cd Starter_Kit_for_96Boards $ make $ sudo ./rgb_lcd_demo 6. Profit!!! (Next we look at I2C) Demo #3 on one page - LINK Author: Robert Wolff
  • 47. ./adb root ./adb remount mount -o rw,remount /system exit out of adb shell ./adb pull /etc/init.qcom.post_boot.sh (add to the post_boot.sh) set -A pins 938 915 1017 926 937 930 914 971 901 936 935 for i in 0 1 2 3 4 5 6 7 8 9 10 do echo ${pins[i]} > /sys/class/gpio/export chmod 777 /sys/class/gpio/gpio${pins[i]} chmod 777 /sys/class/gpio/gpio${pins[i]}/value chmod 777 /sys/class/gpio/gpio${pins[i]}/direction done ./adb push init.qcom.post_boot.sh /etc/init.qcom.post_boot.sh ./adb reboot ./adb root ./adb shell cd /sys/class/gpio (to check if they’re their) GPIO Access with Android OS Author: Robert Wolff