Main Content

Lisp Star

The Lisp Star is a star-shaped pendant that you can program in Lisp to make its six coloured LEDs twinkle in different patterns

The pendant is based on the ATtiny3227, a microcontroller with 32Kbytes of flash memory and 3Kbytes of RAM, enough memory to run an integer version of my Lisp interpreter, uLisp. To program it you connect to it from a computer via the six pads on the front of the pendant, and you can then enter a program written in uLisp, or edit an existing program, via a serial terminal or the Serial Monitor in the Arduino IDE.

I must admit that my original motivation for designing this was the incongruity of an item of jewellery running a high-level programming language. But it has a more serious application: many non-technical people who would like to learn about programming are not particularly motivated by “Hello World” programs, or programs that perform mathematical calculations, but they might be inspired by the idea of designing their own pattern of flashing LEDs on a pendant.

It’s powered by a 3V coin cell on the back. Press the push button to run the Lisp program and start the pendant twinkling, and press it again to turn it off. Alternatively, the pendant turns off automatically after a delay to avoid accidentally running down the battery.
Introduction
A few months ago I designed the Twinkling Pendant, a star-shaped pendant you could program in C to control six coloured LEDs. When Microchip released their 2-series ATtiny chips I realised that they now provided enough flash memory and RAM to run my Lisp interpreter, uLisp, and I thought it would be amusing to make a pendant that ran a high-level language that allowed you to program the pattern of LEDs.

Another factor that makes the ATtiny3227 ideal for this application is that the 20 and 24-pin 2-series parts are the only new ATtiny parts that provide a separate reset pin. This makes it convenient to use the Optiboot bootloader with these parts, to upload programs via serial, because it uses a connection between DTR and RESET to initiate the upload.”

Link to article