> For the complete documentation index, see [llms.txt](https://dev.solid-run.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.solid-run.com/nxp/imx6/sbc-platform/hummingboard-imx6-sbc-quick-start-guide/hummingboard-pro-quick-start-guide.md).

# HummingBoard Pro Quick Start Guide

![](/files/cXny2zrwqtgG4vinkprL)

## Revision and Notes

| **Date**    | **Owner** | **Revision** | **Notes**       |
| ----------- | --------- | ------------ | --------------- |
| 14 Nov 2021 |           | 1.0          | Initial release |

## Introduction

The following quick start guide provides background information about the [HummingBoard Pro](https://www.solid-run.com/embedded-industrial-iot/nxp-i-mx6-family/hummingboard/#pro) product which use the i.MX6 System on module.

The guide will give a technical overview about the product and by the end of it you should be able to boot an operating system and begin testing your application.

## Hardware Setup

#### Product Specifications

|                      |                                       |
| -------------------- | ------------------------------------- |
| **SOM Model**        | NXP i.MX6 based Solo to Quad Core SOM |
| **Memory & Storage** | Up to 2GB DDR3\*                      |
|                      | uSD, mSATA\*\*                        |
| **Connectivity**     | 1xRJ-45\*\*\*                         |
|                      | 2xHost USB 2.0                        |
|                      | 2xHeader USB 2.0                      |
|                      | Mini-PCIe- half size                  |
| **Media**            | HDMI-Out                              |
|                      | LVDS                                  |
|                      | SPDIF                                 |
|                      | Analog Audio                          |
|                      | MIPI- CSI-2 Camera                    |
| **I/O**              | Reset Button                          |
|                      | 26 pins GPIO Header                   |
|                      | RTC                                   |
|                      | IR                                    |
| **OS Support**       | Linux                                 |
| **Dimensions**       | 85mmx56mm                             |
| **Power**            | 5V, uUSB                              |
| **Environment**      | No enclosure                          |

{% hint style="info" %}
Supported with i.MX6 SOM. For more detailed information about our SOM-i.MX6 series please visit this user manual : [i.MX6 SOM Hardware User Manual](/nxp/imx6/com-som/imx6-som-hardware-user-manual.md).
{% endhint %}

{% hint style="info" %}
**Please Note** (\*) RAM type and speed dependent on SOM\
(\*\*) Supported with SOM i.MX6 Dual and above\
(\*\*\*) 1000 Mbps link is limited to 470Mbps actual bandwidth due to internal chip buses
{% endhint %}

#### **Block Diagram**

The following figure describes the Hummingboard Pro Block Diagram.

![](/files/5qrddgnh0y2N0F9T8OBn)

#### Visual features overview

Please see below the features overview of the connector side of the HummingBoard Pro.

![](/files/hR4bioa4qXngUqTUFYVj)

Print side connector overview of the HummingBoard Pro

![](/files/OHXj1qu85pLAS0ENpvDm)

## Software Setup

#### Cable setup and prerequisites

Here is what you will need to power up the board:

* Linux or Windows PC
* HummingBoard Base/Pro with SOM
* 5V mirco USB power adapter
* USB to UART cable
* IP router or IP switch

## Booting form an SD card

**1. Downloading the Yocto image**

Download the Yocto image by running the following command on your Linux/Windows PC:

```
wget https://solid-run-images.sos-de-fra-1.exo.io/IMX6/meta-solidrun-arm-imx6/2024-07-05_ab67695/core-image-weston-sdk-imx6qdlcubox.wic.gz
```

* For more Yocto releases, please visit [Yocto Release](https://solid-run-images.sos-de-fra-1.exo.io/IMX6/meta-solidrun-arm-imx6/).

**2. Writing the image to the SD card**

Use the following commands for writing the image to an SD card:

```
gzip -dc core-image-weston-sdk-imx6qdlcubox.wic.gz | dd of=/dev/sdX bs=4M conv=fsync
```

* For more information, please visit [Flashing an SD Card](/other-articles/flashing-an-sd-card.md) .

{% hint style="info" %}
Note: Plug a micro SD into your Linux PC, the following assumes that the micro SD is added as /dev/sdX and all it’s partitions are unmounted.
{% endhint %}

**3. SD card insertion**

Please Insert the SD card into your device.

**4. Power connection**

Connect your power adaptor to the DC jack, and then connect the adaptor to mains supply.

**5. Serial connection**

Please connect the UART cable to your device pins, then you can refer to [Serial Connection](/other-articles/serial-connection.md) for installing necessary serial connection software in Linux/Windows.

Once you installed the necessary serial connection software, you should be able to see the following:

![](/files/HCnKay5yrv1chZCVZO4X)

* In order to be able to log in , please insert “Yocto” as a username and password as follows:

![](/files/DqQFIJyjGw9ycMja4cL8)

## Install to eMMC

* You can follow this document [Install to eMMC](https://github.com/SolidRun/documentation/blob/bsp/imx6/debian-11_sr1.md#install-to-emmc) to install Yocto to an eMMC device.

## More Features

#### Internet

* Please check you Ethernet connection.
* Use the following commands in order to keep your system up-to-date:

```
apt-get update 
apt-get upgrade 
reboot
```

* For more detailed information, please refer to [i.MX6 Debian](/nxp/imx6/sbc-platform/imx6-software/imx6-debian.md) .

**Wi-fi**

* You can connect to WiFi using any application, such as : [connmanctl](https://manpages.debian.org/testing/connman/connmanctl.1.en.html) or [wpa\_spplicant](https://wiki.archlinux.org/title/wpa_supplicant).

An example for connecting to WiFi using wpa\_supplicant:

1\. To bring a WiFi interface up, run the following :

```
ifconfig wlan0 up 
```

{% hint style="info" %}
To discover your wireless network interface name, see [Network Interfaces](https://wiki.archlinux.org/title/Network_configuration#network_interfaces).
{% endhint %}

2\. Install the wpa\_supplicant package:

```
apt-get install wpasupplicant 
```

3\. Edit network interfaces file :

At the bottom of the file, add the following lines to allow wlan as a network connection:

```
cat <<EOF > /etc/network/interfaces.d/wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

EOF
```

4\. Create a configuration file with the relevant ssid:

```
cat <<EOF > /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/run/wpa_supplicant
update_config=1

network={
    ssid="MYSSID"
    psk="passphrase" 
}

EOF
```

{% hint style="info" %}
Check your personal ssids by running : ‘iw dev wlan0 scan’
{% endhint %}

5\. Make sure it works:

Restart your device and it should connect to the wireless network. If it doesn't, repeat above steps or get help from an adult.

* For more information about using wpa\_supplicant , you can refer to [wpa\_supplicant](https://www.linuxbabe.com/command-line/ubuntu-server-16-04-wifi-wpa-supplicant) or [wpa\_supplicant](https://blog.nelhage.com/2008/08/using-wpa_supplicant-on-debianubuntu/).

#### Bluetooth

1\. For showing all Bluetooth devices, run the following:

```
apt-get install bluez
hciconfig -a
```

2\. Choose a device, and turn it on:

```
 hciconfig hci0 up
```

3\. Set up the Bluetooth name:

```
hciconfig hci0 name 'SolidRun_Ble'
```

4\. Make your Bluetooth detectable by other devices:

```
hciconfig hci0 piscan
```

5\. If you want to connect to other devices:

* Start by scanning for other Bluetooth devices:

```
hcitool scan
```

* Choose a MAC address and connect :

```
rfcomm connect 0  $MAC 10 & 
```

* You can check the communication between the devices by writing :

```
l2ping -c 4  $MAC
```

#### GPIO pins Control

In order to be able to control the GPIO pins, please refer to [HummingBoard Pro/Base GPIOs](/nxp/imx6/sbc-platform/imx6-other-articles/hummingboard-pro-base-gpios.md) .

### Serial UART port access

![](/files/xY15V3cvYFYfblO08hwY)

The UART port for debug can be accessed on the 26 pin header as follows –

Pin 6/9/14/20/25 GND\
Pin 1 3.3V\
Pin 8 buffered i.MX6 UART TX – pulled up to 3.3v\
Pin 10 buffered i.MX6 UART RX – pulled up to 3.3v

{% hint style="info" %}
Notice that the pin number starts as pin #1 on the edge of the board, then number #2 is the one towards the corner of the board.
{% endhint %}

#### Install GUI Support

{% hint style="info" %}
Note that HDMI doesn’t display anything by default.
{% endhint %}

**Wayland**

1\. Install weston :

```
  sudo apt install weston
```

* Connect your HDMI cable and you should be able to see the following :

![](/files/bxsxaASX9jB73NiQOOaa)

{% hint style="info" %}
By default one application is available, the terminal emulator, at the upper left corner.
{% endhint %}

2\. Start weston FROM A PHYSICAL TERMINAL (from the above terminal, not remote or serial session):

```
  weston-launch -- --backend=drm-backend.so
```

{% hint style="warning" %}
Make sure to run the above without sudo.
{% endhint %}

This will bring up the following:

![](/files/xOM1Vy9SC77JshFHlS4s)

* For more applications, you can refer to [GUI Support](https://github.com/SolidRun/documentation/blob/bsp/imx6/debian-11_sr1.md#wayland) to install X11, OpenGL-ES, GStreamer, or you can follow this page [Gnome](https://linuxhint.com/install_gnome_debian_10_minimal_server/) for installing Gnome desktop.

## List Of Supported OS

| **OS**                           |                                                                           |
| -------------------------------- | ------------------------------------------------------------------------- |
| ![](/files/ImHWJmfF4P3oYZioMt5Z) | [i.MX6 Debian](/nxp/imx6/sbc-platform/imx6-software/imx6-debian.md)       |
| ![](/files/PlmAE45Q3UFzqgv7QbHP) | [Yocto for i.MX6](/nxp/imx6/sbc-platform/imx6-software/yocto-for-imx6.md) |
| ![](/files/CUpsNww3adW1lzSeRXKx) | [i.MX6 Archlinux](/nxp/imx6/sbc-platform/imx6-software/imx6-archlinux.md) |
| ![](/files/3pwnkPlp8csOeE9v26zS) | [XBian for i.MX6](/nxp/imx6/sbc-platform/imx6-software/xbian-for-imx6.md) |

## Build U-Boot & Kernel from sources

* Build a Linux kernel - [i.MX6 Kernel](/nxp/imx6/sbc-platform/imx6-software/imx6-kernel.md)
* Build a U-Boot - [i.MX6 U-Boot](/nxp/imx6/sbc-platform/imx6-software/imx6-u-boot.md)

## Documentation

{% file src="/files/9b3fQfrcf6cXwuUQd9rv" %}

{% file src="/files/KRV0xsr8RhuDqHoVQgcp" %}

{% file src="/files/bRsqQMmkQ5XxuAJWTI5M" %}

{% file src="/files/yUsPl2IfGqswiU2QAaDG" %}

{% file src="/files/JmSpc3Fb4u39siUcaG0M" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://dev.solid-run.com/nxp/imx6/sbc-platform/hummingboard-imx6-sbc-quick-start-guide/hummingboard-pro-quick-start-guide.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
