💾 Archived View for bbs.geminispace.org › s › Electronics › 13872 captured on 2024-06-16 at 16:23:25. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-05-10)
-=-=-=-=-=-=-
I am looking for a self-contained programming environment on a microcontroller (ESP32 or similar) with a small touch screen, for kids to learn coding, without the need to have a PC or tablet. Nothing too esoteric or low level. I was wondering if such a thing exists or if I need to build it myself.
Jan 13 · 5 months ago
Not sure about touchscreen, but maybe micropython will manage? Depending on kids age there are various Lego toys (education, mindstorm) with programmable controller which have app for android (they use micropython too, education at last, not sure about mindstorm). Self-contained environment without need for PC or tablet might be a little hard to find...
Best bet is something based on micropython with screen and keyboard support.
Idea: build teletype, put micropython on eval board connect teletype to UART.
👻 mediocregopher [...] · Jan 13 at 22:29:
Does a TI-84 calculator count? It's not fancy, but you can type BASIC programs into it. Got me through high school calculus.
edit: It's not touchscreen though, I missed that part of the prompt
⛵️ olav [OP] · Jan 14 at 15:57:
Thank you for the suggestions. Micropython seems a very valid approach, even more so with a complete environment such as https://notes.variogram.com/2023/02/14/tulip/ by Brian Whitman. He already has a port to the T-Deck and is working on a port to MaTouch boards.
Speaking of T-Deck, there is a port of uLisp to this cute device: http://www.ulisp.com/show?4JAO
However, I am afraid Lisp is a tad to early for my clientele.
Also, Octo by John Earnest: http://johnearnest.github.io/Octo/ Maybe a port to ESP32 is feasible.
Despite my personal fascination with microcontroller boards with screens, a Raspberry Pi Zero 2 or even an old netbook is probably a more practical platform for most.
👤 nikhotmsk · Jan 14 at 23:23:
zx spectrum retrocomputer. It was intended for kids, and it is quite good. It has BASIC interpreter in ROM, which is not bad at all.
If you are thinking about some fun programming platform not only for microcontrollers but for rPi/old_netbook for kids look at:
There is Scratch too, but it's a little bit boring IMHO.
i am not sure about the hardware, maybe only vms exist, but i really advice to look at uxn and uxntal or tal. it is not only a forth inspired language and virtual machine, but also a whole community of inspiring creatives, lots of beautifully made programs, that are both engaging and inspiring to do something own. because doing something own doesn't feel not doable, it feels tangible and possible.
and if forth feels not suitable to you (you mentioned lisp is probably not what you are looking for at this point) i would argue that to a kid writing in assembly for 6502 (if someone explains what is going on) is easier and more engaging, than in something like c or python. well, real machines have specifics, but uxn (and any forth) is sort of abstract assembly and i saw how youngsters enjoy assembly much more than anything high level. they enjoy feeling that they know whole language, and there are no layers between them and machine, they are able to speak machine language and translators are not needed. this feeling is very empowering and it educates to understand how machines work.
so later, when working with something high level like c++ or java, same people can imagine what their code compiles to, and the feeling which hintn how to write something hints by considering knowledge of low level processes, there is unconscious expectation that this should compile to that, which not all programmers have. probably that feeling is not common in those who started with js or python.
⛵️ olav [OP] · Jan 19 at 12:52:
Cool that you mention UXN. I have dabbled a little with it, but don't think my youngsters can appreciate it yet. Our little coding group has only one timeslot per week, we hardly manage to fit it in. They are not yet ignited on their own, it's more like keeping the flame on.
But again, thank you for suggesting it. Maybe we can do the UXN tutorial together.