I would like to generate a list of high-level language interpreters and compilers (e.g. something that compiles LISP to C code) for microcontrollers.

I've done a bit of research so far that I will document here:

List of projects for running Python on microcontrollers: http://web.media.mit.edu/~nvawter/projects/pyMicro/

PyMite: http://wiki.python.org/moin/PyMite

python-on-a-chip: http://code.google.com/p/python-on-a-chip/

Armpit Scheme: http://armpit.sourceforge.net/

TinyScheme: http://tinyscheme.sourceforge.net/home.html

Minimal LISP Interpreter: http://www.sonoma.edu/users/l/luvisi/sl5.c

Embedded ML: http://embeddedml.sourceforge.net/Site/Intro.html

eLua: http://www.eluaproject.net/

Embedded JAVA: http://en.wikipedia.org/wiki/Embedded_Java

amforth: http://amforth.sourceforge.net/

TinyTCL: http://tinytcl.sourceforge.net/

Tiny BASIC: http://www.ittybittycomputers.com/IttyBitty/TinyBasic/index.htm

AVR shell: http://www.instructables.com/id/AVRSH-A-Command-Interpreter-Shell-for-ArduinoAVR/

Bitlash shell (AVR): http://bitlash.net/wiki/start

Transterpreter (occam-pi on AVR): http://www.transterpreter.org/

Rite (embedded Ruby) (will be released in 2011): http://www.slideshare.net/yukihiro_matz/rubyconf-2010-keynote-by-matz

Jal (pascal like) for PICs, compiler: http://www.casadeyork.com/jalv2/ libraries: http://code.google.com/p/jallib/

.NET Micro Framework (C# and VB.NET): http://netmf.codeplex.com/

This is a community wiki – please feel free to add to the list.


I would add Staapl to this list.

Staapl allows you to use Scheme macros as a metaprogramming tool on top of a forth-like stack language. Staapl currently targets the PIC18 chips.

Forth is definitely not a high level language, but the addition of Scheme on top of it eases the development.


Here is a good list from SO that lists languages targeted to micros, although I think you got most of them. I've added the ones missing, leaving out the C interpreters.

There are also programs that will compile C++ to C, and I have seen some experimental work to translate c# to c for micro use, but that seems unnecessary.


I would like to add C# using the .NET Micro Framework. There are many ARM ports in use and it is well supported and documented. http://msdn.microsoft.com/en-us/library/cc533001.aspx

Some of the well known development boards out there:

Fez Panda/Domino Netduino and Netduino plus


I'm in the process of installing the toolchain to use the Transterpreter with the Arduino. It lets you write occam-pi for the ATmega chip (which supports concurrency). There's also an occam-pi library that supports all of the Arduino functions:


The Transterpreter is now part of the KRoC (Kent occam-pi system) project.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.