Does anyone have some cool ideas for a use of a scripting language on an embedded system? I'm thinking about the eLua project specifically.
Basically, you need a micro with at least 64k of RAM, 256k of Flash, the Newlib C library, and a gcc compiler, (AVR32, ARM7, Cortex-M3 are all supported right now among others), and you can send it (or program it to load) scripts. It doesn't need an OS, but it lets you use your micro (which is far too small for embedded Linux) much more like a general purpose computing device, by allowing programs not flashed into the program memory to be run.
The current project has a number of example applications, but none of them seem to do anything that you can't do with a program burned into Flash. The big difference that I can see is that you can send each program separately, and run different programs without resetting. In addition, you can use it interactively (Change your program flow with your decisions at the keyboard, rather than having to code everything.
How would you use such a device? Would you give it a keyboard and character LCD, and write your own scripts while it sat on your desk? Would you simply use the scripting language to simplify programming of more complex applications? (Like the games currently available on the project site?) Or would you do something completely different? I'm getting started with it and looking for project ideas.
Edit: You can send it programs over whatever protocol you want to use (UART, SPI/I2C etc., USB, Ethernet), load them from an SD card, whatever your chip supports. Just wanted to clarify that it didn't have to be in a reprogramming-friendly environment.
Edit2: Most of my projects are for my personal use, or for sharing with like-minded friends, not often for sale to the general public. I expect users of my projects to be interested in and familiar with embedded systems, and able to pick up the rudimentary use of a scripting language without too much trouble. I might use them around the house or in the car, or more likely in the shop as an aide to designing and debugging more new projects. I also might propose it to my boss at work, where we manufacture and design embedded systems. Or, I might use it on an engineering project for school.
