2086 views|2 replies

1w

Posts

25

Resources
The OP
 

Lisp Badge (uList Badge) [Copy link]

 

Lisp Badge is a standalone ATmega1284-based computer with a display and keyboard that you can program with uLisp:

You can use it to run programs that interface with components such as LEDs and buttons through the I/O pins, read analog inputs, and operate external devices through I2C and SPI interfaces. It has a grayscale OLED display that can display 8 lines of 42 characters, and an integrated 45-key keyboard optimized for Lisp. See the Lisp Badge for build details .

Specifications

  • Dimensions: 107 mm x 61 mm (4.2 in x 2.4 in).
  • Display : 42 characters x 8 lines.
  • Keyboard: Integrated 45-key keyboard providing upper and lower case characters, numbers and symbols required by uLisp.
  • Available memory : 2816 Lisp units (11264 bytes).
  • EEPROM : 1024 Lisp cells (4096 bytes), allowing you to save your Lisp workspace using save-image .
  • Processor: ATmega1284P
  • Clock speed: 16 MHz.
  • Current consumption: Approx. 20 mA

language

  • uLisp is a subset of Common Lisp with 122 Lisp functions and special forms. See the uLisp Language Reference for a complete definition . The language includes two extensions, plot and plot3d , for drawing graphics and 3d functions.
  • Supported types : list, symbol, integer, character, string, and stream. An integer is a sequence of digits, optionally prefixed with "+" or "-". Integers can be between -32768 and 32767. You can enter hexadecimal, octal, or binary numbers, and use the notation #x2A, #o52, or #b101010, which all represent 42. User-defined symbol names can have arbitrary names. Any sequence that is not an integer can be used as a symbol; so, for example, 12a is a valid symbol. There is only one namespace for functions and variables. In other words, you cannot use the same name for a function and a variable. Includes a mark and sweep garbage collector. Garbage collection takes 5 milliseconds.

interface

  • These are brought out to headers on the edge of the Lisp Badge board. The numbers in brackets refer to the Arduino pin numbers:
  • Four analog input pins using AnalogRead : A0 to A3 (24 to 27) and VCC and GND.
  • Use the two analog outputs of AnalogWrite : MISO (6) and SCK (7).
  • Digital inputs and outputs using pinmode , digitalread , and digitalwrite : MOSI (5), MISO (6), SCK (7), RX0 (8), TX0 (9), SCL (16), SDA (17), and A0 to A3 (24 to 27)
  • I2C interface using with-i2c and restart-i2c : SCL(16) and SDA(17).
  • SPI interface using with-spi : MOSI (5), MISO (6) and SCK (7).
  • Serial interface (FTDI) using with-serial : RX0 (8) and TX0 (9).

The shift key can be used as a digital input: SHIFT (23).
SCK (7) is connected to the LED on the front panel. This is an analog output pin, so you can change the brightness of the LED.

Latest reply

Can micrpython also have one? That would be fun.  Details Published on 2020-3-26 18:24
 
 

6

Posts

0

Resources
2
 
Can micrpython also have one? That would be fun.

Comments

I have this idea, it depends on whether you are interested.  Details Published on 2020-3-27 08:50
 
 
 

1w

Posts

25

Resources
3
 
weeklybuilds posted on 2020-3-26 18:24 Can micrpython also come, so it will be fun

I have this idea, it depends on whether you are interested.

 
 
 

Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list