Pokitto and user friendliness

Ok @jonne first off I love pokitto and the promise it presents as a very cool little companion but I’m a Linux noob, seriously I tried to make a live usb sir an old MacBook a few years ago that failed to work and gave it up until end of summer 2016 when I got my Pocket CHiP and started playing with it almost daily (it figuratively lives in my pocket ) now I want a Pokitto so bad you wouldn’t believe it but what I want to ask for other noobs ,and believe me there will be a lot who see it think it’s super cute and neat and want one, how hard will it be to actually use it? Put games on it run them use the “OS” etcetera I know it has a sd slot which is great to store games but I just want to know if it’s going to be simple enough that someone like me can use it.
Thanks Rob.

Hi @BigBadHodad you have a good question here. If its OK for you I will answer in detail, and in parts that I can later use on Pokitto Wiki

Pokitto is easy to use, much easier than any linux device, but I need to educate you a bit on what you’re getting into :smile:

Is Pokitto easy for beginners?

Let me first explain what the Pokitto is and what it isn’t.

What IS the Pokitto?

Pokitto is two things put together: #1) its a simple game console #2) its an open-source platform on which you can learn programming and building your own electronics experiments

As a game console, Pokitto is very simple: there is no GPU (Graphics Processing Unit) inside the Pokitto, no special sound chip, etc. Its not going to run 3D games like you see on your mobile phone. Pokitto runs fun minigames and 2D graphics, thats what is intended for.

The benefit of this simplicity is that as a game creator you have unlimited freedom to ask Pokitto to do stuff for you. And as someone learning to program, you see everything you can use right in front of you. There is nothing hidden, which helps you understand and learn. Right down to the nuts and bolts, you can access everything. This is important, when we get to point #2 of Pokitto as an open-source platform.

In devices like Raspberry Pi and Pocket CHiP there are layers that are actually secret. This may come as a shocker, but RPi and Pocket CHiP are not open-source devices.

As an electronics learning/building platform, Pokitto is based on mbed, which is a big open-source ecosystem of electronics development platforms (see: https://developer.mbed.org/platforms/). mbed is used in things like the micro:bit (intended for school children) right up to very complicated professional stuff. In short, learning to program mbed can take you from an absolute beginner to professional level skills. I have done this journey myself.

mbed is a direct competitor to Arduino ecosystem. While Arduino is more widely known and used, you can find almost all the same stuff as mbed as you find on Arduino. Arduino on the other hand is handicapped by its legacy style of programming. Its like learning a language only to find out you’ve actually learned a weird dialect and having to learn many things again.

What Pokitto is NOT?

Pokitto is not really a “computer” in the same sense that Raspberry Pi and Pocket CHiP. For one thing, Pokitto does not run any kind of operating system, like Linux or Android. Pokitto also does not have the same kind of a “brain” as computers. Computers have a main processor called a CPU (Central Processing Unit) and alot of other chips, like memory chips, that help the CPU do its job.

Pokitto only has 1 intelligent chip called an MCU (short for Microcontroller). A microcontroller is a very special kind of processor. A CPU needs a lot of other chips to help it. A Microcontroller (MCU) is different, because everything it needs to operate is packed into one tiny package. You can literally take a battery and connect it directly to the pins of a Microcontroller and it will start running. A microcontroller is like a minicomputer inside one chip.

What does this mean on a practical level? Let’s compare:

Raspberry Pi 3 has a quadcore ARM Cortex-A53 CPU running at 1.2 GHz. Pokitto has an ARM Cortex-M0+ running at 48 Mhz, which is at a clockspeed that is 25x slower.

Raspberry Pi 3 has 1GB of RAM memory, Pokitto has 36kB, which is about 27777 times less.

I think you are now beginning to understand the big difference between Pokitto and small computers like Raspberry Pi or Pocket CHiP.

So why make such a limited device that is based on a microcontroller?

Small intelligent things that need to operate on battery power for a long time do not use processors like the processors found in Pocket CHiP, Raspberry Pi or your mobile phone. The reason for this is that those processors are far too power hungry.

Think about your mobile phone. You charge it almost daily. Now think about a wireless burglar alarm or some other gadget that is not connected to mains power. If you had to change batteries even weekly you’d be really annoyed. This is where microcontrollers come in: they can run and perform intelligent tasks for months, even years on a single charge.

Why is this important? Its estimated that by 2020 our world will be filled by approx. 50 billion Internet of Things gadgets. Small, battery operated things that are connected to each other and the internet. And they will not run on CPUs similar to the Pocket CHiP. They will run on MCUs similar to Pokitto. Because of battery life and because of cost. Microcontrollers are growing as a business much faster than mobile phones and computers - combined.

The idea of Pokitto is not to be the best game console or the most powerful handheld gadget.

Pokitto was invented to be a way of learning about microcontrollers. The reason it is a funny game console is because I found out that making games was the easiest way to motivate my own kids to learn more. Hopefully they will eventually invent something amazing and buy their dad an island in the Caribbean. That is the real story why Pokitto was born.:smile:

To be continued…

7 Likes

@BigBadHodad are you following the story or did I scare you with this long introduction? I will get to the specific answer to your question soon

2 Likes

Following!
Mbed seems neat I tried looking into arduino but the rift and stuff scared me off.

That all is very educating!

Mbed documentation mentions mbed RTOS (Keil RTX), which provides threads, semaphores, etc. So that is not used in Pokitto?

2 Likes

No, I don’t use the RTOS. I have used it in some other projects and RTOS is something very cool & useful. However, it brings a lot of additional overhead and complexity. Debugging a RTOS with threads is also much, much more complicated.

You can, however, use an RTOS with Pokitto if you want. There is no reason why you can’t.

1 Like

Yes, it is good to keep it as simple as possible.

I am investigating the possibility to port MicroPython to Pokitto. I do not yet know if RTOS is required or not. Anyway, to me Python seems like the best language for teaching programming to kids with Pokitto. There already exists a MicroPython project for mbed.

1 Like