Another Internet Of Things Board (But This One Has Lisp)

Using routers as dev boards has been a long and cherished tradition in the circles we frequent, and finally design houses in China are taking notice. There have been a few ‘Internet of Things’ boards in recent months that have taken the SoC found in low-end routers, packaged the on a board with USB, some GPIOs, and a fair bit of memory and called it a dev board. The ZERO Plus is not an exception to this trend, but it does include a very interesting feature when it comes to the development environment: this one uses Lisp as its native language.

The Zero Plus is pretty much what you would expect from a router SoC being transplanted to an Internet of Things board: it uses the Ralink RT5350 SoC, giving it 802.11b/g/n, has 32MB of RAM, 8 or 16 M of Flash, I2C, I2S, SPI, USB, two UARTs, and 14 GPIOs. There is support for a webcam, temperature and humidity sensor, displays, and Arduino via a breakout board that appears to contain a standard, DIP-sized ATMega328,

All of that could be found in dozens of other boards, though. What really sets this one apart is the Lisp development environment. Programming the Zero is exactly as elegant as you would expect, with a ‘toggle a LED according to what time it is’ program looking something like this:

(define LED_On (lambda ()(dev.gpio 11 "out" 1)))
 (define LED_Off (lambda ()(dev.gpio 11 "out" 0)))
 (define CurrentTime? (lambda ()
    (int (time.strftime "%H" (time.localtime (time.time))))))
       (define Night?
          (lambda ()
            (and
            (> ( CurrentTime? ) 16) (< ( CurrentTime? ) 23)
          )
       )
    )
 (if (Night?) (LED_On) (LED_Off)

Dev boards built around somewhat more esoteric programming language isn’t anything new; The Espruino brings Javascript to ARM microcontrollers, and the MicroPython project is an astonishing undertaking and successful Kickstarter that brings the BASIC for the 21st century to the embedded world. Lisp, though… I don’t think anyone expected that. It’s a great way to differentiate your product, though.

26 thoughts on “Another Internet Of Things Board (But This One Has Lisp)

  1. Lisp makes Zero+ unique and geek, but Zero+ is more than an IOT controller.
    Behind the Zero+ hardware(SoC for home router), there are customized OpenWRT system, Language Interpreter(customized LISP), Cloud Service and Web IDE. So all of these composite an IOT platform. You can define the execution logic both in Cloud and in Zero+ by writing code in Zero+ Web IDE. By using customized LISP language, you can define your own program syntax.Just use websocket in your web application, you can interact with Zero+ cloud service and your Zero+.
    The goal is to provide a Simple, Interesting and Efficient IOT platform.

  2. (define LED (lambda (mode) (dev.gpio 11 “out” mode)))
    (define on 1)
    (define off 1)
    (define CurrentHour (lambda ()
    (int (time.strftime “%H” (time.localtime (time.time)))))
    (define Night? (lambda ()
    (let (current-hour (CurrentHour))
    (and
    (> current-hour 16)
    (< current-hour 23))))
    (if (Night?)
    (LED on)
    (LED off))

    — endbugs

    1. The Lisp interpreter is designed by SmartMatrix team. The interpreter runs both at Zero+ and Zero+ cloud service. You can define the execution logic both in Cloud and in Zero+ by writing code in Zero+ Web IDE. Just use websocket in your web application, you can interact with Zero+ cloud service and your Zero+. The goal is to provide a Simple, Interesting and Efficient IOT platform. About the open source plan, please refer the Zero+ indiegogo page: https://www.indiegogo.com/projects/zero-plus-prototype-your-iot-product-in-seconds

Leave a Reply

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