This article covers hardware that is in development.
The hardware covered in this article is liable to change in features and specification.
It does not necessarily reflect the quality or build of the final product.
I hadn't heard of the Arduino Tre until a few months ago, I suspected that it might be ARM processor based, but I had no idea as to what it would look like or how it would function (obviously I had missed some clear marketing). I had heard some comment of it coming to market later in the year of 2014.
To my surprise I spotted that it was available to buy! However, this was a Developer Edition and there's only 50 available. You get the opportunity to get hold of pre-release hardware and optionally join in with a beta to engage conversation with the Arduino developers.
Buying into a Developer Edition ? Don't companies usually pay people to do the testing for them? I did not care, I wanted to support the development and get hold of a board. Over the course of the day it surprised me to see that there were still about 20 left, I assumed that the website writ this in error and that they had actually ran out of stock. I took a gamble and went to order one anyway. I had a few confusing confirmations on the order but it finally went through that it was available and on its way!
Living in the UK, the cost of the developer's edition ran at approximately £185 including delivery, considering it was listed as €149 + VAT that feels like quite a hike. Pretty steep in comparison to other boards on the market at the moment, though granted it is a developer version! I thought that in the post I would just get the board on its own. When it finally arrived I dashed home that day and recorded this rather over exposed video thanks to the sun finally gracing its presence within the usually overcast Britain.
Much to my surprise, the parcel didn't just contain an Arduino Tre, but I was also supplied with an 802.11n WiFi adapter and a power cable and stickers (who doesn't love stickers?) along with a 5V 5A power supply.
I was a little surprised that the anti-static bag wasn't used for the Arduino Tre, but the SD Card which came with it. Apparently this was a miscommunication and will be rectified for the production version. I received the standard Arduino 6 small circular stickers, though I didn't fully understand the need to include "HACKED" on the larger circular ones - it just didn't seem to fit in with any other marketing I'd seen for Arduino.
The box and its colour scheme has kept in line with other Arduino products and it is minimalistic. Understandably there isn't much in the way of guidance on the Arduino site for the product and there's information on the box to open a web page called TreSetup.html that is either available when you connect the board to your computer or when you boot the Arduino Tre standalone while connected to a screen.
Yes! this Arduino is effectively a standalone, single board computer. That's because it is a hybrid of an (running an ATMega32u4 chip) with a (Sitara ARM Cortex-A8) on the same board, with
the addition of an audio processing chip; and to me, that is what makes it very interesting. Having come from a history of using a Sinclair Spectrum and a Commodore Amiga attached to my television, in a similar ilk to the Raspberry Pi - with
the Arduino Tre we're semi going back to that circle of possibility where you can sit in your living room with the Tre attached via HDMI to your television, use a wireless keyboard/mouse and code away. Or maybe that's just me? Probably just me.
Not long after the confirmation of dispatch of the Tre, I received an e-mail asking if I wanted to join in with the Beta feedback for the board. When I signed up, I was greeted by a resource of getting started and communications with the Arduino team. I'm thankful that I entered the beta participation for the board, because the first thing I had to do was to update the software on the SD Card.
To use the Arduino Tre you need to connect it to the mains. There are connectors on the board to connect battery power, there is also a USB port to communicate with the board, but this will only power the Leonardo portion along with the on-board read only storage that is similar to pretending to being a CD-Rom drive containing drivers and documentation.
The Arduino Tre does not have an on-board flash chip, which is helpful to an extent. It means that I don't have to spend time waiting to program the board itself and I can just replace the operating system relatively painlessly. The SD Card runs a version of Debian for ARM hard float which has repositories from Arduino added so that a simple use of the standard package manager, apt/aptitude can be used to keep the system up to date in the future. At present both SD Card images and updates are available to developers for keeping the board software maintained.
The board itself is potentially in development, too. When I received it there was an obvious fix made (and this was to each one of the 50 boards sent out) as a wire was post-production soldered into place. It's not clear to me as to why or what purpose it serves.
Once I was all up to date with the hardware, there was nothing stopping me from tinkering with it. When connected to a Windows computer it identified itself as a multitude of serial based devices, both the Sitara ARM processor and the Arduino Leonardo, the device identifies installs itself as a USB hub which then has the Sitara and Leonardo components attached to it. So it is entirely possible to communicate and upload code directly using say, the Arduino IDE to the Atmega32u4 that's on the board.
However it begins to get a little tricky there, because what you actually have should identify itself more as an Arduino YUN (which is an ATMega sat behind a Linux type environment). The ATMega32u4 communicates partly via the Sitara processor. So trying to code it directly as a Leonardo doesn't work. I'm reassured this will be clarified in time.
Regardless of trying to upload code traditionally to the Arduino Tre this is probably not how I would go ahead with working on it, more on that in a bit. There's a major part I have entirely skipped after updating the software and that is to go through the standard setup process.
On the back of the box there is reference to TreSetup.html - this is a web page file that directs to a website running via the Linux operating system on the board. Ideally it can be run from whichever operating system you have your Arduino Tre plugged into; but it can also be ran from the Debian installation on the Tre itself if it's running standalone. When the Tre is connected to your computer it sets up a virtual network interface over USB on the IP address of 192.168.7.2 - so if you already have a private network which uses this address space and that IP address in particular then you're going to have a conflict. Alternatively you can connect the ethernet cable to the Tre and use whichever IP address you allocate to it via DHCP.
At the time of writing the setup steps involve changing the name of the board; which cannot be "arduinotre" and setting a password to login with. This login is for the front-end of the website, not for accessing Debian on the Tre. The default login details for Debian on the Tre are:
User: tre Pass: tre
User: root Pass:
Root doesn't have a password set. At the moment the steps do not get to step 3 on the page, because you will have just rebooted your Tre (there are a lot of references like that at the moment and they're obviously just left in from testing).
Once logged in to the website it presents the now intended Integrated Development Environment (IDE) for the Arduino Tre. It has the usual sketch examples that the Java IDE has, plus some more which can be uploaded to the Leonardo or ran on the Sitara processor. Yes, you can code for the Sitara from the Arduino IDE and presumably the PRUSS on the chip as well; though I haven't checked that yet. As a 'hello world' the Leonardo and the Sitara have individual LEDs that you can code for to blink. The Sitara has a three colour LED(s) which you can code for as opposed to the Leonardo's singular.
The web integrated IDE for the board is definitely a step in the right direction, it has has the potential to be a better IDE than the Java one and already integrates simple functionality such as auto-completion for parenthesis and quotations. From this on-board website you can also keep the packages up to date for the operating system, monitor/check the settings for your network connections and save/load sketches to compile for the board along with running a terminal and serial monitor. More features are seemingly being added as they're identified and requested and just to re-iterate, this site doesn't have to be ran from only within the operating system of the Tre. Arguably that could be a security issue down the line by default for some people but it can be trivial to lock that down if you so choose as it is only running Debian after all.
I decided to test one of the existing Arduino motor shields and attach it to the board, it was incredibly simple and just worked with a stepper motor I had available.
Functionality of the Sitara and ATMega "sections" of the board are also independent. There is a jumper setting on the board itself that switches between the both of the boards being powered on/off at once and allowing the Leonardo to turn the Sitara processor on/off. This means that the Arduino Tre can be sat idle, monitoring or doing numerous actions with its own shields and/or XBee connectivity and then wake up the Linux counter-part and utilise the operating system and/or the additional GPIO if required.
I look forward to playing with the Tre more to see what I can do with it, and I'm interested in hearing any projects that people have in mind that could be done with the Tre.
Let me know your ideas! What would you do if you had a Tre ?