ELLO 3M 'TROLL' computer

kiiid7
Posts: 6
Joined: Tue Apr 04, 2017 10:39 am

ELLO 3M 'TROLL' computer

Postby kiiid7 » Wed Sep 27, 2017 8:37 pm

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
Attachments
IMG_20170927_210835.jpg
IMG_20170927_210835.jpg (168.3 KiB) Viewed 569 times
IMG_20170927_210735.jpg
IMG_20170927_210735.jpg (204.52 KiB) Viewed 569 times
IMG_20170927_210645.jpg
IMG_20170927_210645.jpg (211.29 KiB) Viewed 569 times

User avatar
loboris
Posts: 254
Joined: Wed Dec 21, 2016 7:40 pm

Re: ELLO 3M 'TROLL' computer

Postby loboris » Thu Sep 28, 2017 7:31 am

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.

kiiid7
Posts: 6
Joined: Tue Apr 04, 2017 10:39 am

Re: ELLO 3M 'TROLL' computer

Postby kiiid7 » Thu Sep 28, 2017 8:38 am

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?

User avatar
loboris
Posts: 254
Joined: Wed Dec 21, 2016 7:40 pm

Re: ELLO 3M 'TROLL' computer

Postby loboris » Thu Sep 28, 2017 10:41 am

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...

kiiid7
Posts: 6
Joined: Tue Apr 04, 2017 10:39 am

Re: ELLO 3M 'TROLL' computer

Postby kiiid7 » Thu Sep 28, 2017 10:53 am

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).

User avatar
loboris
Posts: 254
Joined: Wed Dec 21, 2016 7:40 pm

Re: ELLO 3M 'TROLL' computer

Postby loboris » Thu Sep 28, 2017 3:41 pm

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$ ...

kiiid7
Posts: 6
Joined: Tue Apr 04, 2017 10:39 am

Re: ELLO 3M 'TROLL' computer

Postby kiiid7 » Thu Sep 28, 2017 3:47 pm

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

User avatar
loboris
Posts: 254
Joined: Wed Dec 21, 2016 7:40 pm

Re: ELLO 3M 'TROLL' computer

Postby loboris » Thu Sep 28, 2017 4:41 pm

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.

JimmyPedersen
Posts: 10
Joined: Sun Nov 15, 2015 4:14 am

Re: ELLO 3M 'TROLL' computer

Postby JimmyPedersen » Thu Sep 28, 2017 8:07 pm

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.

kiiid7
Posts: 6
Joined: Tue Apr 04, 2017 10:39 am

Re: ELLO 3M 'TROLL' computer

Postby kiiid7 » Fri Sep 29, 2017 4:49 pm

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).

Who is online

Users browsing this forum: BlackEdder and 2 guests