Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera)

Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera)

Do you want to develop skills to prototype mobile-enabled 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).

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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 develop hands-on experience with mobile technologies and the Internet
• 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. Configure at least one integrated development environment (IDE) for developing software.
  2. Make use of git, adb and fastboot to flash multiple OS and repair bricked boards.
  3. Install Android 5.1 (Lollipop) and Linux based on Ubuntu.
  4. Create, compile and run a Hello World program.
  5. Describe the DragonBoard™ 410c peripherals, I/O expansion capabilities, Compute (CPU and Graphics) capabilities, and Connectivity capabilities.

Syllabus

WEEK 1
Introduction
Welcome to the Internet of Things! Before diving into this course give us a chance to let you know what it is all about! We will walk you through a module by module outline that will give you highlights on the interesting aspects of the course.

WEEK 2
Terminology/Cheat Sheet (Beginner)
In this course, you will see a lot of new words and acronyms you might not be familiar with. If you feel comfortable with your knowledge of tech terminology, feel free to skip these lessons since they will not affect the overall integrity of the course. If you see something that you want to know a little more about, feel free to watch the video to gain insight on some basic concepts. We do expect you to know the majority of this material before going into the next module, we would recommend going through the lessons as a quick brush up.

WEEK 3
Board Bring up
The new and exciting DragonBoard™ 410c is now available! In this module you will get introduced to the new all-in-one board, get an overview of all its amazing features and find out how you can get one yourself. We will then walk you through the registration process, and how to get your board started up for the first time! By the end of this module you will know enough about the DragonBoard™ 410c to begin using it for the fun projects that are to come later in this course and in the rest of the courses in the Internet of Things specialization.

WEEK 4
Setting up your Developing Environment
In order to easily communicate with your DragonBoard™ 410c it is essential to set up a developing environment. In this lesson we will talk about Android Studio as our preferred IDE (Integrated Development Environment), we will show you how and where to download it as well as walk you through the installation process on both Mac/Linux and Windows. As an Android developer you will need a variety of tools, these tools come bundled with the Android Studio download and are referred to as the SDK (Software Developer Kit). This lesson will cover accessing the SDK and utilizing the various tools it has to offer. ADB (Android Debug Bridge) and Fastboot are among the tools we will be using most throughout this course. It is with these tools that you will be able to access your board at all levels and make crucial changes needed for development.

WEEK 5
Changing your Operating System
The DragonBoard™ 410c is capable of running a variety of different operating systems, that being said you are free to chose the operating system that you find is best fit for you. Now, we understand that there is a diverse user base for this board and would like to cover as much as possible in this lesson so everyone can enjoy it! Whether you are a Windows user or a Mac user, or prefer Android over Ubuntu, there is a video or two here for you! In this lesson we will help you choose an operating system to best fit for your needs, we will then cover the download, flashing and installation process for all currently available operating systems. Because of the diverse nature of this board we will teach you multiple ways to flash your new operating system and provide a pro's and con's list for the different methods. By the end of this lesson switching between operating system will be easy and exciting for users of all skill levels.

WEEK 6
Rescuing your Bricked Board
No one expects to damage their new DragonBoard™ 410c, but sometimes accidents happen. This module is dedicated to helping you not only prevent these accidents from happening, but also to fixing any problems should your board become damaged in any way. Here we will go over the difference between a soft brick and a hard brick and why they are two things you want to avoid.

WEEK 7
Creating your First Application
Welcome to Module 6! In this module we will be creating your first Android App to port to the DragonBoard™ 410c. This “Network Test” App will give you a teaser for the programmatic feats you will be able to accomplish with the DragonBoard™! You will learn about the different GPS and Location Services available on Android and how to access Bluetooth and Wi-fi Data. This module will briefly go over the importance of the Android Manifest and asking the Users for the proper permissions. Lastly, we’ll spice up our application by playing around with Intents and enabling the application to facilitate the above connectivity and network tests. This may sound like a lot, but don’t worry! We will help you get on your feet and by the end of this module, you’ll have coded a neat little application.

WEEK 8
Native Development Kit (NDK)
In Module 7, will give you a general introduction and brief overview of Android Studio’s Native Development Kit (NDK). The NDK allows us users to program Android applications using C/C++. The NDK utilizes the Java Native Interface (JNI) to facilitate code and interaction between Java and C/C++. This tool was created for users who either have existing C/C++ libraries or plan to use libraries only available in C/C++. Android Studio has a specific build and compilation process catered specifically for NDK Applications that we will explain and cover in this Module. Once we have a better understanding of the NDK, we will create a straightforward “Hello World!” application.

WEEK 9
CALIT2 Bird Application
Who doesn’t love a good game to pass time? In this Module, we will create a more advanced and interactive Android Application / Game! We will be creating our version of FlappyBird--CalliBird or Calit2Bird, as we like to call it. We will cover the basics of the game by defining certain parameters. First, we have what we call our “Actors”. You can think of “Actors” as any part of the game that appears on the screen (the obstacles and the bird). In the game, we also define our own Location system and a Map class that will handle the different movements in the game. Next we define our game processor which is the backbone of the game. Game Processor ensures your score is constantly updated, delegates the movements to the Map class, and detects collisions, to name a few. Lastly, we will cover the importance of interfaces and its application to this Android App. Interfaces will enable us to 1. play CalliBird / Calit2Bird using any form of input we want (using touch, a sensor, a controller, etc.) and 2. render the game in any display we have (a screen, an led block, etc.). There is a lot of freedom with this game so you will be able to spice it up and make it your own!

