XOD (programming language)

Last updated
XOD
Paradigms Declarative, dataflow, functional reactive, visual
Developer XOD Inc
First appeared2016;5 years ago (2016)
Stable release
0.31.1 / October 8, 2019;18 months ago (2019-10-08)
Platform Arduino, Raspberry Pi
License GNU Affero General Public License 3.0
Website xod.io

XOD is a visual programming language for microcontrollers, started in 2016. As a supported platform, XOD started with Arduino boards compatibility and Raspberry Pi. [1] [2] [3] [4] [5] [6] It is free and open-source software released under the GNU Affero General Public License, version 3.0.

Contents

Basics

The basic elements of XOD programming are nodes. XOD is based on functional reactive programming principles and provides graphical flow-based application programming interface. XOD can compile a native machine code for the low-ended controllers. A node is a block that represents either some physical device like a sensor, motor, or relay, or some operation such as addition, comparison, or text concatenation. XOD is also able to let the user build up some missing node using other nodes, without switching to textual programming. [7] [8] [9]

Analogs

Node-RED and NoFlo are the closest analogs of XOD.

Related Research Articles

Arduino Open source hardware and software platform

Arduino is an open-source hardware and software company, project and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under a CC-BY-SA license, while software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the manufacture of Arduino boards and software distribution by anyone. Arduino boards are available commercially from the official website or through authorized distributors.

Dexter Industries

Dexter Industries is a company that designs robots for education, researchers, and hobbyists. The company makes several products that expand the LEGO Mindstorms system, Raspberry Pi, and Arduino prototyping system. The products range from sensors to switches and may be used for projects outside the scope of Lego Mindstorms.

Raspberry Pi Series of inexpensive single-board computers used for educational purposes and embedded systems

Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic computer science in schools and in developing countries. The original model became more popular than anticipated, selling outside its target market for uses such as robotics. It is widely used in many areas, such as for weather monitoring, because of its low cost, modularity, and open design. It is typically used by computer and electronic hobbyists, due to its adoption of HDMI and USB devices.

Adafruit Industries American electronic components and hardware distributor

Adafruit Industries is an open-source hardware company based in New York City. It was founded by Limor Fried in 2005. The company designs, manufactures and sells a number of electronics products, electronics components, tools and accessories. It also produces a number of learning resources, including live and recorded videos related to electronics, technology, and programming.

Elixir is a functional, concurrent, general-purpose programming language that runs on the BEAM virtual machine used to implement the Erlang programming language. Elixir builds on top of Erlang and shares the same abstractions for building distributed, fault-tolerant applications. Elixir also provides productive tooling and an extensible design. The latter is supported by compile-time metaprogramming with macros and polymorphism via protocols.

Raspberry Pi OS

Raspberry Pi OS is a Debian-based operating system for Raspberry Pi. Since 2015, it has been officially provided by the Raspberry Pi Foundation as the primary operating system for the Raspberry Pi family of compact single-board computers. The first version of Raspbian was created by Mike Thompson and Peter Green as an independent project. The initial build was completed in June 2012.

Wolfram Language

The Wolfram Language is a general multi-paradigm programming language developed by Wolfram Research. It emphasizes symbolic computation, functional programming, and rule-based programming and can employ arbitrary structures and data. It is the programming language of the mathematical symbolic computation program Mathematica.

Intel Galileo

Intel Galileo is the first in a line of Arduino-certified development boards based on Intel x86 architecture and is designed for the maker and education communities. Intel released two versions of Galileo, referred to as Gen 1 and Gen 2. These development boards are sometimes called "Breakout boards".

OpenFL

OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript, or TypeScript., and may be published as standalone applications for several targets including iOS, Android, HTML5(choice of Canvas, WebGL, SVG or DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.

NodeMCU

NodeMCU is a low-cost open source IoT platform. It initially included firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which was based on the ESP-12 module. Later, support for the ESP32 32-bit MCU was added.

Visual Studio Code Free source code editor by Microsoft

Visual Studio Code is a freeware source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.

ESP8266

The ESP8266 is a low-cost Wi-Fi microchip, with a full TCP/IP stack and microcontroller capability, produced by Espressif Systems in Shanghai, China.

Node-RED

Node-RED is a flow-based development tool for visual programming developed originally by IBM for wiring together hardware devices, APIs and online services as part of the Internet of Things.

Electron (software framework)

Electron is an open-source software framework developed and maintained by GitHub. It allows for the development of desktop GUI applications using web technologies: it combines the Chromium rendering engine and the Node.js runtime. Electron is the main GUI framework behind several open-source projects including Atom, GitHub Desktop, Light Table, Visual Studio Code, Evernote, and WordPress Desktop.

MicroPython

MicroPython is a software implementation of a programming language largely compatible with Python 3, written in C, that is optimized to run on a microcontroller.

MySensors

MySensors is a free and open source DIY software framework for wireless IoT devices allowing devices to communicate using radio transmitters. The library was originally developed for the Arduino platform.

Espruino is an open-source JavaScript interpreter for microcontrollers. It is designed for devices with small amounts of RAM.

OpenALPR is an automatic number-plate recognition library written in C++. The software is distributed in both a commercial and open source version.

Eclipse Theia is a free and open-source integrated development environment (IDE) framework for desktop and web applications. It is implemented in TypeScript, is based on Visual Studio Code, and emphasizes extensibility.

Raylib

Raylib is a cross-platform open-source software development library. The library is meant to create graphical applications and games. The official website introduces it as "a simple and easy-to-use library to enjoy video games programming."

References

  1. "XOD: A New Open Source Visual Programming Language". TrendinTech. 2017-08-31. Retrieved 2018-05-13.
  2. "XODlang – Medium". Medium. Retrieved 2018-05-13.
  3. "XOD-powered Rechargeable Solar Lamp". Instructables.com. Retrieved 2018-05-13.
  4. "Raspberry Pi gets new visual programming language". Electronics Weekly. 2017-06-01. Retrieved 2018-05-13.
  5. "Visual Development with XOD". Hackaday. 2017-08-13. Retrieved 2018-05-13.
  6. "XOD is a Visual Programming Language for Arduino, Raspberry Pi, and other Maker Boards". www.cnx-software.com. Retrieved 2018-05-13.
  7. Verma, Adarsh (2017-06-22). "XOD: A New And Open Source Visual Programming Language For Arduino, Raspberry Pi, Etc". Fossbytes. Retrieved 2018-05-13.
  8. "xodio/xod". GitHub. Retrieved 2018-05-13.
  9. Warner, Tommy (2018-01-15). "Create a Self-Driving Robot – Part One". Medium (XODlang). Retrieved 2018-05-13.