Skip navigation
> RoadTest Reviews

Intel® Joule™ 570x Developer Kit - Review

Scoring

Product Performed to Expectations: 10
Specifications were sufficient to design with: 10
Demo Software was of good quality: 10
Product was easy to use: 10
Support materials were available: 10
The price to performance ratio was good: 10
TotalScore: 60 / 60
  • RoadTest: Intel® Joule™ 570x Developer Kit
  • Buy Now
  • Evaluation Type: Evaluation Boards
  • Was everything in the box required?: No - No, Additional Power Supply, optionally - Powered Hub, Keyboard, Mouse, LCD
  • Comparable Products/Other parts you considered: I've consider comparation with Rapsberry Pi3
  • What were the biggest problems encountered?: Minor problems for experienced Embedded Engieeers.

  • Detailed Review:

    Detailed Review

    I applied for to road test [1] the Intel Joule 570X because it is one of the most powerfull soultions in market.

    I'm Embedded Software Engieer focused on such solutions.

    My plan is to attempt 3 phases of road testing:

    1. Setup device to run Windows and Linux enviroment

    2. Run and deploy Hello World applications on both enviroments.

    3. Run and deploy some GPIO connected applicaiton.

    Specification

    Intel Joule 570X [2,3]:

    • 1.7GHz Quad Core, Atom T5700 CPU
    • 4GB RAM
    • 4MB Cache
    • Dimensions of core: 2mm x 48 mm x 24 mm
    • 48 GPIO
    • 16 GB Flash
    • 802.11ac dual band wi-fi card
    • Micro USB, Micro HDMI, USB 3.0 Type A-Port, USB 3.0 Type C-Port,

     

    Unboxing

    I've recived mine package on time. Intel Joule 570x will be shipped in a small package - Pic.1

    Orignal package formPic.1 Received Pacage.

     

    Inside grey package is colorfull one - Pic.2

    Inner Package - BoxPic 2. Package in Package.

    Here is the detail content of package after unboxing. Detailed Content is presented on Pic.3

    Package content

    Pic.3 Detailed content of received Pacage.

    Software Development Enviroment

    After setup of Intel SystemStudio IoT Edition you will get "This machine is missing Docker Toolbox software required by the Intel® System Studio IoT Edition. Installation will abort. Please install Docker Toolbox version 1.11 or higher from here: https://www.docker.com/products/docker-toolbox before installing the Intel® System Studio IoT Edition and ensure Docker Toolbox is in the PATH."

    After installing Docker, you probably see Java requirement. "Please install Java* SE Runtime version 8 (JRE 8) 64-bit or higher from http://www.oracle.com/technetwork/java/javase/downloads/index.html in order to launch the Intel® System Studio IoT Edition. If you wish to develop Intel IoT Projects with Java then please install Java* SE Development Kit 64-bit version 8 (JDK 8) or higher which includes Java JRE and ensure Java is in the PATH. "

    Install it as well.

    Enviroment configuration

    Pic.4. Intel SystemStudio install screen.

    Then I leave only Joule set and hit Next.

    Then next fail will appear. After calling Intel® System Studio IoT Edition from windows start menu Enviroment will claim that need JDK.

    Yes. First it want's JRE - then JDK. I've installed JRE and JDK and added JRE to path.

    Then I've put this JDK into WIndows->Preferences->Java->Installed JREs and manually added JRE and make it default by clicking checkbox.

    This make Intel System Studio Happy after restart.

    JRE and JDK issue fix

    Pic. 5 Java Install setup.

    I hope this help.

     

    Windows on Joule

    If you want to try windows on this - you need to get access to Insider program. Login into your windows account and try: https://www.microsoft.com/en-us/software-download/windowsiot?wa=wsignin1.0

    There is Windows 10 IOT Core Insider Preview web page and links that will be vaild for 24 hours after getting access. File that I have download was Windows10_InsiderPreview_IoTCore_IntelJoule_ARM32ARM64_en-us_16193.iso

    Road is expalined at https://developer.microsoft.com/en-us/windows/iot/Docs/GetStarted/joule/GetStartedStep1.htm

    First Run

    To run this Joule you need power supply. 12DC, 3A. I've bought micro hdmi -> hdmi cable and power supply. Monitor and keyboard I have alredy. In the set there is also small SD card with system image. In the set there is also small radiator.

    Setup of this radiator is documented in Passive Heatsink Assembly document - Intel webpage. After proper setup we will see following picture on the bench:

    First run.

    Pic.6 First proper run of Intel Joule 570X - After power plugin

    On the monitor screen I saw following picture.

    First run - screen picture

    Pic. 7 Boot screen of Intel Joule 570X with Ostro on board.

    Linux Ostro starts and root account is enabled by default.

    uname -a show us Intel-corei7-64.

    Short analysis show us that delivered system is legacy.

    New card and bios will be helpful - on Intel page I've found something from 2017.

    My plan was - first blind shot - try to install Windows and try not to change Bios.

    I've created SD Card with last Windows 10 IoT image.

    I've used IoT Dashboard tool.

    2017-06-19.png

    Pic. 8. Setup of Windows IoT

    Then I've turn Bios with F2 during boot and set two parameters as specification says.

    IMG_20170618_201756.jpg

    IMG_20170618_201815.jpg

    Pic. 8-9 Joule 570X Bios setting

    Boot Option Menu - EFI uSD Device as boot device and OS Selection -> Windows in Boot option.

    Then reboot and ...

    IMG_20170618_201829.jpg

    Pic. 10 Windows is starting on Joule 570X

    System windows 10 IoT is booting ...

    Till ...

    IMG_20170618_201908.jpg

    Pic. 11. Windows show green face. - BSOD on Windows IoT

    Seems that we need to make more effort to run Windows IoT on our Joule.

     

    My first suspicion was on legacy BIOS version. According to Microsoft Specification we need first upgrade BIOS of our Joule. How to upgrade BIOS is described on Intel Specification web page. I've take 1H3 from 6/8/2017 follow the steps and ... almost brick Joule.

    After flashing white diode stays on and screen after boot is off. In that moment I've almost finished mine roadtest with fail and birck. Then I've try other bios.

    I've take 1F1 from 5/8/2017 - This time flash was success and Joule wake up.

    Note: if you take debug bios version - be patient - it starts very long. Do not use it if you do not need.

    Roadtest is on the road again!

    I've start Windows IoT booting and Green Screen - INACCESSIBLE_BOOT_DEVICE once again appears.

    My second suspicion was Microsoft Image - I've take Legacy one. And INACCESSIBLE_BOOT_DEVICE once again appears.

    I was stuck - only option remain was 1H3 with host device drivers from 1F1. That was very strange because I've done some research and some people are running windows 10 IoT on this board.

    Next day I put Joule BIOS 1H3 into 1F1 folder and start flash.bat with this. It works and alive! Unfortunatellty that didn't help either to start Windows IoT ... Same green screen of BSOD (This should be called GSOD now I think) on both Images appear.

    I use mechanical USB keyboard - Tesoro Ulitmate that contains USB Hub. My mouse is connected to this keyboard. There is one free USB slot. I created USB stick with Windows Image and plug this into keyboard hub. Joule and Windows works now! But ... it loads extermly slow from legacy USB Stick. I've found special adapter that can be used with Micro SD Card - that make booting time resonable.

    Finally, after two days of fight Windows IoT on Joule started properly.

    Final System Setup

    I've ordered Powered USB HUB TP-Link UH720 and 7 inch HDMI LCD touch screen.

    Standard keyboard and mouse as usual.

    System_setup_1.jpg

    Pic. 12 Final Tool Set for building Joule Setup

    All required parts are here (execpt HDMI > microHDMI converter) are above.

    Then I've connected all the parts

    System_setup_2.jpg

    Pic. 13. Windows IoT on final System Setup is Ready to get Software

    And mine WIndows IoT started. (of course - First go setup and swtich boot sequenece)

    Coding on Ostro

    Running a first program on build-in ostro became not so easy part as I expected.

    I've installed Intel SystemStudio IoT Edition already.

    I've boot system direct into Ostro Linux.

    And first problem Appears - cannot connect to root. There wasn't set root passowrd.

    Moreover there was no internet connect to our system.

    Here helps youtube presentation [1] Engieering Bench Talk Mouser Electornics.

    Few commands and we have connection:

    connmanctl

    connmanctl> scan wifi

    connmanctl> services

    connmanctl> agent on

    connmanctl> connect wifi__managed_psk

    After reboot connection remains.

    passwd will setup a password for root account as well.

    Presented in youtube method of enablid root access looks wrong i think.

    I've used vi /etc/ssh_ssd_config and directly put last line "PermitRootLogin yes" at the end of configuration file.

    I've also added follwoing IPTABLES as well:

    -P INPUT ACCEPT

    -P FORWARD ACCEPT

    -P OUTPUT ACCEPT

    But after reboot this look like this:

    root@intel-corei7-64:~# iptables -S

    -P INPUT DROP

    -P FORWARD DROP

    -P OUTPUT ACCEPT

    -A INPUT -i ve-+ -p udp -m udp --dport 53 -j ACCEPT

    -A INPUT -i ve-+ -p udp -m udp --dport 67 -j ACCEPT

    -A INPUT -i lo -j ACCEPT

    -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

    -A INPUT -p udp -m udp --dport 5353 -j ACCEPT

    -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

    -A FORWARD -o ve-+ -j ACCEPT

    -A FORWARD -i ve-+ -j ACCEPT

    But works fine.

    Expecialy with  installed Intel SystemStudio IoT Edition .

    I've started this Intel tool. This tool have found mine board on the net and connected properly.

    root/password is needed to connect.

    I've started from hello world. Project has been created. I've hit run button:

    2017-07-16 (2).png

    Pic. 14. Intel SystemStudio IoT Edition problem with Build In Ostro.

    And following information is displayed (Pic.14).

    I've typed https://software.intel.com/en-us/flashing-ostro-on-joule and I've see 404 - Dev Humor from intel (Pic. 15)

    2017-07-16 (3).png

    Pic. 15 Intel flashing-ostro-on-joule web page

    Look's like we have small problem. On the other hand there is only a warrning and world probably make some hope. So I've ok and follow that path.

    Hello world was displayed - on the host screen.

    2017-07-16 (4).png

    Pic.16 Intel SystemStudio IoT Edition builds hello world.

    But I want to see that on real system. Then I've type:

     

    root@intel-corei7-64:~# cd /tmp

    root@intel-corei7-64:/tmp# ls

    Hello_World

    root@intel-corei7-64:/tmp# ./Hello_World

    Hello, This is a road test for Element14

     

    And we have first program running on Build In Ostro. Then I've make something more complicated. I've take Led Blink example. Unfortunatelly Led Blink example program does not compile.

    There is missing INTEL_JOULE_EXPANSION definition in include files. I've make some patches ... And mine program for Led Blinking looks like this:

     

    #include <mraa.hpp>

    #include <iostream>

    #include <unistd.h>

    int main()

    {

      // select onboard LED pin based on the platform type

      // create a GPIO object from MRAA using it

      mraa::Gpio* d_pin = NULL;

      d_pin = new mraa::Gpio(100, true, false);

      if (d_pin == NULL) {

        std::cerr << "Can't create mraa::Gpio object, exiting" << std::endl;

        return mraa::ERROR_UNSPECIFIED;

      }

     

      // set the pin as output

      if (d_pin->dir(mraa::DIR_OUT) != mraa::SUCCESS) {

        std::cerr << "Can't set digital pin as output, exiting" << std::endl;

        return MRAA_ERROR_UNSPECIFIED;

      }

     

      // loop forever toggling the on board LED every second

      for (;;) {

        d_pin->write(1);

        sleep(1);

        d_pin->write(0);

        sleep(1);

       }

     

      return mraa::SUCCESS;

    }

     

    This will help and led's now Joule is blinking.

     

    Coding on Windows IoT

    Note: If you want store permament system setting in BIOS - buy battery. Otherwise, each time you will use F9.

    After booting into Windows IoT I've started to make some hello world on Windows Setup. System give us nice web interface.

    Note: Magic username/password for Windows IoT bare install is Administrator/p@ssw0rd

    This interface look's like Pic.17.

    2017-07-16 (8).png

    Pic. 17 Windows IoT on Joule 570X Web Management Page

    On the first I thought that Hello World example on this device will be simple. Under Apps->Quick-run samples there was 3 applications, including hello world. Unfortunatelly - not working.

    2017-07-16 (9).png

    Pic. 18 Build not working Quick-run samples

    I've hit link 'source code' and found https://github.com/ms-iot/samples/tree/develop/HelloWorld/CS

    I've downloaded entire https://github.com/ms-iot/samples  repository and start work with Visual Studio 2017 Community Edition. After few clicks you will find following page:

    https://marketplace.visualstudio.com/items?itemName=MicrosoftIoT.WindowsIoTCoreProjectTemplatesforVS15

    There is a picture - where new Project is Windows IoT Core I've installed almost all tools under Visual Studio Installer tool. No one shows Windows IoT core.

    2017-07-16 (10).png

    Pic. 19 Web Page with Windows IoT Core download component required to build Joule 570X Examples.

    Then I've found BIG GREEN BUTTON - Download. After download this and run magic Windows IoT Core Appear on Visual Studio 2017 Build Enviroment.

    I was blinded. Now path goes straight.

    Open Visual Studio 2017.

    Open Soultion HelloWorld in C# (yes ... C# not C++ that was small suprise for Embedded Engieeer)

    Remember to set on project setting as Universal Windows -> Extensions (Windows IoT Extension for UWP)  as requred SDK for Joule.

    Then I've set Debug/x64/Remote Machine and just hit green right Arrow as run.

    It will deploy and run our software.

    2017-07-16 (11).png

    Pic. 20 Visual Studio 2017 Builds Hello World.

    After correct deployment visual studio will change look to following:

    2017-07-16 (12).png

    Pic. 21 Visual Studio 2017 Debugging Hello World.

    On the device follwoing screen will appear:

    Screenshot_2017-07-16_22-43-02.jpg

    Pic. 22 Screen of Joule 570X running Hello World under Windows IoT.

     

    After hit Click Me! with mouse ... screen will show:

    Screenshot_2017-07-16_22-44-15.jpg

    Pic. 23 Screen of Joule 570X running Hello World under Windows IoT - hit Click Me! with mouse.

    Yeah, small change in MainPage.xaml.cs was made:

            private void ClickMe_Click(object sender, RoutedEventArgs e)

            {

                HelloMessage.Text = "Hello, element14 Joule Road Test";

            }

    Next I've start to blink. I've stopped debbuger. Viusal Studio 2017 and Device was restored to main state.

    Screenshot_2017-07-16_22-46-28.jpg

    Pic. 24 Default Starting Screen of Windows IoT

    Then I've open BlinkyCpp.sln from downloaded repository.

    Hit build and deploy ...

    And on device screen appears foolowing picture:

    Screenshot_2017-07-16_22-48-45.jpg

    Pic. 25 Screen of Joule 570X running GPIO Example.

     

    And big red point changes red/white blinking. Acutally that wasn't expected result. I thought that some diode wil blink as in Ostro solution. Therefore I've look into the code.

    In file MainPage.xaml.cpp there was following code:

     

    pin_ = gpio->OpenPin(LED_PIN);

    pin_->Write(pinValue_);

    pin_->SetDriveMode(GpioPinDriveMode::Output)

     

    Where PIN_LED was binded to 5. I've changed it to:

     

    pin_ = gpio->OpenPin(0);

    pin_->Write(pinValue_);

    pin_->SetDriveMode(GpioPinDriveMode::Output);

     

    Compiled and deployed. This time big red/white point was blinking and diode on Joule board was blinking also.

     

    Summary

    Intel Joule 570X is a very good piece of silicon. Powerful and nice to work with. All is well documented and there was no such sitiuation on entire road test that I was lost. Either from Microsoft and Linux/Intel side.

    Most of the things work as expected. I didn't have strong problems with that.

    During this test I've prepared functional devleopment enviroment for mine Stream Engine Processing - Both functional and ready to develop and deploy software.

    On the other hand sad news appear during this road test - I've get sad notice of End of Life of this chip [5] - my entire enthusiasm just drop away. This info makes me sad.

    Nice idea - maybe too powerfull for embedded developement but this could be one of the most powerfull solutions on the market.

    I think that reasons of this decission could be found on market analysys [6] - but I'll be still crossing my fingers for this nice piece of silicon.

     

    Bibliography

    1. Intel® Joule™ 570x Developer Kit

    2. Engieering Bench Talk Mouser Electornics

    3. Getting Started Guide Arrow Electronics

    4. Official Intel Board Specification

    5. Intel End of Life Notice

    6. Rabsperry PI 3 still rulez


Comments

Also Enrolling
Enrollment Closes: Dec 19 
Enroll
Enrollment Closes: Dec 8 
Enroll
Enrollment Closes: Dec 8 
Enroll
Enrollment Closes: Dec 12 
Enroll
Enrollment Closes: Dec 18 
Enroll
Enrollment Closes: Nov 30 
Enroll
Enrollment Closes: Nov 20 
Enroll