[HN Gopher] The Forth Deck mini: a portable Forth computer with ...
       ___________________________________________________________________
        
       The Forth Deck mini: a portable Forth computer with a discrete CPU
        
       Author : hggh
       Score  : 119 points
       Date   : 2024-06-26 20:12 UTC (2 hours ago)
        
 (HTM) web link (mynor.org)
 (TXT) w3m dump (mynor.org)
        
       | artemonster wrote:
       | I have used to have an obsession with Forth and discrete CPUs
       | when I was a teenager (if you google hard enough you will find an
       | ancient webring of homebuilt CPUs out of discrete components),
       | this obsession led me to my profession now - Digital Hardware
       | Designer. My heart fills with joy when I see such posts at top of
       | HN :) Great work!
        
       | pushfoo wrote:
       | TL;DR: Looks like a step toward the AlphaSmart of programming
       | 
       | If you don't remember the AlphaSmart[1], it was a line of
       | typewriter-like devices with small LCD displays. They ran on
       | batteries for hours and had limited save space. You could hook
       | them up to a larger computer to save your drafts.
       | 
       | Where's the programming version of that? The recent HN post[2]
       | about running a Mac 128k on a RPI2040[3] got me thinking about
       | that. In theory, you could get real work done on a system like
       | that, although it wouldn't be very good for entertainment.
       | 
       | So, where's the AlphaSmart of low-power computing?
       | 
       | 1. "Real" keyboard
       | 
       | 2. Low-power display, ideally a larger e-ink one
       | 
       | 3. Not connected to the internet
       | 
       | To be clear, I don't mean a TI-83-like[4], TI-92[5], or even the
       | recent NumWorks[6]. Those are meant to be calculators and have
       | inconvenient calculator-like form-factors.
       | 
       | [1]: https://en.wikipedia.org/wiki/AlphaSmart
       | 
       | [2]: https://news.ycombinator.com/item?id=40699684
       | 
       | [3]: https://axio.ms/projects/2024/06/16/MicroMac.html
       | 
       | [4]: https://en.wikipedia.org/wiki/TI-83_series
       | 
       | [5]: https://en.wikipedia.org/wiki/TI-92_series
       | 
       | [6]: https://www.numworks.com/
        
         | voltaireodactyl wrote:
         | Even just an e ink alphasmart would be killer -- the key
         | feature for me was the Mac keyboard + shortcuts so I never had
         | to think while using it.
        
           | pushfoo wrote:
           | TL;DR: Freewrite[1] tries but it isn't the same
           | 
           | They are selling a line of professionally oriented devices.
           | I'm not sure they're worth it.
           | 
           | * The "Alpha" model[2] nods to the AlphaSmart form factor,
           | but it isn't e-ink
           | 
           | * Weird-looking keyboard layouts with no Apple-style key in
           | sight
           | 
           | * These devices are expensive for what they seem to offer
           | 
           | I've never used one so I can't really speak about more than
           | what I've seen on the site. There were some negative reviews
           | of earlier models. I'm not sure how current ones rate, nor
           | what their keyboard feels like.
           | 
           | [1]: https://getfreewrite.com/
           | 
           | [2]: https://getfreewrite.com/products/alpha
        
         | kragen wrote:
         | i've been wanting that for years myself, and with the advent of
         | sharp's memory-in-pixel lcd displays and ambiq's subthreshold-
         | logic arm microcontrollers, it's become possible to make it
         | work under a milliwatt, which means it can run purely on solar
         | power without batteries, using parallel nand flash for mass
         | storage at a low duty cycle. i haven't progressed beyond the
         | earliest prototyping stage myself; my design notes on the so-
         | called zorzpad (mostly in spanish) are in
         | http://canonical.org/~kragen/sw/zorzpad.git/ and za3k vance has
         | been working on a project inspired by it called the zorchpad
         | https://blog.za3k.com/tag/zorchpad/
         | 
         | the primary objective of the zorzpad is longevity, with a
         | design lifetime of 53 years. to reach that objective i think i
         | can't use batteries, charging ports, or off-the-shelf
         | keyswitches. this forces a lot of compromises on the system
         | design; i haven't found a processor with an mmu that can run at
         | under a milliwatt
         | 
         | ("zorzpad" is a pun on "thinkpad"; it's pronounced "thorthpad"
         | in some spanish dialects, so it's the opposite of a thinkpad)
         | 
         | i think e-ink displays probably use way too much power. for
         | years i've been looking for solid power consumption numbers,
         | but in their absence, dividing an amazon swindle's battery life
         | by its battery capacity suggests that they use about 100
         | milliwatts. the zorzpad's e-ink displays are about a tenth as
         | big, use about a thousandth as much power (100 microwatts), and
         | can be updated at 60 hertz (though the datasheet only
         | guarantees 20)
         | 
         | if you aren't worried about going batteryless, or about mass
         | production, you could literally buy an alphasmart neo and wire
         | its keyboard and display up to an esp32 or something
        
           | e63f67dd-065b wrote:
           | My understanding is that eink only uses power on refresh; if
           | you don't change the image, the pigments remain where they
           | are and draw no power.
        
             | kragen wrote:
             | yes, that's right. so there's a refresh rate crossover
             | point at which e-ink actually uses less power. my
             | calculations from the very uncertain information i have is
             | that it's around 20 minutes. that is, if you update the
             | display once every five minutes, the e-ink display will use
             | significantly more power than the memory-in-lcd display
             | updating 60 times a second. there are real limits to the
             | utility of a computer that needs several minutes to redraw
             | its display; though i wouldn't venture to say that it's
             | useless, you can't do anything similar to a conventional
             | gui on it
        
               | kristopolous wrote:
               | The hisense e-ink phones are known to have week long
               | battery lives (A5 and A9) so I'm thinking not all e-ink
               | is the same. I know there's e-ink nerds out there and
               | forums dedicated to it but I don't actually know the
               | different types (here's an overview I think:
               | https://en.wikipedia.org/wiki/Electronic_paper). Maybe
               | the good stuff is harder to find
        
           | pushfoo wrote:
           | TL;DR: I love this idea and have two questions:
           | 
           | 1. For early iterations / similar projects, could all-metal
           | screw terminals[1] accept power internally?
           | 
           | 2. Would supporting UXN/Varvara[2] be an option?
           | 
           | More on these questions below after initial comments.
           | 
           | ## Initial Comments
           | 
           | > if you aren't worried about going batteryless, or about
           | mass production, you could literally buy an alphasmart neo
           | and wire its keyboard and display up to an esp32 or something
           | 
           | I could, but it's a limited in availability. The keyboard is
           | pretty important in my opinion.
           | 
           | > memory-in-pixel lcd displays
           | 
           | I vaguely remember hearing about this, but don't have the EE
           | knowledge to judge the benefits of these. Data sheet for
           | anyone interested: https://www.sharpsde.com/fileadmin/product
           | s/Displays/Specs/L...
           | 
           | ## 1. The screw terminal:
           | 
           | Disclaimer: I'm not an EE specialist.
           | 
           | My understanding is that if the power loss isn't too great,
           | an all-metal internal screw terminal[1] might improve device
           | durability:
           | 
           | * The power source could be replaceable. AA, AAA, LiPo,
           | solar, etc
           | 
           | * If you don't solder to the metal part, even sandpaper or a
           | conveniently shaped rock could remove oxidation
           | 
           | * For a case, internal screw terminals could turn a charging
           | port into an easily replaceable component
           | 
           | ## 2. UXN/Varvara:
           | 
           | From your blog, I see an "artemis apollo 3 board"[3] is being
           | used. From a Sparkfun page[4], it seems to have enough ram to
           | host graphical Varvara.
           | 
           | I was initially doubtful of UXN despite loving the idea, but:
           | 
           | 1. The UXN community seems to have built a self-hosting
           | ecosystem[5] of:                  * development and GUI ROM
           | launching tools             * text, font, and graphics
           | editors             * music sequencing tools
           | 
           | 2. The UXN VM is light: 64k system ram, 4-bit 2-plane color,
           | and misc state and debug
           | 
           | 3. The core UXN VM is simple: a minimal implementation fits
           | in under 150 lines[6] of C89
           | 
           | [1]: https://en.wikipedia.org/wiki/Screw_terminal
           | 
           | [2]: https://wiki.xxiivv.com/site/varvara.html
           | 
           | [3]: https://blog.za3k.com/zorchpad-update-cardboard-mockup-
           | mk1/
           | 
           | [4]: https://www.sparkfun.com/artemis
           | 
           | [5]: https://github.com/hundredrabbits/awesome-uxn
           | 
           | [6]: https://wiki.xxiivv.com/etc/uxnmin.c.txt
        
         | bloopernova wrote:
         | An e-ink with an HDMI input would be fantastic.
        
           | rom16384 wrote:
           | Dasung makes e-ink monitors, with an HDMI input, such as the
           | Dasung Paperlike.
        
         | cancerhacker wrote:
         | TRS-80 Model 100 seriously fits the bill. Basic, word processor
         | and spreadsheet in ROM, pixel addressable display, fabulous
         | keyboard for its size. RS-232 and 300bps modem. The recent
         | Clockwork-PI evokes it - but the keyboard is a toy and then
         | it's just a Linux laptop with all the distractions therein. The
         | Model 100 was carried by journalists well into the 90s, to
         | compose and upload stories to service bureaus.
        
           | Jun8 wrote:
           | I had one and in a moment of greed sold it :-( What I loved
           | about it was:
           | 
           | * Used regular batteries, no charging, easily obtainable,
           | lasts _quite_ a bit
           | 
           | * Keyboard was awesome
           | 
           | * Retro look & feel
           | 
           | * Size
           | 
           | What I didn't like:
           | 
           | * 8 line display is tiny!
           | 
           | * Would prefer a bit smaller
           | 
           | * Getting data off is a pain (ether are many workarounds but
           | you have to fiddle with it)
           | 
           | So, assuming a $200 price point and using the 5x rule of
           | thumb for HW products, BOM should be $40. Problem is eInk
           | displays are kind of expensive. Putting $15-ish for a 7-inch+
           | display, rest seems bearable doable. (I've never developed a
           | consumer HW product, so these are wild guesses.)
        
         | Jun8 wrote:
         | I would plunk down $199 _right now_ for a basic version of this
         | (more with extra features, e.g. WiFi, expansion lot, etc). My
         | key use case would be using in on planes, esp. when the jerk in
         | the from title their seat all the way back.
        
         | fragmede wrote:
         | I'd say the Cardputuer is closest to what you're asking for.
         | 
         | https://docs.m5stack.com/en/core/Cardputer
        
       | simlevesque wrote:
       | woah, four lines display ? that's luxury. I remember coding on a
       | single line display, kids these days...
        
         | rbanffy wrote:
         | My Epson HX-20 has 4 lines but only 20 characters each.
        
       | ForHackernews wrote:
       | Hmmm... http://collapseos.org/forth.html
        
       | xlii wrote:
       | There's implementation of Forth for Cardputter[0] if anyone is
       | interested. I tried to boot it and it worked.
       | 
       | I'm not a Forth enthusiast myself but was thinking about doing
       | something with Uiua, as I think it's really fun toy language for
       | such application.
       | 
       | [0]: https://github.com/ryu10/M5CardForth
        
         | andypiper wrote:
         | Oh, interesting. Would that be installable OTA using
         | M5Launcher?
        
       | mongol wrote:
       | Reminds me about Oric-1
       | 
       | https://en.m.wikipedia.org/w/index.php?title=Oric_(computer)...
        
       | mjg59 wrote:
       | Some prior art in terms of computers with built-in Forth
       | interpreters: https://en.wikipedia.org/wiki/Jupiter_Ace
       | 
       | And, of course, the Open Firmware used on Suns, PowerPC Macs, the
       | One Laptop per Child, and others made use of Forth (including for
       | the ROMs in expansion cards, allowing them to be CPU-agnostic):
       | https://en.wikipedia.org/wiki/Open_Firmware
        
       | phire wrote:
       | I love reading about optimised Discrete CPUs like this.
       | 
       | Only 16 logic ICs. Doesn't even have an adder, the only ALU
       | function is a 1 bit Nor gate.
       | 
       | Details on this page: http://mynor.org/my4th.htm
        
       ___________________________________________________________________
       (page generated 2024-06-26 23:00 UTC)