Getting Started with Qualcomm Dragonboard 410c

DragonBoard-UpdatedImages

INTRODUCTION TO QUALCOMM DRAGONBOARD 410c:

The Dragonboard 410c is a powerful embedded hardware suitable for processor extensive applications. Following are specifications of DragonBoard 410c given on https://developer.qualcomm.com/hardware/dragonboard-410c :

  • OS Support: Android 5.1 (Lollipop) on Linux Kernel 3.10, Linux based on Debian 8.0, and Windows 10 IoT Core
  • CPU: Quad-core ARM® Cortex® A53 at up to 1.2 GHz per core with both 32-bit and 64-bit support
  • Memory/storages: 1GB LPDDR3 533MHz / 8GB eMMC 4.5 / SD 3.0 (UHS-I)
  • Graphics: Qualcomm Adreno 306 GPU with support for advanced APIs, including OpenGL ES 3.0, OpenCL, DirectX, and content security
  • Video: 1080p@30fps HD video playback and capture with H.264 (AVC), and 720p playback with H.265 (HEVC)
  • Camera Support: Integrated ISP with support for image sensors up to 13MP
  • Connectivity and Location: 
    • Wi-Fi 802.11 b/g/n 2.4GHz, integrated digital core
    • Bluetooth 4.1, integrated digital core
    • Qualcomm® IZat™ location technology Gen8C
    • On-board Wi-Fi, BT and GPS antenna
  • I/O Interfaces: HDMI Full-size Type A connector, one micro USB (device mode only), two USB 2.0 (host mode only), micro SD card slot
    • Note: Micro USB (device mode) and USB 2.0 (host mode) are mutually exclusive and cannot be operated at the same time
  • Expansion:
    • One 40-pin low speed expansion connector: UART, SPI, I2S, I2C x2, GPIO x12, DC power
    • One 60-pin high speed expansion connector: 4L MIPI-DSI, USB, I2C x2, 2L+4L MIPI-CSI
    • Footprint for one optional 16-pin analog expansion connector for stereo headset/line-out, speaker and analog line-in.
    • The board can be made compatible with Arduino using an add-on mezzanine board

Getting Started with Dragonboard 410c tutorial series will cover following topics:

  1. Controlling your Dragonboard 410c using wifi: This topic will kickstart your project with Dragonboard 410c. It will cover:
    1. Installing Linaro debian OS into Dragonboard 410c.
    2. Accessing your Dragonboard 410c using ssh.
    3. Accessing your Dragonboard 410c using VNCserver.
    4. Possible Errors
  2. GPIO control with dragonboard 410c: This topic will cover:
    1. LED control
    2. Servo Control
    3. Possible errors
  3. Mounting external storage to use it to build and install big programs like Opencv-3.1.0
  4. Computer Vision with DragonBoard 410c: This topic will cover:
    1. Installing Opencv-3.1.0 in dragonboard 410c using external storage.
    2. Face-detection and tracking..
    3. Object Detection and tracking.
    4. Object Detection and tracking with Pan/Tilt servo motors.
    5. Possible errors.
  5. Drone-control with Computer Vision using Dragonboard 410c: This topic will cover:
    1. Mavlink Communication with Dragonboard 410c.
    2. Drone Control in simulation.
    3. Autonomous Onboard Drone Control with Computer VIsion in Simulation.
    4. Possible Errors.

LETS GET STARTED 

  1. Controlling your Dragonboard 410c using wifi: 
    1. Installing Linaro debian OS.

We will be using linaro debian as our operating system due to ease of programming offered by debian linux kernal. As mentioned in the specs, there is one 8gb emmc storage unit onboard with dragonboard 410c and we want our operating system to go into that storage so that it automatically boots the OS from there.

Follow the procedure given on the following link to install an OS:

https://github.com/96boards/documentation/wiki/Dragonboard-410c-Installation-Guide-for-Linux-and-Android#installing-image-using-an-sd-card-image

Following is the procedure:

Installing Image using an SD Card Image

This section builds the SD Card image for the DB410c. The steps in this section are executed entirely from the host PC. It is assumed that the developer is using a Linux development host.

Two SD installation images are released at Linaro, one for each of the following OS’s: Android and Debian.

The steps to create the SD Card Image are as follows:

Step 1: Place a microSD Card into the Host PC

The microSD Card must be a minimum of 4 GB and will be erased, so make sure no valuable files you wish to retain are on the microSD Card.

Step 2: Download desired SD Card Image

Click on the link below to begin download of the latest SD-Card install image:

Step 3: Unzip the downloaded install file

Note the directory that the install file was extracted to, as this will be required in the next step. There are multiple tools to unzip and extract these archives. In this workflow, “Archive Manager,” available by default in Ubuntu/Debian Desktop, was used.

Step 4: Write the SD image onto an SD card Note: You can do this on Linux, or on Windows.

Linux instructions

The SD card does not need to be formatted in any special way since this procedure will write the entire image, including the partition table.

From the command prompt on the host PC, enter the following sequence of commands:

Where:

  • YYY can be android or debian
  • where XXX is the device name

