Page 1 of 1

Porting MicroPython to the Pokitto retro-gaming device (based on NXP LPC11U68)

Posted: Tue Sep 26, 2017 6:56 am
by Hanski
Hi,

I just want to tell you about my MP porting project to Pokitto, which is an educational device/retro-gaming device/embedded system controller, containing:
  • NXP LPC11U68 (ARM Cortex-M0+ processor, running at 48 MHz)
  • 220x176 (16 bit color) LCD color screen
  • Casing and buttons
  • Speaker
  • MC slot
  • HW extension slot
  • Battery
  • etc.
The MicroPython is already working on the device. I have also started to port a very small subset of PyGame to it, uPyGame, to make use of the screen, audio, etc capabilities. The performance of python looks promising, I have been able to blit 100 pygame surfaces (16x16, 4 bit color) on screen at 16 fps. I will soon put my MicroPython fork available in public.

http://www.pokitto.com

Re: Porting MicroPython to the Pokitto device (based on NXP LPC11U68)

Posted: Tue Sep 26, 2017 7:36 am
by mattyt
That's really cool! I'm impressed you were able to get it all working in what must be a limited RAM environment - how much memory do you have to work with on the Pokitto? My quick perusal of the datasheets for that family of processors suggests that it tops out at 256KB...

Looking forward to seeing your fork. :)

Re: Porting MicroPython to the Pokitto device (based on NXP LPC11U68)

Posted: Tue Sep 26, 2017 8:47 am
by shaoziyang
That's great.

Re: Porting MicroPython to the Pokitto device (based on NXP LPC11U68)

Posted: Tue Sep 26, 2017 8:49 am
by Hanski
mattyt wrote:That's really cool! I'm impressed you were able to get it all working in what must be a limited RAM environment - how much memory do you have to work with on the Pokitto? My quick perusal of the datasheets for that family of processors suggests that it tops out at 256KB...

Looking forward to seeing your fork. :)
Thanks! Pokitto has 36 KB RAM and 256 KB flash ROM. Currently, I have set uPython GC to allocate 20 kb heap to itself. Yes, you have to be very careful not to use too much RAM, e.g. sprite class cannot have too many instance variables if there are a lot of sprites on screen. But that is a part of the fun, to try to make a game in a limited environment :D

Re: Porting MicroPython to the Pokitto retro-gaming device (based on NXP LPC11U68)

Posted: Tue Sep 26, 2017 7:40 pm
by fpp
Looks quite fun, but how do you get one ?...

Re: Porting MicroPython to the Pokitto retro-gaming device (based on NXP LPC11U68)

Posted: Wed Sep 27, 2017 4:19 am
by Hanski
Kickstarter is over, and the early birds are being delivered next wednesday. I have heard there will be online shop later. Still, if you want to get yours from the first batch, you could mail to pokitto@pokitto.com, an have your name in the list.

The.community around Pokitto is very lively in the forum. There are over ten games in the process already even if the device is not out :) You can develop games on Pokitto Simulator in Windows and Linux.

Re: Porting MicroPython to the Pokitto retro-gaming device (based on NXP LPC11U68)

Posted: Wed Jan 16, 2019 9:40 pm
by vitormhenrique
Hanski wrote:
Tue Sep 26, 2017 6:56 am
..... I have also started to port a very small subset of PyGame to it, uPyGame, to make use of the screen, audio, etc capabilities....
Hanski, does uPyGame work handling a generic upython frame buffer or is it specific for the Pokitto hardware? Also, could yo please point to me where is the source code?