Future directions for uLisp


Here is a list of things I have been thinking about providing for uLisp in the near future.

Please give feedback about whether any of these are of interest to you, so I can decide which to give priority to:

  • Update ARM uLisp to Version 3.4, to include keywords and the bug fixes added to AVR Version 3.4 earlier this month. See AVR Version 3.4 released.

  • Add support for the newly available BBC Micro:bit V2 to ARM uLisp. This would include adding support for two I2C ports to uLisp. See Micro:bit v2 coming soon!.

  • Update ESP uLisp to Version 3.4.

  • Update RISC-V uLisp to Version 3.4.

  • Add support for the AT90USB1286-based Teensy++ to AVR uLisp. See https://www.pjrc.com/store/teensypp.html.

  • Add uLisp commands to AVR uLisp to allow control of the configurable op amps in the AVR128DB48 Curiosity Nano board from Lisp; see http://www.ulisp.com/show?3BMI.

  • Add uLisp commands to AVR uLisp to allow control of the Configurable Custom Logic in the AVR128DA48 and AVR128DB48 Curiosity Nano boards from Lisp; see http://www.technoblogy.com/show?3C19.

  • Publish the build system I use to generate the version of uLisp for each platform from a single set of master sources. This uses a program written in Common Lisp, and I would publish it on GitHub together with minimal documentation and instructions for building each version.

  • Anything else?

Thanks, David


hand raise — Update everything to 3.4, so it is “debugged”! :)



  • Updates for all version.
  • Support the new Micro:bit v2
  • The build system.

These are the ones that would interest me. Thanks!



Hi David,
I’d like to see the ESP uLisp update (and I think the build system would be very interesting too).
I’d tested the ESP version with the relatively new ESP32-S2 Saola board and it seems to work fine. A few changes are needed to support the additional i/o lines.
Best regards,


Hi Kaef, thanks for the suggestions.

Perhaps I should add support for the ESP32-S2 to ESP uLisp. Which board do you recommend? I’ve seen this one too:

FeatherS2 - ESP32-S2

Do you have details of the changes needed to uLisp?


Hi David ,

An update for ARM to 3.4 is on my list.

Kind regards,


Yes, this. Please. I’ve made quite a few changes to 3.3 ino files that I know will have to be hand patched into 3.4


Hi David,

I bought the Espressif Saola board because it was the first board available for the esp32s2. I also think this is some kind of reference device, but the FeatherS2 is probably also a very good decision. I think the differences regarding uLisp are not important.
Sorry, I have no details about the needed changes to uLisp, but there are always the same candidates:

  • Digital I/Os (the esp32s2 has more gpios than the esp32
  • analog I/O, which pins are usable?
  • I2C and SPI standard pins (the esp32 is very flexibly here)
  • sdcard support?

I think all of these items are only minor changes to uLisp. Regarding to the use case the user may define the pins different regarding to his needs, which is very easy to do with uLisp.
Sadly, there is no standard (i.e. ‘out of the box’) support for the esp32s2-arduino; you have to use a second arduino installation with a alpha (or beta?) version of the esp32-idf to get the esp32s2 working. As far as I know the final idf-version which supports esp32 and esp32s2 is not released yet. There’s a description how this can be done at the idf-github page.
I’d love to see ‘official’ support for the esp32s2 in one of the next uLisp-esp releases. I’ll investigate in the listed tokens as soon as I find some spare time…

Best regards,


I’ll order a board - hopefully by then support will have been added to the Arduino IDE.

Thanks! David