- Level Foundation
- Course by University of California San Diego
-
Offered by
About
Do you want to develop skills to prototype embedded products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC). This is the first in a series of courses where you will learn both the theory and get the hands-on development practice needed to prototype Internet of Things products. This course is suitable for a broad range of learners. This course is for you if: - You want to learn how to use learn how to use Linux for embedded purposes. - You want to pivot your career towards the design and development of Internet of Things enabled products - You are an entrepreneur, innovator or member of a DIY community Learning Goals: After completing this course, you will be able to: 1) Know where you can find resources and help in the 96Boards ecosystem. 2) Describe the DragonBoard™ 410c peripherals, I/O expansion capabilities, Compute (CPU and Graphics) capabilities, and Connectivity capabilities. 3) Understand how to navigate and make use of the Linux terminal. 4) Configure at least one integrated development environment (IDE) for developing software. 5) Make use of Git and GitHub for version control purposes. 6) Create and build projects that interface with sensors and actuators through GPIO and Arduino.Modules
Welcome to Course 2!
1
Videos
- Specialization Trailer
2
Readings
- Get some resources in order!
- Supplimental Procedure document (supplemental doc)
Terminology (Beginner - Optional)
3
Videos
- Acronyms (DragonBoard™ 410c)
- Acronyms (General)
- Frequently used Terminology
Concepts (Beginner - Optional)
5
Videos
- High and Low level programming
- Object oriented programming
- C-programming (Systems/applications)
- Root/Superuser
- Levels of Abstraction
1
Readings
- The C-Programming language (Optional book)
More Supplemental Material (Beginner - Opitional)
3
Videos
- UNIX
- MS-DOS
- DragonBoard™ 410c
1
Readings
- More commands!
Git (Beginner - Optional)
3
Videos
- Introduction to Git
- Git Setup
- Git Commands
1
Readings
- Git Cheat sheet
Android Debug Bridge (ADB) (Beginner - Optional)
5
Videos
- Introduction to ADB
- Update USB Drivers (Windows) -Please see reading
- ADB Protocol
- Using the ADB Protocol
- ADB over WIFI
2
Readings
- Update USB Drivers (Windows)
- ADB Shell Commands
Fastboot
4
Videos
- Fastboot
- Booting into Fastboot
- Fastboot Protocol
- Using the Fastboot Protocol
2
Readings
- Fastboot Commands
- Time for a video break (another video!)
Assessments
1
Assignment
- Supplemental Quiz (Optional)
Introduction
2
Readings
- Module Slides
- Qualcomm® introduces the DragonBoard™ 410c! (YouTube video)
Lesson 1 - Unboxing your DragonBoard 410c
5
Videos
- Board layout and features
- The Out of Box Experience
- Linux Install and walkthrough
- Resources and walk through
- Assigned Homework
Lesson 2 - Component Deep dive and specification
1
Peer Review
- Booting up your DragonBoard 410c
8
Videos
- The 96Boards specification
- History of the DragonBoard 410c
- SoC Deep Dive
- Onboard Storage
- Memory (RAM) and Swap Space
- Onboard Expansion Connectors
- Software
- Assigned Homework
Lesson 3 - Mezzanine and 96Boards Ecosystem
5
Videos
- 96Boards Ecosystem - Getting started
- Mezzanine Guidelines
- Community Mezzanine Initiative
- Vertical Markets and Path to product
- Assigned Homework
Time walking... (A look back)
15
Videos
- About the Dragonboard™ 410c
- Important Board Components
- Technical Specifications
- Choosing an operating system
- Purchasing your Dragonboard™ 410c
- Registering with 96boards
- Registering with Qualcomm® Developer Network
- A look back at Lesson 2
- Boot Configuration
- Booting up your Dragonboard™ 410c
- Android Developer Mode (Android Only)
- Testing your Dragonboard™ 410c
- Shutting down your Dragonboard™ 410c
- Caring for your Dragonboard™ 410c
- A look back at Lesson 3
3
Readings
- DragonBoard™ 410c Feature Highlights
- While you're waiting!
- Optional Reading about the SoC
Optional Assessments
1
Assignment
- Time Walking quiz...
Introduction to Module 2
1
Readings
- Module Slides
Lesson 1: Linux walkthrough (Deep dive)
1
Assignment
- Lesson 1
4
Videos
- File system and tools
- IDE and command line walkthrough
- Update, upgrade, and dependencies (overview)
- Assigned Homework
1
Readings
- Resources
Lesson 2: Mezzanine bring up - Seeed Sensors Mezzanine
1
Assignment
- Lesson 2
8
Videos
- Sensors Mezzanine Kit
- I/O - Input / Output
- Setting up hardware and your development environment
- GPIO in the shell
- ATMEGA Walkthrough
- Libmraa Walkthrough
- Libupm Walkthrough
- Assigned Homework
1
Readings
- Resources
Lesson 3: Build your first program (Linux)
1
Assignment
- Lesson 3
5
Videos
- Git Walkthrough
- Editor choices, IDEs and languages
- Advanced Version Control Commands
- Contribute and grow
- Assigned Homework
1
Readings
- Resources
Lesson 4: Alarm Clock
1
Assignment
- Lesson 4
2
Videos
- Description and Execution
- Code Walkthrough
1
Readings
- Resources
Lesson 5: Morse Code Encoder
1
Assignment
- Lesson 5
2
Videos
- Description and Execution
- Code Walkthrough
1
Readings
- Resources
Lesson 6: Magic 8-Ball
1
Assignment
- Lesson 6
2
Videos
- Description and Execution
- Code Walkthrough
1
Readings
- Resources
Lesson 7: Volume unit meter (VU)
1
Assignment
- Lesson 7
2
Videos
- Description and Execution
- Code Walkthrough
1
Readings
- Resources
Lesson 8: Sensor Cluster
1
Assignment
- Lesson 8
2
Videos
- Description and Execution
- Code Walkthrough
1
Readings
- Resources
Assignments for Module 2
1
Assignment
- Module 2
Introduction to Module 3
1
Readings
- Module Slides
Lesson 1: Building Dragonboard 410c from Scratch
1
Assignment
- Lesson 1
4
Videos
- Open Embedded Overview and Building from Source
- Debian Overview and Building from Source
- Android Overview and Building from Source
- Assigned Homework
1
Readings
- Resources
Lesson 2: Google Assistant
1
Assignment
- Lesson 2
3
Videos
- Description and Execution
- Code Walkthrough
- Assigned Homework
1
Readings
- Resources
Lesson 3: Home Surveillance
1
Assignment
- Lesson 3
3
Videos
- Description and Execution
- Code Walkthrough
- Assigned Homework
1
Readings
- Resources
Assignments for Module 3
1
Assignment
- Module 3
Introduction to Module 4!
1
Videos
- Getting Ready for Module 4!
1
Readings
- Module 4 Procedure document (supplemental doc)
Lesson 1 - Choosing the Right OS for your DragonBoard™ 410c
5
Videos
- Introduction to Lesson 1
- Android for DragonBoard™ 410c
- Ubuntu for DragonBoard™ 410c
- Methods of Installation
- A look back at Lesson 1
1
Readings
- Module approach
Lesson 2a - Flashing Android using SD Card(Mac/Linux)
6
Videos
- Introduction to Lesson 2a
- Download Android Image
- Create Path Variable to Android Image
- Flash microSD Card with Image
- Install Android on your DragonBoard™ 410c
- A look back at Lesson 2a
Lesson 2b - Flashing Ubuntu using SD Card(Mac/Linux)
6
Videos
- Introduction to Lesson 2b
- Download Ubuntu Image
- Create Path Variable to Ubuntu Image
- Flash microSD Card with Image
- Install Ubuntu on DragonBoard™ 410c
- A look back at Lesson 2b
Lesson 2c - Flashing Android using Fastboot(Mac/Linux)
5
Videos
- Introduction to Lesson 2c
- Download Android binaries/bootloader
- Altering the bootloader script
- Fastboot Flash onto eMMC
- A look back at Lesson 2c
Lesson 2d - Flashing Ubuntu using Fastboot(Mac/Linux)
5
Videos
- Introduction to Lesson 2d
- Download Ubuntu binaries/bootloader
- Alter bootloader Script
- Fastboot Flash onto eMMC
- A look back at Lesson 2d
Lesson 3a - Flashing Android using SD Card(Windows)
6
Videos
- Introduction to Lesson 3a
- Download Android Image
- Download win32diskmager
- Flash microSD Card with Image
- Install Android on DragonBoard™ 410c
- A look back at Lesson 3a
Lesson 3b - Flashing Ubuntu using SD Card(Windows)
6
Videos
- Introduction to Lesson 3b
- Download Ubuntu Image
- Download win32diskimager
- Flash microSD Card with Image
- Install Ubuntu on DragonBoard™ 410c
- A look back at Lesson 3b
Lesson 3c - Flashing Android using Fastboot(Windows)
5
Videos
- Introduction to Lesson 3c
- Download Android binaries and boot loader
- Create Path Variable to binaries and bootloader
- Fastboot Flash onto eMMC
- A look back at Lesson 3c
Lesson 3d - Flashing Ubuntu using Fastboot(Windows)
5
Videos
- Introduction to Lesson 3d
- Download Ubuntu binaries and bootloader
- Create Path Variable to binaries and bootloader
- Fastboot Flash onto eMMC
- A look back at Lesson 3d
Assignment for Module 4
1
Assignment
- Module 4
Introduction to Module 5!
1
Videos
- Getting Ready!
1
Readings
- Procedure document (supplemental doc)
Lesson 1 - Bricked Board:
5
Videos
- Introduction to Lesson 1
- Defining a Bricked board
- What to do if your board does not turn on
- Possible quick fixes
- A look back at Lesson 1
Lesson 2 - Recovering Your Board
5
Videos
- Introduction to Lesson 2
- Download Recovery Image
- Flash SD Card
- Re-flash Operating System
- A look back at Lesson 2
Lesson 3 - Brick Prevention:
6
Videos
- Introduction to Lesson 3
- Shorting your DragonBoard™ 410c
- Disconnecting DC without Proper Shutdown
- Precautionary Steps for GPIO Pins
- Deleting Partition Tables and Flashing
- A look back at Lesson 3
Assignment for Module 5
1
Assignment
- Module 5
Auto Summary
Embark on a journey to prototype embedded products with the "Internet of Things V2: DragonBoard™ bring up and community ecosystem" course. This foundational course, led by Coursera, focuses on developing both theoretical and hands-on skills using the DragonBoard™ 410c. Ideal for aspiring IoT developers, entrepreneurs, and DIY enthusiasts, it covers Linux for embedded systems, IDE configuration, version control with Git and GitHub, and interfacing with sensors and actuators. With flexible subscription options, this course offers a comprehensive introduction to the 96Boards ecosystem and IoT product design.

Ganz Chockalingam

Harinath Garudadri