RIoTboard – Getting Started

I met Gregory from Freescale at Maker Faire Paris beginning of May after some emails going back and forth regarding another Freescale board. After having exchanged some ideas and feedback, he was kind enough to send me a RIoTboard and some accessories for evaluation purposes and has also given me access to a preview version of the new RIoTboard website due to be launched this summer.

This is my first post about the RIoTboard, more specifically on getting everything set up and ready for some projects.

What is it ?

The RIoTboard is an open source community platform, supported by element14 and powered by a Freescale i.MX6 ARM Cortex-A9 processor. The board is meant to help evaluate the various peripherals and includes:

  • photo 310/100/Gb ethernet port
  • HDMI port
  • LVDS
  • analog audio in/out
  • microSD and SD card interfaces
  • JTAG
  • two camera ports
  • four USB ports
  • two mini USB ports
  • serial debug port
  • expansion port with PWM, SPI, I2C, UART, …
  • reset button

The Freescale i.MX6 ARM Cortex-A9 processor runs at 1GHz, there is 1GB of DDR memory and 4GB eMMC. Powering the board is done through a 5V DC barrel jack connector.

The name appears to be a clever wordplay as the tag line is “Revolutionising the Internet of Things”:  revolution, IoT, riot, RIoTboard. The logo of a raised fist holding the board fits nicely in the theme.

The board is currently listed at 73EUR (before tax) on the Farnell website, which compared to a Raspberry Pi or Beaglebone Black may seem on the high side, especially since the launch of the quad core Raspberry Pi model 2 at 38EUR.

What’s in the box ?

In the box, you’ll find the following items:

  • RIoTboard
  • mini-USB cable
  • quick start guide

photo 1

Additionally, you will need following items:

  • HDMI monitor
  • USB keyboard and mouse for input, even if only for initial configuration
  • 5V/4A power supply

photo 5 photo 4

And you may need:

  • wifi dongle for wireless connectivity instead of using the ethernet port
  • (micro)SD card (4GB minimum) to use/test an alternative operating system
  • USB UART cable for troubleshooting

First boot

By default, the RIoTboard boots from the onboard flash which has Android 4.3 pre-installed.

Different OS

There are two ways to use a different operating system with the RIoTboard:

  • overwrite the pre-installed OS on the onboard flash
  • boot from a (micro)SD card containing a different OS

I personally prefer the second option (SD card), especially when starting out, for the following reason:

  • more simple procedure that can be executed on any operating system
  • preserves the onboard flash in its current state
  • is not limited to 4GB

Because of these reasons, I will only be covering the SD card approach to use a different operating system.

Operating systems

There are currently four flavours of available operating systems:

  • Android 4.3 (Jelly Bean)
  • Android 4.4 (Kit Kat)
  • Linux 3.10.17 (Yocto)
  • Linux  3.0.35 (Ubuntu)

All four come in two variants: eMMC or SD Card. Depending on where you wish to flash the OS on, you will need to download the correct image.

Which flavour you pick depends on your preference, what you are familiar with and what you intend to do with the RIoTboard. For this getting started guide, I’ll be proceeding with the Yocto Linux image.

If you want to know more about Android, check out this link to training material for developers: https://developer.android.com/training/index.html

Flashing the SD card

Flashing an image to the SD card is done in the same way as with the Raspberry Pi. So if you are familiar with that, there should be no problems.

First, extract the downloaded zip file containing the image, then using “dd” (Linux/OS X) or “Win32DiskImager” (Windows), flash the image on the SD card. The time to flash the SD card may vary depending on its speed, but I’ve experienced times around 10 minutes using the latest image. It is recommended to use an SD card of at least 4GB, preferably 8GB.

Screen Shot 2015-06-03 at 19.47.49

DIP switch settings

Once the SD card is ready, power off the RIoTboard and insert the SD card. Before powering on the board, it is required to tell it to boot from the card rather than the onboard flash. This is done using the DIP switch in the middle of the board.

These are the settings:

  • boot from onboard flash: 10110111
  • boot from SD card: 10100101

Booting

With the SD card inserted and the DIP switch settings adapted, all that remains is to power on the RIoTboard.

Wireless connectivity

As far as I’m aware, there are currently two officially supported wifi dongles:

  • Wi-Pi wifi dongle
  • element14 wifi dongle (purple)

Both can be obtained from element14 and are compatible with other boards such as the Raspberry Pi or Beaglebone Black.

photo (11)

Android

Wireless connectivity works out-of-the-box using the Android 4.4 image (not with 4.3!).

Linux

Using the Yocto image, I was having trouble getting the wifi to work. The wifi dongle was listed using the “lsusb” command, but no “wlan0” interface was available.

Screen+Shot+2015-05-22+at+18.20.48

After seeking help on the element14 forums in the RIoTboard area, I was given a newer Yocto image (riotboard_yocto_gui_SVN3000) with which wifi worked immediately, just like with the Android 4.4 image. I’ve been told this newer image will be officially released soon and the issue was related to kernel gadget support not being configured in the previous build.

The new image I received is also more lightweight (1.4GB vs 3.9GB) and boots straight to a graphical environment.

Screen Shot 2015-06-03 at 22.07.02 Screen Shot 2015-06-03 at 22.04.46

Screen Shot 2015-06-03 at 22.05.33 Screen Shot 2015-06-03 at 22.06.10

Connecting remotely

SSH

SSH is enabled by default. One thing to pay attention to though, is that no password is configured for the “root” user, making the system open for anyone.

A password is easily configured using the “passwd” command.

Next time you try to log in via SSH, you will be prompted for the password.

VNC

Using VNC, it is possible to access the desktop remotely.

First the VNC server needs to be started. This can be done via SSH with the following command:

Once this is executed, connect to the desktop using a VNC client and IP address of the RIoTboard and port 5900.

Screen Shot 2015-06-04 at 21.22.35 Screen Shot 2015-06-04 at 21.21.43

Just like with SSH, there is no password configured by default. This can easily be changed.

Running VNC with an additional “-usepw” flag will ensure the defined password is required when connecting.

Screen Shot 2015-06-04 at 21.40.47

Additional resources

This is a list of useful links to tutorials or additional information on the RIoTboard.

Conclusion

Aside from the issues with the wifi using the Linux image, setting up the RIoTboard is fairly easy. If you already have experience with other SBCs such as the Raspberry Pi or Beaglebone Black, there is not much new to know to get started.

In a next post, I’ll be working on a first project using the RIoTboard, continuing with the Yocto Linux OS.

2 thoughts on “RIoTboard – Getting Started”

  1. Nice board. Kheb hier op het werk een Wandboard liggen wat een vrij gelijkaardig bordje lijkt op het eerste zicht (is deze quadcore?) maar kostte wel +- 200 euro. Dit is dus koopje lijkt me :-).

    Wat voor mij een nadeel was vs de Raspberry 2 is dat het een pak complexer is om HW-accelerated encoding en decoding aan de praat te krijgen…
    Maar dat weegt niet op tegen de ongelooflijke snelheid tov de R2.

    1. Is een single core, dus kan niet echt op tegen een Pi2. Gisteren iets anders tegengekomen: OrangePi (http://www.orangepi.org/)

      Quad core 1.6GHz met 1GB RAM, 8GB onboard flash, onboard wifi, etc … voor iets van 55USD. Compatibel met populaire Linux distros en RPi image.

Leave a Reply

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