element14 tinyTILE Intel® Curie™ Based Board - Review

Table of contents

RoadTest: element14 tinyTILE Intel® Curie™ Based Board

Author: shwetankv007

Creation date:

Evaluation Type: Independent Products

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: texas cc2650 launchpad with its own pros and cons, arduino nano for the basic projects.

What were the biggest problems encountered?: the board upload error of timed out genuino is a pain however it gets resolved after a couple of resets which again boots the core of intel powered board.

Detailed Review:


The Intel powered tiny tile houses a dual core processor (Intel Quark processor core and ARC* core). The module has footprints similar to the Arduino nano board and is essentially a small-form-factor of the Arduino/Genuino 101* variants. There is a master reset button, but no software (sketch) reset button as in case of the original Arduino genuino 101 that comprised of two reset switches.

In order to reduce the size several parts are removed:-

  • 6 pin ISP header.
  • On board LED, there is only one onboard LED that shows the power on/off state of the device however the BUILT_IN_LED is absent in the tiny tile module.
  • The barrel jack connector is also not present so we can power the board from USB micro port and the Vin pin which accepts 3.8-15Vdc.
  • The tiny tile is strictly 3v3 input and can be damaged when used with voltages more than suggested since it lacks the overvoltage protection hardware which was present in the genuine 101.





The module however is really cool and literally tiny, it has a micro USB port that is generally used for powering up the board and uploading the sketches to it, the curie 32 bit processor sits in the middle surrounded by the 6-axis accelero gyro and the onboard antenna for the BLE. There is a master reset switch which reboots the quark processor, there are through holes on both the sides for connecting the header pins which can act as GPIOs and perform their tasks.



the intel powered Tiny tile came in anti static packaging without any mishaps(no matter how badly the custom treats our packages image) and survived the long journey. the packet had a smaller box which had the tiny tile itself, a safety instruction manual and a quick start guide pamphlet with the basic features and board details.image

The figure below shows the detailed pin layout.






The tiny tile board works strictly on 3.3 volts and can be powered using a micro USB port or the input Vin pin which takes unregulated DC ranging from 3.8-15 volts.

While going through the schematics the TPS62172 which is a step down convertor with a range of 3-17 volts and operating at 500mA this convertor seems to be responsible for converting the input voltage from Vin pin to the compatible 3v3 logic.



The board also consist of a ceramic omni directional pcb antenna W3008C( https://www.digchip.com/datasheets/5358962-w3008c-antennas-2-4ghz-wlan.html) essential for communication in range 2400 MHz to 2483.5 MHz and is compatible with Bluetooth, WLAN, WiFi and zigbee.






The tiny tile board is programmed using the Arduino IDE, we just need to add the required libraries and hardware board support to it using the board manager tool as shown in the figures.


we just need to start the arduino IDE and move to tools>boards>boards manager. Now under the bool search write curie and download the latest version of board support available, the hardware files are for arduino genuino 101 but according to the tiny tile documentations they work for both the boards since both have similar hardware descriptions and pinouts.


Now restart the Arduino software for the board files and libraries to be loaded. After the restart we can see the option for 32 bit arduino genuino board, now select the respective com port and we can readily upload our codes to the board.


we can also see that some example codes are also available which can be accessed under file>examples.


The curie BLE, curie I2S, curie IMU, curieserialflash, curiesoftwareserial, curieTime and CurieTimerone are the subdirectories which have respective codes to check the basic functionality of all the features of the board. All the examples are simple to understand and easy to access and upload.




Accelerometer Test:-

Once we are done with the board and libraries installation we can directly use the example code to get the axis data and print it over the serial monitor. Lets upload the accelerometer code to the board and run the serial monitor, now it displays the current axis values over the monitor and the values changes on moving the board.



There are other example codes too that we can play around like the one that was a fun was the accelerometer orientation which prints the actual state of the board as up, down, analog pin side up, digital pin side up/down etc. The accelerometer is really good quality and very efficient comparing to other accelero modules that i have worked on intel curie on board IMU takes the headstart from my side.


Warning:-while uploading the code Arduino IDE might give error of failure to upload and ask for master reset as shown in the image below which is resolved by giving a couple of resets that triggers the intel chip again and boots it up. After uploading wait for 5 seconds as it takes time for the processor to boot up.


The tiny tile documentation titled 'Getting started Guide' thoroughly explains all the steps required to interface the board with desktops and uploading the first code to it using the Aduino IDE. All the documentations can be found at the following link.



The BLE Test:-

The attiny board has a onboard BLE with PCB antenna as discussed above and can be used for simple wireless node applications is DAQ (data acquisition) systems and IoT projects where one needs to control an area using bluetooth on his/her smartphone over an android app. The module however features a BLE 4.0 and hence will create connectivity issues in older windows but works excellent on linux based systems and smartphones.

I used a couple of application software to serve my purpose and each app seemed to suffice some problems. I used the the 'BLYNK' and 'nRF connect' apps.


BLYNK app is a pick and place environment to build your own IoT application, it readily supports arduino genuino 101(intel powered), raspberry pi, BBC microbit , ESP8286 and many other modules, this app is easy to use and helps build our own system which can be accessed over the smartphone. All you need to do is simply connect the bluetooth and upload the blynk code with the corresponding "authorization token".

imageimageabove figure shows the basic setup for the BLYNK app, you just need to sign up and get started by choosing the title, board name and connection type. Then just place the components such as switches and configure them over the output window and we are ready to go and publish our own app.image

This also requires to copy and autthorization token and write to the arduino code for the bluetooth communication, for this we just need to install the blynk library over the arduino IDE and upload the blynk bluetooth code.



























The nRF Connect APP:-

This app is quite useful as it tells a lot about the bluetooth connection itself and displays many published details. I used the battery monitor code present in the examples for the arduino genuino 101, once we upload the code and connect using the app we get the published parameters.


The examples for curie processor also contain a battery monitor code that hosts a Bluetooth server and publishes the current battery state of the device, for this purpose default GATT service code of 180F is used as standards for the curie BLE more GATT service codes can be checked at https://www.bluetooth.com/specifications/gatt/services.




In our case three services were published : generic access (name of the device connected i.e. tiny tile), generic attribute(empty in our case) and the battery service that gave the battery percentage of the board.                                                                                                                       




The app also took a log of the RSSI values i.e. received signal strength indicator in dbm, I took several RSSI value depending on the distance from the board and it gave a good response, more than what I expected. The Bluetooth range of the device is quite good atleast it was better than my wifi router image where my wifi failed but the BLE connection was still connected.




The intel powered miniaturized arduino geniono 101 is a really well built product specially with the features such as the gyro/accelero and the on board BLE with PCB antenna that provided sufficiently very good range as compared to the other BLE devices. In my opinion however the texas instruments cc2650 launchpad is a tough competitor in terms of both performance and the cost. The tiny tile module can be very well used in wireless sensor applications and data acquisition systems where communication between multiple nodes can be carried over the bluetooth protocol, it can further be used in IoT applications for controlling electrical appliances using a smartphone over an app as discussed earlier. The tiny tile doesnot have its own documentation however it follows the similar ones as in the arduino genuino 101 which however are very detailed and easy to get started. Apart from the fact that it works on 3v3 logic which should be handled carefully in order to avoid the blue smoke this device is a very good starter module for getting started with the BLE projects.