[Vm-dev] [squeak-dev] MQTT for Squeak?

tim Rowledge tim at rowledge.org
Sun Oct 30 18:01:10 UTC 2016

> On 30-10-2016, at 6:26 AM, Ben Coman <btc at openInWorld.com> wrote:
> On Sun, Oct 30, 2016 at 6:37 AM, tim Rowledge <tim at rowledge.org> wrote:
>> And now I have my ESP8266 with DHT22 temp/humidity sensor publishing ok. Arduino c++ is really quite an amazingly unpleasant language. We need Smalltalk on these things!
> How small could we conceivably make the VM to fit on one of these...?
> https://www.arduino.cc/en/Products/Compare

Arduino is just too small to be very interesting and to be honest, too expensive. The ESP8266 boards are  typically $3-4. Including the WiFi!

> Maybe it would be better to port the VM to the ESP32…

Yes, this might be quite interesting. I could see an interesting way to leverage Eliot's ancient BrouHaHa vm along with my ROM image technology as developed for the Active Book. That worked very nicely on a 4MHz ARM2 (no caches, not even an instruction prefect buffer) with 1Mb RAM (for everything including the executing code, screen and a filing system) and 1Mb ROM. If it is possible to memory map the flash somehow to behave like ROM… 

> How small might an extremely minimal image be that just toggles an LED?

Well, the Active Book image was about 600Kb in ROM and used around 256Kb RAM most of the time; saved images were typically <100Kb since I saved only the delta from the root ROM. That was a full GUI with applications for text handling, fax sending and receiving and displaying, a paint program (that actually used vectors and fills most of the time to save memory) and some other stuff. The developer image had all the normal (as of 1990) Smalltalk-80 stuff and might have hit 1Mb.

Ignoring the time-sink we all know and love as Morphic, and assuming that the 240MHz ESP32 cpu runs much like an old StrongARM 200, then you could get pretty decent performance. 

tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Oxymorons: Exact estimate

More information about the Vm-dev mailing list