Learn about frameworks¶
The installation of embedXcode includes 3 basic steps and an optional one:
Step 1: Install the Xcode IDE .
Step 2: Install the Wiring / Arduino framework .
Step 3: Install the embedXcode template .
Optional step: Install optional tools for self-documentation .
This section describes the different platforms frameworks supported by embedXcode and embedXcode+.
The Wiring / Arduino framework popularised by Arduino,
The object-oriented Cosa framework for the AVR-based boards as a complement to the Arduino IDE,
As an option for the Intel Edison board , the SDKs to develop and run native applications on Yocto and on the MCU.
The mbed framework and the BeagleBone board are no longer supported.
- Please refer to the chapter Legacy frameworks and boards .
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,
- Please refer to the Install the Wiring / Arduino framework section.
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,
- Please refer to the appendix IDEs, boards and plug-ins versions .
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. embedXcode is founding member of Oryng.
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 go to the 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.
- Please refer to IDEs, boards and plug-ins versions for the exact references.
Support for the mbed SDK and the BeagleBone board has been discontinued.
For more information,
- Please refer to the Use discontinued Wiring / Arduino frameworks , Use discontinued Intel Edison SDKs and Use discontinued Cosa framework sections.
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.
Obviously, I only can provide support for the boards I can try by myself.
For an exhaustive list of the boards,
- Please refer to the What has been tested section.