Lisp Runs This Microcontroller Pendant

As a programming language, Lisp has been around longer than any other active language except for Fortran. To anyone who regularly uses it, it’s easy to see why: the language allows for new syntax and macros to be created fluidly, which makes it easy to adapt it to new situations, like running it on a modern Atmel microcontroller to control the LEDs on this star pendant.

The pendant has simple enough hardware — six LEDs arranged around the points of the star, all being driven by a small ATtiny3227 operating from a coin cell battery. This isn’t especially spectacular on it’s own, but this particular microcontroller is running an integer version of a custom-built Lisp interpreter called uLisp. The project’s creator did this simply because of the whimsy involved in running a high-level programming language on one of the smallest microcontrollers around that would actually support the limited functionality of this version of Lisp. This implementation does stretch the memory and processing capabilities of the microcontroller quite a bit, but with some concessions, it’s able to run everything without issue.

As far as this project goes, it’s impressive if for nothing other than the ‘I climbed the mountain because it was there’ attitude. We appreciate all kinds of projects in that same vein, like this Arduino competitor which supports a programming language with only eight commands, or this drone which can carry a human.

20 thoughts on “Lisp Runs This Microcontroller Pendant

  1. I have to wonder about the resources this Lisp interpreter has compared to the one Guy Steele wrote for the IBM 1130 with 16K words (32Kbytes)back in the 1970’s. I will guess it takes less than 7 hours to compile, though. No need to go through boxes of computer cards.

    1. One summer day when I was 13 and told to do the cleaning I just couldn’t get myself to brush the toilet. I imagined it’ll be great idea to get my sister’s vibrator (she was 17 at that time), tape it to toilet brush and use do the job faster. Unfortunately I got distracted, left the thing and toilet brush on my desk then went outside to play with friends. Let’s just say my father wasn’t happy when he came home and saw my room. I had a lot of explaining that it was meant to be an invention, vibrator wasn’t mine and I don’t need to go to psychologist. It’s the same thing with using LISP. It might sound like a good idea, SICP is very important book in computer history but your boss won’t be happy when he finds out you’re toying around instead of just using C or MicroPython.

  2. When C came out widely (late 70’s) lisp and fortran were both chucked in the bin as far as I was concerned. And there they can stay… My first sold commercial program was written in fortran (1974), and it turned into my last commercial program written in fortran… And 50 years on I still can’t see the point of lisp..

      1. Learning “Structure and Interpretation of Computer Programs” was fun, it teaches important knowledge and concepts. But ultimatively a waste of time. You can program an MCU far better in assembly, C and even python or LUA code.

    1. Yeah, I had an introduction to Lisp in College (part of the Programming Landscape course) back in the 80s, but never saw the point either. Fortran/Cobol seemed to have more reason to live on than Lisp :) . I think you have to have a ‘special’ mind to really get into Lisp.

    1. The one I remember was “Lots of Insipid Stupid Parentheses”, which I heard from Guy Steele, who was for quite a while the expert on Common Lisp – which has changed quite a bit over the time. No more “setq”, it seems. (I spent a while re-learning it a year or so ago, for fun. My paid work is largely C/C++, with some shell scripts and other random stuff thrown in. But my first paid work was in Fortran, in 1975 on Data General Nova computers; a summer job.)

    1. From wikipedia, Lisp was 1958. Lisp appears to have been introduced gradually, so it could be a bit older than that, or a bit younger. ALGOL was May 1958. COBOL was 1959. APL was 1966. BASIC was May 1964.

  3. In AutoCAD you can write LISP ruotine and automate from simple tasks to very complex ones. A good programmer can do incredible thing, of great help and benefits for those that are not so skilled as myself and many others. Those routines posted on several CAD forums are open for the lay CAD user.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.