At the university we have several projects with internet connectivity running. Yes, there is a hype around IoT, and in my view many false perceptions around this what it could or should be. Anyway, for these projects in many cases the Raspberry Pi boards are used, and I use a model B board of the Raspy too. I’m very happy with the Raspy, but I wanted to explore different options, so I ordered a RIoT board two weeks ago. When I looked at it the first time, I was thinking that this board could be a better (although larger) board than the Raspberry Pi one: more USB, more GPIO, micro-SD card, more processing power:
Well, then this week the new Raspberry Pi B+ came out: more USB, more GPIO, but same processing power as the standard B model.
So what is that RIoT board? It is a board capable running Linux or Android, with a Freescale i.MX 6Solo processor (ARM A9 with 1 GHz clock frequency), with 1 GB DDR3 RAM and 4 GB on-board FLASH. So compared to a Raspberry Pi (model B), this is a lot more horsepower. The board comes with 4 USB connectors, Ethernet and USB, while one USB is for debugging (interestingly with OpenSDA, but I was not able to make it work, and I saw other posts that it is not supported yet). While there is a lot of stuff on that board, the price (~CHF 85) is higher than the price for Raspberry (~CHF 30) or BeagleBone Black (~CHF 65). As well the board size is much larger (see this post).
I don’t write a detailed tutorial in this post, as there are several good sources already available. Instead, I point to these other tutorials, and add my experience and comments.
The board came in a small card box, with a small note card pointing to www.riotboard.org. This site is supposed to host manuals, data sheets, and so on. However, that page more looked like an entry portal to element14 pages which was confusing. I expected that the .org site would host all the information, but indeed it is all element14? Beside of the board there is a mini-USB cable included. But no power supply and no HDMI cable to connect to a monitor. Reading the quick start guide mentions a 5V power supply needed with 4 Amps (yikes!). Well, it turned out that a 1.5 Amps does it to. I guess that 4 Amps is with lots of stuff attached to the board (USB, Ethernet, camera, …). Anyway, I collected a power supply, a HDMI cable plus a HDMI screen, a mouse to get things started.
The element14 site hosts several posts and tutorials. I recommend to start with this one: http://www.element14.com/community/community/designcenter/single-board-computers/riotboard//blog/2014/01/24/publishing-my-first-android-app-on-riotboard
This goes through connecting the board and getting Android to show up on the monitor. Here I had the first problem: my monitor did not show anything! There is only a tiny LED on the board, nothing blinking, so I thought first my board does not work or I did something wrong. In despair I tried another (smaller) monitor, and voilà, this worked, and the Android startup screen showed up:
Ok, the date/time was wrong, and the board asked to “Connect your charger” (????). Anyway, it was doing something :-).
In that tutorial I followed to download and install the Android SDK. I did *not* downgrade my Java version (I have 1.7.0_60 on my Windows 7 64-bit machine). Best of the Android SDK: it is all Eclipse, and I love that :-).
The next part is about making the first steps with the Android SDK and installing the needed packages: http://www.element14.com/community/community/designcenter/single-board-computers/riotboard//blog/2014/02/08/part-2-writing-an-android-app
💡 To use the board for application writing and debugging over USB, it needs to be in ‘developer mode’. How to get there is not described in above tutorial: You have to tap seven times on the build number (see http://www.androidcentral.com/how-enable-developer-settings-android-42).
After fixing the developer mode, the board still did not show up properly in my Eclipse and Windows 7 64-bit. The Windows device manager showed the board, but has not installed the drivers:
Some clues are discussed in http://www.element14.com/community/thread/31859/l/riotboard-usb-driver-for-windows-eclipse. The point is that the Google ATD drivers need to be downloaded with the package manager:
But it still might be (at least for my machine) that they are not installed. So I needed to manually install them. Make sure you have in the Android Package manager the Google USB Drivers downloaded:
Then go to the Windows device manager, and update the drivers for the RIoT board:
Then (important!) use the ‘Browse my computer for driver software:
Browse to the installation files downloaded before with the package manager. For me this is
Your path might be similar, check where you have the Android SDK downloaded.
Then confirm to install drivers:
Finally, the drivers are installed:
Now, the drivers are installed and it looks good in the Windows Device Manager:
In the Android settings, make sure USB debugging is enabled:
Restarting Eclipse, and with this the device shows up:
With this, I’m ready to develop an Android application for that board :-).
While the RIoT Board is advertised as ‘IoT’ (Internet of Things) board (Slogan: “Revolutionizing the Internet of Things”), it is not more ‘IoT’ than any other board with Ethernet connectivity. While it has a lot of CPU power, it does not come anything I would expect for a real IoT board: there is no WiFi, no Bluetooth, no BLE or any other transceiver. No interface (apart of the pin header) which would let it interface to the real time (RTOS) world. And the board should be much smaller so I could it put into a small enclosure, at least the size of the new Raspy B+. Apart of that, it is a very solid (although rather expensive) board. I like the easy way of getting Android running on it. And as I wanted to learn more about using Android, this let me feel that with this board I can explore more of that world.
So what’s next? I want to write an application for Android and the board, and there is already a tutorial I want to follow here. I want to add serial connection, a camera, I want to add WiFi, and I want to interface with any of the FRDM boards. Might take a while, but I feel that could be an interesting journey 🙂
Happy RIoTing 🙂