WEEK 10
Monitoring your DragonBoard™ 410c
Congratulations! You’ve made it to the last module of Course 2! In this Module we will cover a more advanced NDK Application. This application is a bit more challenging than prior applications because it is coded in both Java and C. Regardless of the rigour, we know you’ll be able to accomplish this feat! As for the application, we will be turning our DragonBoard™ 410c into a web server! This web server will detail information regarding the DragonBoard™ 410c’s connectivity, GPIOs, and any other statuses you may want to add. We will pull the information from the DragonBoard™ and encode it in a JSON format using Java, then use C to establish a server connection and send the data out. We will walk you through our code and thought processes so that you can gain a better understanding of how to use the NDK to run Android Applications as well as a taste of what the Internet of Things is all about.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Business Considerations for 5G with Edge, IoT, and AI (Coursera) Coursera
EDUCBA

Business Considerations for 5G with Edge, IoT, and AI (Coursera)

By completing this course, learners will be equipped with the knowledge and skills necessary to navigate the complex landscape of 5G technology and its intersection with edge computing, IoT, and AI. They will gain a comprehensive understanding of how these technologies converge to drive business innovation and success in the digital age. Real-world case studies and practical insights will enable participants to apply their learning directly to their organizations, fostering a competitive advantage in the rapidly evolving marketplace.

Nov 16th 2026
2 Weeks
Games, Sensors and Media (Coursera) Coursera
University of California, Irvine

Games, Sensors and Media (Coursera)

You will learn to make fluid digital interactive experiences that are suitable for gaming and use the advanced sensor hardware built into the iPhone and iPad. This includes drawing 2D graphics, playing sounds and music, integrating with Game Center, the iOS physics engine and detecting device orientation and location.

Nov 23rd 2026
4 Weeks
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Nov 9th 2026
5-12 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Nov 23rd 2026
4 Weeks
Energy Management for IoT Devices (Coursera) Coursera
Starweaver

Energy Management for IoT Devices (Coursera)

Energy Management for IoT Devices is a comprehensive course designed to introduce participants to the integration of energy management techniques within IoT systems. Through a blend of theoretical insights and practical applications, the course equips current and aspiring professionals with a deep understanding of the pivotal role energy management plays in the IoT landscape. Over 4.0 hours, participants will explore various thematic aspects of energy management in IoT, emphasizing real-world applications and skill-building exercises.

Nov 23rd 2026
4 Weeks
Architecting Smart IoT Devices (Coursera) Coursera
EIT Digital

Architecting Smart IoT Devices (Coursera)

This course will teach you how to develop an embedded systems device. In order to reduce the time to market, many pre-made hardware and software components are available today. You'll discover all the available hardware and software components, such as processor families, operating systems, boards and networks. You'll also learn how to actually use and integrate these components.

Nov 16th 2026
5-12 Weeks
Competencias digitales. Conceptos y herramientas básicas (Coursera) Coursera
Universitat Autònoma de Barcelona

Competencias digitales. Conceptos y herramientas básicas (Coursera)

Los continuos cambios tecnológicos, sobre todo en aquellos aspectos vinculados a las tecnologías de la información y la comunicación (TIC) hacen que las personas tengan la necesidad de actualizarse de forma continua para que sus conocimientos no queden obsoletos. En este contexto, para las empresas se convierte en algo imprescindible disponer de profesionales que tengan las competencias necesarias para ejercer con éxito las actividades que requieren en su lugar de trabajo.

Nov 23rd 2026
4 Weeks
Interfacing with the Arduino (Coursera) Coursera
University of California, Irvine

Interfacing with the Arduino (Coursera)

Arduino senses the environment by receiving inputs from add-on devices such as sensors, and can control the world around it by adjusting lights, motors, and other actuators. In this class you will learn how and when to use the different types of sensors and how to connect them to the Arduino. Since the external world uses continuous or analog signals and the hardware is digital you will learn how these signals are converted back-and-forth and how this must be considered as you program your device. You'll also learn about the use of Arduino-specific shields and the shields software libraries to interface with the real world.

Nov 9th 2026
4 Weeks
Securing Digital Democracy (Coursera) Coursera
University of Michigan

Securing Digital Democracy (Coursera)

In this course, you'll learn what every citizen should know about the security risks--and future potential — of electronic voting and Internet voting. We'll take a look at the past, present, and future of election technologies and explore the various spaces intersected by voting, including computer security, human factors, public policy, and more.

Nov 16th 2026
5-12 Weeks
Software Architecture for the Internet of Things (Coursera) Coursera
EIT Digital

Software Architecture for the Internet of Things (Coursera)

This course will teach you how to design futureproof systems that meet the requirements of IoT systems: systems that are secure, interoperable, modifiable and scalable. Moreover, you'll learn to apply best-in-class software architecture methods to help you design complex IoT and other applications. Lastly, you'll come to understand the business impact of the technical decisions that you make as an IoT system architect.

Nov 23rd 2026
5-12 Weeks