A brand new venture from David Johnson-Davies of Technoblogy brings a brand new option to program Lisp whereas providing an replace to a previous venture. The Lisp Badge LE runs uLisp for as much as 40 hours on a single coin cell battery.
Lisp Badge LE’s printed circuit board measures 107 x 61mm with holes on both facet on the high for attaching a lanyard. This dimension PCB is similar Johnson-Davies used within the earlier Lisp Badge. A monochrome LCD sits on the entrance. Whereas the keycaps poke by means of the highest facet, they’re mounted on the again of the PCB with the remainder of the parts.
An AVR128DB microcontroller (MCU) working at 24 MHz powers the badge. Up to now, Johnson-Davies used this Microchip half in an op-amp lab equipment. The MCU runs a variant of Lisp referred to as uLisp. With 128 kilobytes of flash reminiscence and 16 kilobytes of RAM, there’s sufficient area for 2800 Lisp objects.
The LE a part of this badge identify stands for Low Power. Amazingly, your entire badge runs from a single CR2032 coin cell with an estimated lifetime of about 40 hours!
uLisp is a microcontroller-friendly model of the Lisp programming language. It could run on microcontrollers just like the Arduino Uno’s ATmega328P, Teensy 4.0’s Arm Cortex-M7, and RISC-V cores.
Fractal Instance with graphics extensions (📷: technoblogy.com)
You’ll be able to entry 196 Lisp features and 37 key phrases for issues like Arduino constants. For instance, there’s a key phrase named “:led_built-in” for Lisp Badge LE’s onboard LED. Johnson-Davies additionally added a graphics library to plot on to the 250×122 pixel show.
Programming extensions allow you to entry further {hardware} just like the piezo buzzer for producing sound or the AVR128DB’s peripherals. For instance, there are hooks for the serial (I2C, SPI, UART) buses, eight analog inputs, and two analog outputs.
The 45-key keyboard makes it straightforward to enter applications into Lisp Badge LE. The character set contains higher and decrease case letters, digits, and the symbols required for uLisp syntax. There are Meta and Shift modifiers to permit for extra character entry.
Switches kind the keyboard matrix (📷: technoblogy.com)
Regardless that the main target for this badge is uLisp, there’s a further built-in programming choice. You can even write and assemble AVR meeting code, which incorporates extensions to Lisp Badge LE’s additional {hardware}!
Sooner or later, Johnson-Davies might provide an alternate model of this badge with a 32-bit processor. However, for now, you may get the Eagle design recordsdata and Arduino IDE code from this GitHub repo. Then try the Lisp Badge LE submit on Technoblogy for detailed directions on programming the firmware.