Warning: Executing the sync flag command as outlined above is very important! Do not skip this step!

Warning: Be very careful not to overwrite your hard drive! In most cases, XXX will be mmcblk0 or sdb. This can be found by using the following sequence:

  1. Make sure the SD Card is not in the host PC
  2. From the host PC terminal command line, run the following command:
  1. Note the listed blocks such as sda, sdb, etc.
  2. Insert the SD Card into the host PC
  3. From the host PC terminal command line, run the following command:
  1. There will be a new device in the list, this will be your SD Card identity (XXX). It also has a size parameter that should match the size of the SD Card.

Windows instructions

  1. Download the Win32DiskImager tool
  2. Open the tool, and click the folder icon to select the appropriate img

  1. Attach your micro SD card (through a USB SD card-reader, if necessary).
  2. Select “write.” There may be a warning about corrupting the device. Click “Yes” to proceed.
  3. It should show the following image upon successful completion:

Flashing the SD Card Image to the DB410c

Once the image is written on the SD Card per the previous section, perform the following steps to flash the image into the eMMC memory on the DragonBoard™ 410c:

  • remove the microSD card from the host PC
  • remove the power connector from the DB410c and insert the micro SD card into the DB410c
  • set the S6 switch on the DB410c to: 0-1-0-0 {SD Boot switch set to “ON”}dipswitch
  • Currently it is set to 0-0-0-0 , Set it to 0-1-0-0.
  • plug a USB keyboard and/or mouse into either of the two USB connectors on the DB410c Note: If no mouse is used, the keys in the parenthesis on the installer screen can be used to initiate install commands. For example “Install(i)” would be the “i” key on the keyboard. Arrow keys may also be used during the command initiation sequences.
  • connect an HDMI monitor to the DB410c with an HDMI cable, and power on the monitor
  • connect the power cable to the DB410c

When the board powers up, it will boot into an installer similar to the figure below:

  • Select the image to install and then click on “Install” (or type “i”) and the OS will be installed into the eMMC memory on the DB410c.

After installation completes, a “Flashing has completed and OS has installed successfully….” message will appear on the HDMI monitor connected to the DB410c.

  • Remove the SD Card and click “OK” as instructed, and the DB410c will reboot into the newly installed OS

Upon completion of the above, the user will now see either an Android or an Debian Desktop, depending upon which one was installed.

Congratulations! You are now booting your newly installed OS directly from eMMC on the DragonBoard™ 410c!

You may have to change your display preferences in case the display is coming stretched: Go to Application folder, go to preferences, go to monitor settings : change the resolution.

 

Detailed Procedure to install OS is given on following links: 

https://github.com/96boards/documentation/wiki/Dragonboard-410c-Installation-Guide-for-Linux-and-Android#installing-image-using-an-sd-card-image

Dragonboard 410c Getting Started


 

 

 

 

 

 

 

 

 

B. Accessing your Dragonboard 410c using ssh.

Note: Do not detach monitor,keyboard,mouse from your dragonboard 410c yet. We need to configure the inbuilt wifi of dragonboard 410c so that next time when you switch-on DB410c, it automatically connects to your network.

This part will tell you how you can access dragonboard 410c console using ssh(secure shell from your workstation) so that you don’t require to connect monitor, keyboard, mouse everytime you want to run a code on Dragonboard 410c. Login using username: linaro  password: linaro

Configuring inbuilt wifi of DragonBoard 410c:

Open LXTerminal: It is inside application folder -> under System – tools.

  1. Scan for your wifi networks using

If you find your desire network, then go to next step:

Install nano editor using: sudo apt-get install nano.

2. Edit /etc/network/interfaces

My content is :

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
#source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

#auto eth0
#iface eth0 inet dhcp

#append the following lines
#auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

 

3.  Edit /etc/wpa_supplicant/wpa_supplicant.conf 

My content is:

network={
ssid=”yournetworkname”
psk=”yourpassword”
}

You are done. The next time you reboot your dragonboard 410c, it will automatically connect to your desired network. Also you can Edit /etc/wpa_supplicant/wpa_supplicant.conf  anytime you want to connect to some other network.

As ssh server gets started on startup in dragonboard 410c, you dont require to install ssh server on it(You can check /etc/rc.local file).

Just install ssh client on your workstation. Putty is the popular ssh client software easily available online. If you are using ubuntu-14.04 , you can use putty or you can use terminal to do the ssh from ubuntu because the ssh client software is part of the default Ubuntu installation.

ssh linaro@192.168.43.22   (linaro is the username, 192.168.43.22 is the ip address of DB410c)

It will ask for the password: Password is linaro.

 

 

2 Comments

  1. Andy from Workshopshed

    Hi Akash,
    I look forward to seeing how you interfaced your servos to the DragonBoard.
    I used a 3rd party board.
    https://www.element14.com/community/people/Workshopshed/blog/2016/06/03/dragonboard-i2c
    Cheers
    Andy

    Reply
  2. Adam

    I look forward to the VNC server tutorial, that would speed up my ROS project :3

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *