Learn About Frameworks

The installation of embedXcode includes 3 basic steps and an optional one:

This section describes the different platforms frameworks supported by embedXcode and embedXcode+.

The mbed framework and the BeagleBone board are no longer supported.

The Wiring / Arduino Framework

As a matter of fact, Wiring is considered as the framework of reference for embedded computing aimed at hobbyists.

Arduino made it popular with the Arduino boards. 

As at today, there are multiple releases of and families for the Wiring / Arduino framework. For more information,

To install the platforms running on this framework,

The Pioneer: Wiring on Processing

The Wiring framework was designed by Hernando Barragán and built on the Processing IDE.

Maple and Robotis IDEs are based on the Wiring IDE. Arduino 0023 is Wiring-compliant but no longer maintained.

This framework is deprecated.

New Frameworks for New Boards: Arduino 1.0 and Arduino 1.5

Arduino 1.0 has introduced many small changes in the syntax which are not compatible with the previous 0023 release.

Some boards like Arduino Leonardo require the Arduino version 1.0.

This framework is no longer under development and maintained.

Arduino 1.5 adds the support for and is required by the boards Arduino Due and Yún.

It also uses a new structure for the libraries, not compatible with the previous 1.0 release. Again, it introduces many small changes compared to version 1.0 that require editing the sketches.

The IDEs for the chipKIT, the Galileo and the RFduino boards are based on the Arduino 1.5. Latest release was numbered 1.5.8.

Arduino 1.5 never left the beta state. As a matter of facts, its many sub-versions proved to be unstable, due to many changes between each sub-releases. Both 1.0 and 1.5 frameworks are deprecated and replaced by two new stable versions, 1.6 and 1.7, but from 2 different organisations.

Two Organisations with Two IDEs: Arduino 1.6 and Arduino 1.7

In February 2015, Arduino split into two organisations, with two different websites:

Additionally, Arduino.CC rebranded itself as Genuino outside the U.S.A.

Arduino 1.6 by Arduino.CC / Genuino is the new stable release of the framework.

Version 1.6.1 by Arduino.CC / Genuino is compatible with previous releases, 1.0.6 and 1.5.8. However, releases 1.6.2 and later break that compatibility. Release 1.6.5 offers the Boards Manager, a simplified process to manage boards from third-party manufacturers, including download and installation. A similar Libraries Manager deals with libraries.

Most of the boards manufacturers rely on the Arduino IDE with the Boards Manager, including Adafruit, Cosa, Digistump, ESP8266, Intel, MediaTek, Little Robot Friends, panStamp, RedBear and RFduino. Newer releases 1.6.6 and onwards seem to be compatible with previous release 1.6.5.

Since release 1.6.10E18, Energia, the IDE for the LaunchPad boards, is based on Arduino 1.6.5. It also features a Boards Manager for third party boards based on Texas Instruments MCUs and a Library Manager.

Arduino 1.7 by Arduino.ORG supports all the Arduino boards and the new Arduino M0 and M0 Pro boards.

It is compatible with previous releases 1.0.6, 1.5.8 and 1.6 up to 1.6.1.

Back to One Organisation and One IDE

In October 2016, the two Arduino.CC and Arduino.ORG announced they were merging into one single entity.

The unified IDE corresponds to release 1.8.0 and provides support for all the boards from former Arduino.CC and Arduino.ORG IDEs.

As a consequence, all releases of Arduino prior to release 1.8.0, including 0023, 1.0 and 1.5, and series 1.6 and 1.7, are deprecated and not longer supported

For more information about the supported IDEs and plug-ins,

Preparing the Future

In August 2017, one Arduino company bought the other one, ending the confusion about the name and the brand.

On September 2017, Oryng launched an initiative to define the future evolutions of the Wiring framework.

The Cosa Framework

embedXcode+ also supports the Cosa framework.

The Cosa framework is an interesting alternative to the Wiring / Arduino framework. It offers an object-oriented framework that runs on AVR-based boards.

It is an extension of the Wiring / Arduino framework and works on top of the Arduino IDE.

To install the platforms running on this framework,

The SDKs for Intel Edison

embedXcode+ supports the three frameworks of the Intel Edison board.

Warning

Intel has announced it will end supporting the Curie, Galileo and Edison boards next December 16, 2017.

embedXcode+ allows to develop sketches based on the Wiring / Arduino framework, native applications running on Yocto and MCU applications for the Intel Edison board.

The Intel Edison board features a SoC with one micro-processor and one micro-controller.

The micro-processor executes sketches based on the Wiring / Arduino framework and native applications running on Yocto.

The micro-controller executes programs based on the MCU SDK.

The Wiring / Arduino Framework

To run sketches based on the Wiring / Arduino framework,

The Yocto SDK

Intel provides the SDK, the debugger and all the tools needed.

To install the platform running on the Yocto framework,

The MCU SDK

To develop applications running on the MCU with the MCU SDK,

Keep in mind applications running on the MCU are developed in C, not C++, and requires a specific configuration. Similarly, debugging is managed by adding lines to the code and the messages are redirected to a TTY port.

Check the Supported Frameworks and Platforms

On embedded computing, frameworks and platforms are always evolving and changing fast.

I've defined a standard test protocol. It consists on building and linking, uploading and running the same sketch against each framework and board.

Because tools evolve, some frameworks and boards are becoming obsolete. Please check the Obsolescence Notice page.

Check the Supported Frameworks and IDEs

Frameworks versions are critical. On a general basis, I support the latest available version of the frameworks.

Now, one version of a given framework can can run smoothly with embedXcode, and the very next one fails.

Support for the mbed SDK and the BeagleBone board has been discontinued. For more information,

Check the Supported Platforms and Boards

There are three categories of boards.

  • The first category includes the boards and programmers I own and thus I've tested myself. Those boards went through the standard test protocol.

  • The second category includes the boards users have tested. Those boards are not officially supported. If you're successful with a board that is not listed on the first category, thank you for reporting it to me so I can add it to the second category.

  • The last category lists the boards that have not been tested.

Please note I only can provide support for the boards I can try by myself.

For the exhaustive list of the boards,