Intel® Joule™, Intel’s highest-performing system-on-module, packs powerful compute capabilities in a thumb-sized, low-power package. The Intel® Joule™ 550x/570x developer kit enables developers to rapidly prototype all manner of autonomous robots and IoT applications requiring computer vision or edge processing.
Flashing the image
Before you begin flashing, you will need the following items in addition to your Joule board:
- Micro-USB cable
- USB-C cable
- 12V 3A power adapter
- Micro-HDMI cable
- MicroSD card reader
- USB keyboard (optional)
Step 1: Install Fastboot
If this is your first time installing Android Things on the Joule, you need to upgrade the BIOS and bootloader to be Fastboot capable. Follow the Intel Getting Started Guide to perform the required one-time setup steps on your board.
Step 2: Connect the Hardware
Connect the board to your host computer as shown below:
- Connect a 12V adapter to the power input connector.
- Connect a USB-C cable from your host computer for USB OTG.
- Connect a Micro-HDMI cable to an external display.
- Optionally, connect a USB keyboard for BIOS setup.
Step 3: Flash Android Things
Once you have loaded the proper bootloader on your device, use the following steps to flash the Android image:
Navigate to the Android SDK location on your computer; the path can be found in the system settings for Android Studio. Verify that the
fastbootbinary is installed in the
After you have the fastboot tool, add it to your
PATHenvironment variable. This command should be similar to the following:
Open a command line terminal and navigate to the unzipped image directory.
Verify that the device has booted into Fastboot mode by executing the following command:
$ fastboot devices 1b2f21d4e1fe0129 fastboot
flash-all.shscript. This script installs the necessary bootloader, baseband firmware(s), and operating system. (On Windows systems, use
To verify that Android is running on the device, discover it using the adb tool:
$ adb wait-for-device ... $ adb devices List of devices attached 1b2f21d4e1fe0129 device
After flashing your board, it is strongly recommended to connect it to the internet. This allows your device to deliver crash reports and receive updates.
Before connecting your board to a Wi-Fi network, ensure the provided antennas are attached to the u.FL Wi-Fi connectors on your board as shown:
To connect your board to Wi-Fi, first access a shell prompt on the device. You can use either of the following methods:
- Open a shell
over adb with the
- Connect to the serial console.
Once you can access a shell prompt, follow these steps:
Send an intent to the Wi-Fi service that includes the SSID of your local network. Your board must support the network protocol and frequency band of the wireless network in order to establish a connection.
$ am startservice \ -n com.google.wifisetup/.WifiSetupService \ -a WifiSetupService.Connect
The following arguments are supported with this command:
-e ssid network_ssid
Connect to the wireless network SSID specified by network_ssid. This argument is required.
-e passphrase network_pass
Optional argument to use the passcode specified by network_pass to connect to the network SSID. This argument is not necessary if your network doesn't require a passcode.
-e passphrase64 encoded_pass
Optional argument used in place of
passphrasefor passcodes with special characters (
space, !, ", $, &, ', (, ), ;, <, >, `, or |). Use base64 encoding to specify the value for encoded_pass.
--ez hidden true
Optional argument to indicate that the SSID specified in this command is hidden. If omitted, this value defaults to false.
Verify that the connection was successful through
$ logcat -d | grep Wifi ... V WifiWatcher: Network state changed to CONNECTED V WifiWatcher: SSID changed: ... I WifiConfigurator: Successfully connected to ...
Test that you can access a remote IP address:
$ ping 220.127.116.11 PING 18.104.22.168 (22.214.171.124) 56(84) bytes of data. 64 bytes from 126.96.36.199: icmp_seq=1 ttl=57 time=6.67 ms 64 bytes from 188.8.131.52: icmp_seq=2 ttl=57 time=55.5 ms 64 bytes from 184.108.40.206: icmp_seq=3 ttl=57 time=23.0 ms 64 bytes from 220.127.116.11: icmp_seq=4 ttl=57 time=245 ms
Check that the date and time are set correctly on the device:
If you want to clear all of the saved networks on the board:
$ am startservice \ -n com.google.wifisetup/.WifiSetupService \ -a WifiSetupService.Reset
Serial debug console
The serial console is a helpful tool for debugging your board and reviewing
system log information. The console is the default output location for kernel
log messages (i.e.
dmesg), and it also provides access to a full shell prompt
that you can use to access commands such as logcat.
This is helpful if you are unable to access ADB on your board through other
means and have not yet enabled a network connection.
To access the serial console, connect a micro USB cable to the board as shown below.
Open a connection to the USB serial device on your development computer using a terminal program, such as PuTTY (Windows), Serial (Mac OS), or Minicom (Linux). The serial port parameters for the console are as follows:
- Baud Rate: 115200
- Data Bits: 8
- Parity: None
- Stop Bits: 1