eLuaBrain is an experiment in educational computers with a number of unique features. It is a low cost, completely autonomous computer designed to work with low cost peripherals (PS/2 keyboard on input and a standard VGA monitor on output). Its main goal is to offer another perspective on education in general and training IT professionals in particular. Modern computers are difficult to understand at the hardware level even for experienced IT professionals; at the same time, there is a growing trend in most modern computer languages to completely ignore the hardware on which they run and focus entirely on programming concepts instead. By contrast, eLuaBrain offers the whole experience in a single package. Its hardware is easy to understand (and hack) and the on-board software offers easy ways to interact with the hardware, thanks to the features provided by the eLua open source project. eLua is built around the programming language Lua, which is a relatively compact language, but comes packed with lots of features, which makes it very suitable for teaching programming concepts. With eLuaBrain it is natural to teach programming and hardware design in parallel, which gives students a complete image on the hardware-software interactions. At the hardware level, it is built around a 32-bit CPU (a Cortex-M3 core) with 1M of external RAM. It also features TCP/IP network connectivity, SD card storage and a low power radio link. eLua brings a MCU-friendly Lua interpreter and hardware support modules into the equation, while the built-in code editor and on-line help system make eLuaBrain a truly autonomous platform. A very low footprint, UDP based remote file system can be used to easily share files with any desktop machine. The hardware and software behind eLuaBrain are open source, free to use for both commercial and non-commercial projects. eLuaBrain comes with a number of sample applications meant to demonstrate the platform features and to serve as a starting point for future applications. These include a RSS reader, an IRC client, a Web server and (of course) games. This presentation will start with an overview of eLua, after which we'll take a deeper look at the implementation of eLuaBrain at both hardware and software level and its future directions of development. If time allows and the right hardware is in place, a live demo of the platform will also be provided.
Speakers: Bogdan Marinescu Raman Gopalan