128 points by lispm 8 days ago
There is something very whimsical about a pocket-sized lisp machine.
I wonder what the experience of (junior?) high school would have been like if students were given something like this instead of a TI-84. Math and science classes could focus on constructing playable models that answered the questions posed by the instructors a la "Structure and Interpretation of Classical Mechanics" . Obviously there are some ergonomics issues but I'm still going to daydream about the concept.
If people are interested in these kinds of ideas I highly recommend "Mindstorms" by Seymour Papert .
Love the availability increase in tiny boards with higher level languages.
Many of today's microcontrollers, were the PC, Atari, Amigas, Apple of yore and have enough computing power for the same higher level languages we used to develop on.
Best wishes of a successful project.
I do have to question the choice of microcontroller here; for the same price you could get ARM Cortex M chips (eg Microchip/Atmel SAM) with order of magnitude more RAM, or at quarter of the cost a chip with similar size.
AVRs can be useful for tiny stuff, but they do not really scale to bigger things like this.
I believe anyone who is capable of making one of these is well aware that there are more powerful devices available. Perhaps this might indicate that computational power per dollar is not their driving influence.
Seems like result of iterative design from breadboarded 328p to breadboarded 1284 to finally this. Nothing wrong with that per se, but I do see ways of iterating the design even further.
I would say that AVRs are actually a bit bigger than something like an IBM 709. :)
Depends on how you look at it; according to wikipedia 709 had (up to) 32k * 36b main memory, while ATmega1284 has only 16k * 8b of RAM.
Funnily also wiki says that 7090 can do about 100k FLOPS; based on quick googling 16 MHz AVR can do roughly 200k FLOPS. So not that dramatic difference there either :)
(in case anyone is wondering, AVR is so slow here because it doesn't have fpu. It would probably be much faster for any non-fp code. also any modern 32bitter with fpu would probably crush both)
ATmega1284 has 128K8 of Flash and 16K8 of RAM, so if you have the right balance of readonly data, you can have the same number of bits as on the 709 (and if you count eeprom, you're slightly ahead ;-)
Tangentially related: I see that the board in question use an array of push buttons to implement the resemblance of a keyboard... Does anybody know of a better way to get a kinda-full keyboard (for example: https://www.tuexperto.com/wp-content/uploads/2013/01/Samsung...) in a custom embedded project ?
Blackberry 9700 replacement keypads can be placed over metal metal dome switch arrays built into the pcb, similar to what https://greycat.co/goods/ offers.
I would for sure order a finished product with some basic enclosure.
Me too, it's awesome. I would pay at least 200 EUR for this device in a sturdy case if it also came with a built-in watch and a little beeper. Provided that the battery lasts long enough - if not, a simple character display would also do.
Unfortunately I don't know how to build something like this for myself. :(
That was exactly my first thought - I should make a case for it, that'd be cool. Black anodized aluminium would be nice, but then the pushbuttons will look unsightly and having some printed covers for the buttons would make the scope much too big.
It would also help if something like this came in an App.
That brings me to the point, are there are any Android apps with builtin paredit, rainbow delim, autocomplete features for something like scheme?
I'm not sure there's an app version of Emacs that works on recent versions of Android, but certainly Emacs can be installed in (the Android terminal app) Termux [`pkg install emacs`].
If there is storage. And I wonder about its battery life.
There is storage: you get 1024 cells, which should be enough for anybody.
Thats very nice!
I've built a similar thing a couple of years ago:
Anyone looking for something similar with a better keyboard, may want to look at the board designed by GreyCat (https://greycat.co/goods/) which comes with a screen, blackberry keyboard, trackpad and LORA module for long range communication as it uses an ATmega2560, so uLisp should work on it also. Personally I wish they'd put a esp32 instead so that wifi would also be available.
I wonder if some sort of little 4-way sticks could be used to make the keyboard more compact: each direction would correspond to a separate key.
Though I guess it would mean more moving parts to break.