Page 1 of 2

ELLO 3M 'TROLL' computer

Posted: Wed Sep 27, 2017 8:37 pm
by kiiid7
This is my new development, successor to the ELLO 2M. At 3.9mm total, it is one of the thinnest systems ever, yet it is much better expandable than the 2M. Main processor - ESP32.

Hardware still in early stage and I had to fix a few small issues, but the big question that I am facing - software. I want to make an integrated shell similar to what is in 2M (but no Basic!!). Think of the 8-bit and early 16-bit machines.

I have written a special language similar to Python and Java, but that needs to go in a HAL framework. Has anyone already done such thing so I won't need to reinvent the wheel?

KnivD at me.com

Re: ELLO 3M 'TROLL' computer

Posted: Thu Sep 28, 2017 7:31 am
by loboris
It looks like an interesting project.
Why not use MicroPython, it should be ideal for such a project ?
There is "official" ESP32 port, or you can try my Micropython port which has more ESP32 specific support and also the support for the display.
You will only need some changes to make the interactive Python prompt work with keyboard/screen.

There is also very good Lua implementation for ESP32 which could also be used as a software base of the project.

Re: ELLO 3M 'TROLL' computer

Posted: Thu Sep 28, 2017 8:38 am
by kiiid7
Great. The Micropython might be a good fit. The keyboard is not a problem because it is served by a separate controller (pic18f45k50), which can be used also to upgrade the esp32's firmware via usb. Beside that one there is only one other major chip - ft813 for the display. Does your port support that one?

Re: ELLO 3M 'TROLL' computer

Posted: Thu Sep 28, 2017 10:41 am
by loboris
kiiid7 wrote:Great. The Micropython might be a good fit. The keyboard is not a problem because it is served by a separate controller (pic18f45k50), which can be used also to upgrade the esp32's firmware via usb. Beside that one there is only one other major chip - ft813 for the display. Does your port support that one?
EVE-FT81x is not supported at the moment (I have some plans to support it later), but it shouldn't be too hard to implement the driver (especially if you already have the PIC32 driver).
What I've meant about keyboard/display is that MicroPython interactive prompt (REPL) works over UART (or Telnet if enabled) and some changes are needed to make it work with keyboard as input and display as output. I haven't tested it, but it shouldn't be hard to implement.

I would suggest to use ESP32 with external SPIRAM (e.g. ESP32-WROVER), it works great with latest esp-idf and you have up to 4MB of Python heap...

Re: ELLO 3M 'TROLL' computer

Posted: Thu Sep 28, 2017 10:53 am
by kiiid7
I would suggest to use ESP32 with external SPIRAM (e.g. ESP32-WROVER), it works great with latest esp-idf and you have up to 4MB of Python heap...
That was one of the small changes I made in the new revision. Now the board includes an optional footprint for SPI MRAM (such as MR25H40).

Re: ELLO 3M 'TROLL' computer

Posted: Thu Sep 28, 2017 3:41 pm
by loboris
kiiid7 wrote:That was one of the small changes I made in the new revision. Now the board includes an optional footprint for SPI MRAM (such as MR25H40).
I doubt that it will work with ESP32 (if you want it integrated into ESP memory map).
Why not use the same SPIRAM which is used in ESP32-WROVER? It is 4MBytes (32Mb) not 4Mbits as MR25H40.
And the price of the MR25H40 is 3x the price of the whole ESP32-WROVER (4MB Flash+4MB SPIRAM) module, which you can get for 4 US$ ...

Re: ELLO 3M 'TROLL' computer

Posted: Thu Sep 28, 2017 3:47 pm
by kiiid7
Point taken.
Fortunately I still have not sent the latest revision to the factory, so it is a good time to change that chip. The only downside is that it is volatile memory, but I guess that is something acceptable.

EDIT: Hmmm... it looks like the ESP-PSRAM32 IC is 1.8V device. That would require level shifting (my entire schematic works at 3.3V) and a separate 1.8V power supply. Not sure if it is worth it considering the fact it can be added later as a plug-in

Re: ELLO 3M 'TROLL' computer

Posted: Thu Sep 28, 2017 4:41 pm
by loboris
kiiid7 wrote:... it looks like the ESP-PSRAM32 IC is 1.8V device.
ESP32 has 1.8 V output for powering SPIFlash & SPIRAM chips. Look at the schematics at the end of ESP32-WROVER datasheet for connection details.

Re: ELLO 3M 'TROLL' computer

Posted: Thu Sep 28, 2017 8:07 pm
by JimmyPedersen
An alternative to Python you might want to check out is Mongoose-OS.
https://mongoose-os.com
Then you could write your code in, a somewhat reduced, Javascript (or c++) . Mongoose-os also has a lot of cool functionality like extendable RPC support, built in webserver, FOTA and tools to easily connect to most cloud servers (amazon, google etc...)
Sorry if I sound like an advertisement for this system, I'm not in any way affiliated with Cesanta that develops this but I do think it is quite cool.

Re: ELLO 3M 'TROLL' computer

Posted: Fri Sep 29, 2017 4:49 pm
by kiiid7
I will have a look at Mongoose-OS as well. Just finished with the redesign so now ESP-PSRAM is on board instead. Almost ready to make the new revision now (hopefully the final one).