Developer(s) | Gordon Williams |
---|---|
Repository | github |
License | MPL 2.0 |
Website | www |
Espruino is an open-source JavaScript interpreter for single-board microcontrollers. It is designed for devices with small amounts of RAM (as low as 8kB [1] ).
Espruino was created by Gordon Williams in 2012 as an attempt to make microcontroller development truly multiplatform. [2] [3] Though initially not open-source, the Espruino firmware was offered as a free download for STM32 microcontrollers. [4] It was made open-source in 2013 after a successful Kickstarter campaign [5] for a development board running the software. [6] Since the original Espruino board, there have been a number of new official development boards including the small USB thumb-drive-sized Espruino Pico, [7] the Wifi-equipped Espruino WiFi, the Puck.js with built-in Bluetooth and the Pixl.js [8] with a built-in LC display and Arduino shield compatibility. Espruino is the operating system used on the BangleJS and BangleJS2 smartwatches. In addition to the official boards, Espruino runs on approximately 40 other types of development boards [9] [3] including the ESP8266. [10] [11]
There is a large body of reference material for Espruino including over 100 tutorials [12] as well as the book Making Things Smart [13] which contains a selection of hardware projects that can be created with Espruino-based microcontrollers.
To achieve maximal memory efficiency, Espruino executes code from source directly inside the parser, without the use of an Abstract Syntax Tree or intermediate bytecode. [14]
The first official development board was the Original Espruino. Later boards are available in a variety of form factors. The Original Espruino was followed by the Espruino Pico, Espruino WiFi, Puck.js and Pixl.js. A breakout board featuring the MDBT42Q Bluetooth LE module, the same used in the Puck.js and Pixl.js, is also available.
Developer(s) | Gordon Williams |
---|---|
Repository | github |
License | Apache License 2.0 |
Website | www |
Espruino programs are written using JavaScript. The Espruino IDE is available as a web-based app, a Google Chrome App and as a native Windows application. [15] Alternative methods of programming Espruino boards include using terminal programs such as PuTTY on Windows. [16]
All of Espruino is open source. The different parts are licensed as follows:
Processing is a free graphics library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.
Arduino is an Italian 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 the 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.
The .NET Micro Framework (NETMF) is a .NET Framework platform for resource-constrained devices with at least 512 kB of flash and 256 kB of random-access memory (RAM). It includes a small version of the .NET Common Language Runtime (CLR) and supports development in C#, Visual Basic .NET, and debugging using Microsoft Visual Studio. NETMF features a subset of the .NET base class libraries, an implementation of Windows Communication Foundation (WCF), a GUI framework loosely based on Windows Presentation Foundation (WPF), and a Web Services stack based on Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL). NETMF also features added libraries specific to embedded applications. It is free and open-source software released under Apache License 2.0.
IOIO is a series of open source PIC microcontroller-based boards that allow Android mobile applications to interact with external electronics. The device was invented by Ytai Ben-Tsvi in 2011, and was first manufactured by SparkFun Electronics. The name "IOIO" is inspired by the function of the device, which enables applications to receive external input ("I") and produce external output ("O").
Raspberry Pi is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned toward the promotion of teaching basic computer science in schools. The original model became more popular than anticipated, selling outside its target market for diverse uses such as robotics, home automation, industrial automation, and by computer and electronic hobbyists, because of its low cost, modularity, open design, and its adoption of the HDMI and USB standards.
STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.
Mbed is a development platform and operating system for internet-connected devices based on 32-bit ARM Cortex-M microcontrollers. The project was a collaboratively developed by Arm and its technology partners. As of July 2024 Mbed is no longer actively developed by Arm.
Adafruit Industries is an open-source hardware company based in New York, United States. It was founded by Limor Fried in 2005. The company designs, manufactures and sells electronics products, electronics components, tools, and accessories. It also produces learning resources, including live and recorded videos about electronics, technology, and programming.
Tinkerforge is an open source hardware platform of stackable microcontroller building blocks (Bricks) that can control different modules (Bricklets). The primary communication interface of the building blocks can be extended using Master Extensions. The hardware can be controlled by external programs written in C, C++, C#, Object Pascal, Java, Perl, PHP, Python, Ruby, Shell and VB.NET over a USB, Wifi or Ethernet connection, and running on Windows, Linux and macOS. This non-embedded programming approach eliminates the typical requirements and limitations of conventional embedded software development. Tinkerforge hardware and software are both open source, and all files are hosted on GitHub.
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".
The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2010. The microcontroller board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular 9-volt battery. It has the same microcontroller as the Arduino Nano board, and the same headers as the Leonardo board. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.
OpenBCI is an open-source brain–computer interface platform, created by Joel Murphy and Conor Russomanno, after a successful Kickstarter campaign in late 2013.
The Micro Bit is an open source hardware ARM-based embedded system designed by the BBC for use in computer education in the United Kingdom. It was first announced on the launch of BBC's Make It Digital campaign on 12 March 2015 with the intent of delivering 1 million devices to pupils in the UK. The final device design and features were unveiled on 6 July 2015 whereas actual delivery of devices, initially planned for September 2015 to schools and October 2015 to general public, began on 10 February 2016.
The ESP8266 is a low-cost Wi-Fi microcontroller, with built-in TCP/IP networking software, and microcontroller capability, produced by Espressif Systems in Shanghai, China.
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.
Apache Mynewt is a modular real-time operating system for connected Internet of things (IoT) devices that must operate for long times under power, memory, and storage constraints. It is free and open-source software incubating under the Apache Software Foundation, with source code distributed under the Apache License 2.0, a permissive license that is conducive to commercial adoption of open-source software.
ESP32 is a series of low-cost, low-power system-on-chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs either a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations, an Xtensa LX7 dual-core microprocessor, or a single-core RISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. Commonly found either on device specific PCBs or on a range of development boards with GPIO pins and various connectors depending on the model and manufacturer of the board.
RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board. Its successor is the RP2350 series.
{{cite book}}
: CS1 maint: others (link){{cite book}}
: CS1 maint: others (link){{cite book}}
: CS1 maint: others (link){{cite book}}
: CS1 maint: location missing publisher (link) CS1 maint: multiple names: authors list (link)