BrisbaneSlilcon Preps Crowdfunding for the ELM11-Feather, a Lua-Native Microcontroller Dev Board
A GOWIN FPGA at its heart delivers a dual-core design with independent REPLs.
Australian electronics firm BrisbaneSilicon is preparing to launch a Feather-format microcontroller board with a difference: the ELM11-Feather is programmed in the Lua language.
"The current ecosystem of natively scriptable microcontroller boards are programmable in Python," BrisbaneSilicon's Craig Haywood explains. "Unlike Python, Lua was specifically designed to be fast, efficient, and lightweight, making it a fantastic scripting language for embedded systems. Other boards can be modified to gain Lua compatibility, but native support gives users far tighter hardware and software integration."
The board itself is designed to fit the Feather specification, though with one key difference: what would normally be analog pins are, on this board, digital. "The specification does not _require_ analog pins," Haywood notes, but it does mean that add-on boards relying on the analog pins won't work with the ELM11-Feather. The heart of the board is a GOWIN GW1NR-9 8k LUT FPGA, with 1MB of RAM running a dual-core soft CPU clocked at 70MHz.
It's the software side, rather than the hardware side, that makes the ELM11-Feather interesting: it's designed to be a Lua-native device, a programming language developed in 1993 at Brazil's Pontifical Catholic University of Rio de Janeiro's Computer Graphics Technology Group. DEsigned to complete with Tcl, the language was written to avoid what its developers saw as "cryptic syntax" and to embrace a multi-paradigm approach to problem-solving.
Using Lua, developers can access the board's 20 general-purpose input/output (GPIO) pins, any one of which also supports pulse-width modulation (PWM), UART, SPI, and I2C buses, along with five user-programmable LEDs. There's support for an optional lithium-polymer battery with integrated charging circuit, and a hardware watchdog. Programs can be executed either using a pair of read-evaluate-print loops (REPLs), one for each CPU core, or from flash β and pictures of a prototype board reveal a Bouffalo Lab BL702 communications co-processor with Bluetooth Low Energy (BLE) and Zigbee support, though BrisbaneSilicon has not included this in the feature list for the finished board.
More information is available on the project's Crowd Supply page, where interested parties can sign up to be notified when the crowdfunding campaign goes live; BrisbaneSilicon has pledged to release hardware schematics and firmware source under the permissive MIT license in the near future.