Technical Article

Introducing the Intel D2000 Quark Microcontroller Developer Kit

April 18, 2016 by Raymond Genovese

The new development board features a 32 MHz Quark and a host of features at a $14.95 price tag.

The new development board features a 32 MHz Quark and a host of features at a $14.95 price tag.

The density of the microcontroller universe continues to increase. New entries appear regularly. Some seem to disappear quickly while others continue with a loyal, albeit sparse, following. A few have a significant and enduring impact. It has always been difficult for me to predict which category a product will find itself in. There are many choices.

Early this year, I heard about a new Quark development board from Intel, so I had been keeping my eye out for when it would be available through the usual outlets. It is now available from a number of sources and, at a lower-than-I-expected price. Hungry for knowledge and experience, I was quick to place my order. A few days later it arrived. This article presents a first look at the board with some personal impressions and some details about its potential capabilities.

 

The D2000 Quark Board (Fab D)

The D2000 Quark Board (Fab D)

Features

The board boasts an impressive list of features including:

  • Intel™ Quark® microcontroller D2000 SoC 32MHz (with low-power mode)
  • 32KB flash memory (internal)
  • 8KB OTP flash (internal)
  • 4KB OTP Data flash (internal)
  • 8KB SRAM (internal)
  • I2C master
  • SPI master
  • SPI slave
  • UART – supports 9-bit addressing mode
  • ADC/Comparator inputs
  • 2x PWM signals
  • 25 GPIOs
  • Real-time clock
  • Watchdog timer

For a small board at a relatively small price, the D2000 appears to have a great deal of capability and potential.

Documentation and Resources

Capability and power in the absence of documented specifications are, at best, tedious and, at worst, an exercise in futility. In the case of the D2000 there is already a commendable amount of available online documentation, including; schematics, user guide, hardware manual, software interface BSP and more. If you are interested in working with this board, you will want to download and read all of the documentation. Since this is a new board, the accuracy, quality and basic usability of the documentation have to pass the test of time. Certainly, there will be corrections needed and no doubt revisions will come out. Nevertheless, at present, there appears to be a significant amount of documentation and support available to start building with the board. Moreover, there is an online forum to request specific help and gain from the experiences of others.

A Quick Look on the Outside

Upon opening the attractive cardboard mini-carton, the contents reveal only the board and a USB cable, and the usual safety notice. As previously stated, however, much more is available online. It is a fairly small board, but somewhat larger than the familiar Arduino UNO. Several components on the board lurk conspicuously – the QUARK SoC, an FTDI FT232H (Hi-Speed USB UART) and a Bosch BMC150 (3 axis magnetic field sensor and 12-bit, 3 axis accelerometer). There is also a coin cell battery holder (high capacity CR2450) and Arduino UNO style SIL sockets.

The D2000 and Arduino UNO side by side.

The D2000 and Arduino UNO side by side.

A Quick Look on the Inside

The D2000 is basically a 3.3v board (operating range is 2.0–3.3v). With on-board regulators, it can be powered through a USB connector and, alternatively, there are also screw terminals for an external supply. All I/O is 3.3v. There is a good deal of I/O functionality and, as you might expect, it comes at the cost of multiplexing. That is, 25 I/O pins can be configured as GPIO or other functions (e.g., I2C/UART/SPI/JTAG). In this regard, there are four user mode configurations. In addition to the user modes, there is a pin test mode. The GPIO have programmable drive strength (12 mA and 16 mA modes) and integrated pull-ups. The additions of an RTC and watchdog timer are appealing. There are up to 19 analog inputs as ADCs or comparators. ADC inputs are programmable (6/8/10/12-bit) resolution. Analog comparators are fast speed (6) or slow speed, low-power (13) with wake-capabilities. Clearly, this board was designed with flexibility in mind.

Software development

If you have used Intel Galileo, or Galileo Generation 2, or Edison boards, you may be used to using an Arduino IDE or an embedded Linux OS for program development. The D2000 looks like a notably different approach from those environments. Program development with the D2000 is with the Intel System Studio 2016 for Microcontrollers. The free download suite contains what you would expect in an integrated tool chain and much more. It is advertised as including:

  • GCC Version 5.2.1 (Linker/Assembler/C Run-time Libraries)
  • Intel-enhanced GDB 7.9 (GNU Debugger)
  • Intel Integrated Performance Primitives for Microcontrollers 1.0
  • Floating Point Emulation library
  • Sample Applications Board Support Package (BSP)
  • OpenOCD  0.8.0 (on-chip debugger)
  • TinyCrypt  0.1.0 (cryptography primitives)
  • Intel Quark Microcontroller Software Interface 1.0
  • Eclipse Luna 4.4 including Intel System Studio for Microcontrollers integration
  • Python 2.7.10
  • WinUSB driver for Intel Quark Microcontrollers

Host support includes both Windows (64bit: Versions 7, 8.1, 10) and Linux (64bit: Versions Ubuntu 14.04 LTS, Fedora 21).

In my view, the most straightforward way to program the board is through the C/C++ compiler. There is a host of modules and function prototypes available from Intel that gets you to the board level functions. There are also a collection of examples for reference and to get you started. The Eclipse system ties together many aspects of code development. There is even an online forum for the Intel System Studio. Essentially, this appears to be a very rich development environment, but it is not exactly a beginner’s development environment.

To make full use of the development environment, you can receive serial output from the board through pins (TX/RX/GND) on the SIL sockets. For reception using a PC, for example, a separate 3.3v serial to USB interface cable is needed. A terminal program is included within Eclipse/Studio. For other applications, a generic terminal program can be used.

Closing Thoughts

The D2000 looks like a very powerful microcontroller board with an extensive collection of features that may very well have a significant impact in a field with many choices. It looks to be particularly flexible and the relatively low price tag makes it even more impressive. On the other hand, the board does not have the ease-of-use that is attractive to a beginner in the way that the Arduino IDE has been. Next, in part 2, I will explore the software suite and take a brief look at the general development environment by powering up and getting to “Hello World” and a few other examples.

Next Article in Series:

10 Comments
  • rldipaolo April 29, 2016

    Thank you very much for letting us know about this!!!  Just ordered 2 of them, and such a fantastic price!  I have been waiting a very long time for an x86 board like this one to be available, it’s about time.  Huge bonus that the development tools are free (and not just an IDE, but a BSP too), and the tools can be run on Linux as well as Windows (no more Windows-only IDE, Thank you Intel!!!!!).  I can hardly wait for the boards to arrive.  😊  Not that it’s my primary intention, but I wonder if I can get them to run DOS (serial console only, no graphics).......

    Like. Reply
    • Pete20 May 15, 2016
      Where do i get the free development suite? Thanks in advance!
      Like. Reply
      • Lynnette Reese May 16, 2016
        You can find everything here: https://www-ssl.intel.com/content/www/us/en/embedded/products/quark/mcu/d2000/overview.html You may need to create a free account in order to get in. Also, I had to register to get ISSM via a click through in an email that was sent, so they are definitely serious about serious users accessing the software. Nice dev tool.
        Like. Reply