New Bonfire Arty Image Released

New version of the Bonfire Arty Image contains the new lates eLua Update

Block Design


The hardware configuration is identical to the previous release


The image contains the newest version of Bonfire eLua. Main features of this eLua release are:

Integrated Text Editor

Bonfire eLua now contains an adapted version of the “Kilo” text editor. It can be started with the edit command e.g

edit /rom/life_server.lua

Editor screenshot

The editor supports syntax highlighting for Lua code, you need to enable ANSI colors in your terminal program to see it. For minicom use the option --color=on to enable it.

Of course on the /rom filesystem saving the file is not possible. So the editor is more usefull if a Micro SD card is connected to the system.



The default image supports the following peripherals

Device Connection Address IP Core  
UART 0 Arty USB Port 80020000 zpuino_uart  
UART 1 PMod UART on JD 80030000 zpuino_uart  
SD Card Pmod SD on JB 80040000 AXI Quad SPI  
Ethernet Arty Ethernet Phy 80E00000 AXI Ethernet Lite  
GPIO0 Arty LEDs 80010000 AXI GPIO  
GPIO1 Arty Dip Switches and Buttons 80020000 AXI GPIO  
GPIO2 Arty Shield DP0-DP19 80050000 bonfire_gpio_core  

IO Subsystem

SD Card

The SD Card can be accesed as device /mmc on the eLua console. It must be formated with FAT32 (exFAT support is disabled by default, but can be enabled when building a custom eLua version).


Unfortunately the AXI Quad SPI core does not support switching the SPI Clock. This means that the SD Card is not initalized with a 400khz clock, as required by the specificaiton. The clock in the image is configured to 20.825 Mhz, so initalisation takes places with this clock. I have tested with two SD cards, an 2GB from Hama and a Kingston 16GB card. SO I think that most modern SD cards will work.

Ejecting/Inserting the SD card while the device is up is not supported. A reboot is required to detect a new inserted card

There is not really much error handling and error messages for the SD card support. When initalisation fails it will fail silently. The ls command will not show any files, trying to open a file will report an I/O error.


eLua contains a experimental networking support with uIP. It is a bit buggy and limited currently, nevertheless communcation is possible- See eLua documentation for details.


The image is configured to get an IP address with DHCP, if it fails it will fall back to:

IP: gw= dns=

Changing is only possible with recompiling eLua.

Currently the default MAC address from the Ethernet Lite core is used, 00:00:5e:00:fa:ce. Setting another MAC address is currently not implemented. So be aware of this…

Examples in the ROM File system

Name Description
life.lua Game of Life demo, output to console
prime.lua “Classic” prime number benchmark
interrupt.lua eLua Timer/Interrupt demo
co.lua Lua coroutine demo
life_server.lua Game of live, network version. Connecto with telnet to port 5050. Can handle more than one session, stop server with pressing a key
tcp_echo.lua Simple tcp Echo demo, connect also to port 5050