A modern retro computer? This is PicoCalc
By sn0ren
Summary
## Key takeaways - **Self-Assemble Raspberry Pi Pico Handheld**: When you receive your PicoCalc, you actually have to assemble it yourself with components like speakers, screen, keyboard keys, and Raspberry Pi Pico, but it's quite easy and part of the fun. It uses a non-WiFi Pico 1 board but supports Wi-Fi Pico 1 or Pico 2 with twice the RAM, flash, and faster CPU. [00:49], [01:27] - **PicoMite BASIC Mimics Retro 8-Bit Computers**: PicoCalc comes pre-flashed with PicoMite, a port of MMBasic that boots instantly into a programming prompt like 8-bit computers, allowing easy creation of if-then-else statements, loops, graphics, and sound. Programs persist in memory even after power off, and you can load, edit, and run BASIC scripts from the SD card. [03:39], [04:47] - **NES Emulator Plays Select ROMs**: Flash the Pico NES UF2 file to run an NES emulator that lists and plays legally acquired ROMs from the SD card using the keyboard controls, though not every game works perfectly with some showing distorted graphics. [09:13], [10:26] - **Multiple Firmwares: uLisp, Fuzix, MicroPython**: Included firmwares feature uLisp for Lisp graphics after typing a loading program, Fuzix as a Unix OS with commands and games requiring manual date input, and MicroPython needing Pico2W swap for Wi-Fi plus file uploads via Thonny. MicroPython enables networking like a ChatGPT client. [10:37], [15:03] - **User-Hackable GPIO and Expansions**: GPIO pins on the left side are addressable in PicoMite for connecting LEDs or sensors like on a Flipper Zero, and future potentials include Luckfox Lyra ARM board for Linux, BBS clients, game ports like Doom, and module controls. [07:45], [15:37] - **Cheaper, Faster Than U Console**: PicoCalc is cheaper and arrived in less than a month unlike U Console's 9-month wait, with quicker boot, nicer clicky keyboard, square IPS 320x320 screen ideal for retro graphics, and lighter plastic case like an old Game Boy. [16:50], [17:00]
Topics Covered
- Assemble Your Own Retro Computer
- BASIC Revives Instant Programming
- Flash NES Emulator Easily
- MicroPython Unlocks WiFi Power
- Hack Beyond Raspberry Pi Limits
Full Transcript
[Music] This is a portable handheld computer released in 2025, but it feels much more like a
retro 8-bit computer, even if it is a lot more capable than those. It's made
with the intention to be programmed, hacked, and expanded by the user, just like the 8-bit computers of the past, and it also plays
games. This is Picoal by Clockwork.
games. This is Picoal by Clockwork.
The flexibility of what this thing can do actually makes it a bit confusing to get started with Pico. So, in this video, I will show you a bunch of things that I've found to do with it. But
first, let's take a look at the hardware of this device. When you receive your Pico Calc,
device. When you receive your Pico Calc, you actually have to assemble it yourself. But don't worry, it's quite
yourself. But don't worry, it's quite easy and just part of the fun. The
manual is easy to follow and there are only a few components that need to be assembled. You start by putting the
assembled. You start by putting the small speakers into the front part of the case. These connect later by little
the case. These connect later by little spring connectors that push onto the main board. Then you place the screen
main board. Then you place the screen onto the front case and next the keyboard keys. Then you get the main
keyboard keys. Then you get the main board and you have to remove these little plastic tabs on the header connector to be able to insert the Raspberry Pi Pico which is included in
the package. This is the brains of this
the package. This is the brains of this device. It comes with a non- wifi Pico1
device. It comes with a non- wifi Pico1 board, but it supports the Wi-Fi versions of both Pico 1 and also Pico 2, which has twice the amount of RAM and flash space, as well as a faster CPU.
Then you place the main board on the front part of the case and thread the screen ribbon cable through and push it into the connector and click the lock into place. Remember to insert the
into place. Remember to insert the included SD card. Surprisingly, it's a fulls size one and not a micro SD. Then
the back part of the case can be screwed into place holding everything together.
Finally, you need to place the protective tempered glass cover in front of the screen. And you're done. Pico
doesn't come with batteries, so you'll have to supply your own. It takes
regular 18650 lipo cells. Just make sure to orient them correctly when inserting them to match the polarity. You can
charge the batteries by plugging in a charger into the USBC connector on top.
Behind it is a micro USB connector which is used for flashing software. Next to
this you find a headphone jack and on the other side the onoff button that you need to hold down to turn it on. On the
right side you can access the SD card and on the left you find some GPIO connections. You can apply this label
connections. You can apply this label sticker which is found in the manual and next to those is a volume knob.
You can flash various kinds of firmware onto the Raspberry Pi Pico inside this device. It even comes with a Nintendo
device. It even comes with a Nintendo emulator that I will show you later. But
first, let's take a look at the pre-flashed firmware, which makes it feel a lot like a retro 8-bit [Music]
computer. I had a Commodore 64 as a kid.
computer. I had a Commodore 64 as a kid.
On top of the pile of comic books next to my bed was the programming manual that I read through every night and I was amazed by it. Back then, every computer was sold with the intention of the user to learn programming and how
the computer worked. When you turned on the computer, it instantly booted into a programming prompt. And this simple
programming prompt. And this simple programming language immediately available to the user was called basic.
It allowed you to very easily create if then else statements, loops, manipulate variables and create graphics and sound.
Pico Cout comes pre-flashed with an open-source operating system with a built-in basic interpreter for Raspberry Pi Pico devices known as Pico Mite,
which is itself a port of MM Basic. Just
like different 8-bit computers back in the day, this specific version of BASIC has its own quirks and commands that you will have to learn to take full advantage of its capabilities. And not
every basic script you find will necessarily immediately work. You can
download the Piccomite manual from the Pico GitHub repository. And reading
through it gives me that exact same nostalgic feeling I had as a kid reading through the Commodore Basic programming manual. To open the built-in editor,
manual. To open the built-in editor, type edit or use F4 as a shortcut. Here
we can type in a symbol script. Labels
are defined by putting a colon at the end. And we can use the go-to command to
end. And we can use the go-to command to go to that point in the script. To save
and exit the editor, press the F1 button. You can now type run to execute
button. You can now type run to execute or press the F2 button as a shortcut. To
stop a running program, hold shift and press escape. You can type memory to see
press escape. You can type memory to see how much free memory you have. Whatever
program is currently in memory stays there, even if you turn the device off and on. You can type new to erase
and on. You can type new to erase whatever is currently in memory. Just by
using a few simple commands, I've made this simple higher or lower game where you have to guess which random number it has chosen, and it will give you hints along the way. The SD card comes with a
few different basic programs that you can load and run. To access files, simply type files. This will by default list drive A, which is the internal flash memory. To switch to the SD card,
flash memory. To switch to the SD card, simply type B colon and then files again. To load a file, type load and
again. To load a file, type load and then the file name in quotation marks. I
will load this Lorenta animation that comes on the SD card and then press F2 to run it. You can always open the editor to see the source code of the loaded application to try and understand
how it works. You can also load other files than applications. Load image will let you open image files. The screen has a resolution of 320x 320, so your images
will have to be this size or smaller.
And play wave will let you play back wave audio files. I've made this little script that loads my logo, outputs a message, and plays back a sound file from the SD card. It's actually possible
to have this load automatically on startup instead of the default greeting.
We can do this by saving the script in one of the three internal flash slots by typing flash save one and then typing
option auto run one. And now it runs automatically on every startup.
Greetings, Professor Balcon. By default,
the text on the screen is green on a black background. But you can also
black background. But you can also customize this by using the color command and defining foreground and background colors separated by a comma.
Colors in Piccomite are defined through a 24-bit color number which can be generated by the RGB function either by using one of the default color names or
by entering red, green, and blue numbers from 0 to 255. By using this command, you can easily create your own startup script that configures the colors to be
whatever you prefer, but obviously I like green. You can also use the command
like green. You can also use the command font and a number to change between eight different built-in fonts or you can download custom fonts or even define
your own. Another useful command is cls
your own. Another useful command is cls which clears the screen and this can also be suffixed by a color to make the screen background this color. You can
also use F5 as a shortcut to clear the screen by using the random function r.
I've made this script that flashes the background in random colors. Or this
other script that creates random size, color, and position circles. This user
on GitHub has made a small collection of basic applications that are converted to work on Picco that I will link below, which includes various games like the
1970 version of Oregon Trail, a Sorklike adventure game, and a better higher lower game than the one I managed to make. On the left side of the pico, you
make. On the left side of the pico, you will find some GPIO pins, and these are addressable in Pico Mite as well. I've
connected an LED to pin GP28 and ground, and made this little script that makes it blink. It's also possible to
it blink. It's also possible to communicate with various modules and sensors, much like the GPIO pins on a flipper zero. Oh, and by the way, you
flipper zero. Oh, and by the way, you can turn on the keyboard backlight by holding Alt and pressing the space bar.
You can adjust screen brightness by holding Alt and pressing these two bracket buttons. And you can check the
bracket buttons. And you can check the current battery level by holding alt and pressing B. The power LED will blink
pressing B. The power LED will blink one, two, or three times depending on the battery left. And if the power LED starts flashing continuously, it means the battery level is very low. Pico Mite
wasn't made for Pico. It's a
pre-existing open-source project that can be used with Raspberry Pi Pico in various configurations. So, not
various configurations. So, not everything in the manual is relevant to your Picok, but Pico really makes it easy to use Pico Mite. And I will highly recommend that you read through the
manual to understand the various capabilities and handy [Music] shortcuts. As of the making of this
shortcuts. As of the making of this video, Pico is still a very new device and I'm very much looking forward to all the cool software and games people will
make using Piccom Mite because it's much more capable than these simple examples.
But Piccomite is just one of several available firmware files. Let's next
take a look at the NES [Music] emulator. On the SD card that is
emulator. On the SD card that is supplied with your Pico Calc is a folder named firmware. Copy this folder to your
named firmware. Copy this folder to your computer. Put the SD card back into your
computer. Put the SD card back into your Pico and make sure that it's turned off.
On the back of your Pico Calc, you can see the Raspberry Pi Pico through the vent holes, and you can just about use something thin to poke the boot button on the Pico board. Hold down this button
while plugging in a micro USB cable from your computer into the board. It'll now
appear as a drive on your computer, and you can stop holding the button down.
Drag and drop the Pico NES UF2 file from the firmware folder onto this drive.
This file will now automatically be flashed onto your Pico. And once it's done, it will eject the drive and you can unplug the cable and turn on your Picok. You will now be presented with a
Picok. You will now be presented with a list of NES files that are found on the SD card. It comes with a chess game, but
SD card. It comes with a chess game, but you can also put your legally acquired ROM files onto the SD card. Use the
arrow buttons to select a game. The
square bracket buttons work as B and A, and the minus and equal buttons work as select and start. To get out of a game and go back to the game selector screen, hold down the select and start buttons.
Unfortunately, far from every game works in this emulator. Some don't load at all and some display distorted graphics, but some also plays just fine. Another interesting included
fine. Another interesting included firmware to load is ULSP, which is an interpreter of the programming language lisp, which can be used to render some
interesting graphics on your Pico.
ULISP loads into a prompt much like Picocom Mite does, but to be able to load pre-made Lisp files from the SD card, you first need to meticulously type in this short loading program,
being careful to type everything just right. You only need to do it once,
right. You only need to do it once, though. Just make sure to type save
though. Just make sure to type save image at the end, and then you can load the loading program from the flash memory again by typing load image. After
booting up your lisp, you can now load lisp files from the SD card by typing load file name lisp. Usually they will have some custom function call that you need to execute to make it do something.
Once you get it working, it can create some beautiful mathematical patterns. I
will link to these code examples in the description below. Another interesting included
below. Another interesting included firmware on the SD card is Fusix, which is an entire little Unix operating system.
This operating system has been developed to be used with retro microprocessors like the set 80, but is now all supported to run on the Pico. Since we
have no real-time clock, we have to input the current date and time on boot up. The default user is root with no
up. The default user is root with no password. You have a few different
password. You have a few different typical Unix commands and applications available by default. In the USR games folder, you can find a text adventure game and the ever inspiring cow
application. Oh, and right as I'm making
application. Oh, and right as I'm making this video, someone has actually forked Fusix for Pico and has started adding new features and support for Pico 2.
Things are moving [Music] fast. Pico Cut comes with all these
fast. Pico Cut comes with all these different firmware files and also this MP3 player. But let's take a look at a much
player. But let's take a look at a much more modern programming solution which it's also possible to load but isn't included in the SD card and that's Micro
Python. The default Pico1 board the Pico
Python. The default Pico1 board the Pico Cal comes with doesn't have Wi-Fi. But I
want to do something with Wi-Fi with this Micro Python setup. So I'm swapping out the board for a Pico2W instead. Make
sure to order one with presoldered header pins. remove the batteries before
header pins. remove the batteries before swapping it out. Actually, I wish there was a little door in the back of the case so that I could switch out boards without having to disassemble it every time. Then I could keep a few different
time. Then I could keep a few different boards with me flashed with various firmwares. They are quite cheap after
firmwares. They are quite cheap after all. The 3D files for the case are
all. The 3D files for the case are actually available on the Clockwork website, so someone could design a 3D printable alternative. Go to the Pico
printable alternative. Go to the Pico Micro Python driver GitHub and click download SIP. Hold down the boot button
download SIP. Hold down the boot button on the Pico board and connect the micro USB cable to your computer. Drag and
drop the UF2 file suitable for the Pico board in your Pico. Be aware that any firmware file you flash has to be compiled for the specific Pico board you're using. If you turn on your Pico
you're using. If you turn on your Pico now, nothing will display on the screen.
You first need to load some Python files onto the internal flash drive inside the Pico board. You cannot use the SD card
Pico board. You cannot use the SD card at this point. To do this, download and open the application named Sunonny. Turn
off your Pico Calc. Connect the micro USB cable to your computer. Turn on your Pico. In the bottom right of the Thunder
Pico. In the bottom right of the Thunder application, you can now select your Pico to connect to it. In the menu, click view and enable files. On the
left, you can see your local files up top and below it are files on your Raspberry Pi Pico board internal flash storage. Locate the MicroPython Pico
storage. Locate the MicroPython Pico folder you downloaded earlier and click the file named main. py and select upload to root. Do the same for FB
console and Picoalk. You can now unplug your Picoal and turn it off and on. And
you should see the MicroPython prompt on the screen and be able to type in code and commands. There's a huge online
and commands. There's a huge online library of micro Python projects available that you can load onto your Pico. Files that you have placed onto
Pico. Files that you have placed onto the internal flash memory can be loaded by typing import file name and any functions defined in them will be available from this prompt. You can also
have files be loaded automatically by putting the import file name command into your main.py file which is loaded on boot. This is also how the pico
on boot. This is also how the pico display and keyboard drivers are loaded.
You can edit the files in your pico directly from the thunder application. I
really wanted to have a chat GBT client on this device and what better way is there than to simply ask chat GBT to write a microparty client. So I did and it works great. The script connects to
my Wi-Fi and defines a function that can be called to ask chat GBT anything. A
good example of how Piccol is also capable of interacting with networking and managing data in a much more effective and flexible way than the simpler Pico Mite basic environment. And
I'm sure someone else will figure out a way to interact with the SD card.
We are still in the very early days of Pico software and it has a far greater potential than these simple implementations I've shown in this video. There are lots of projects for
video. There are lots of projects for Raspberry Pi Pico devices that could potentially be made to work on Picoal in the future.
Picoalkal clearly gets its design inspiration and name from graphing calculators which also have a history of bored students poking around and making them do things they weren't supposed to
do. Even though Picalc is not a graphing
do. Even though Picalc is not a graphing calculator, you can definitely make it do calculator things with the right programming inside. But if what you need
programming inside. But if what you need is a calculator, just get a calculator instead. The company behind Piculk,
instead. The company behind Piculk, known as Clockwork, also makes another handheld computer named U Console, which I've also made a video about. U Console
runs off a full-blown Raspberry Pi compute module, which is much more like a normal modern computer running a regular Linux operating system and regular applications, networking, and
USB devices. U console is definitely
USB devices. U console is definitely more capable than Picoalc, but U console is also much slower to boot up and it's more cumbersome to use modern graphical
applications on the small screen. Picoal
is also a lot cheaper and unlike the U console which took me 9 months to receive, Pico arrived in less than a month after I ordered it. Besides
scratching my retro computing itch real good, Pico Kak also has a huge potential for custom software and hardware hacks.
As I've shown in another video, the video game module for Flipper Zero also runs off the same RP2040 microcontroller, and we're beginning to see Pico projects being ported to the
video game module. The keyboard on Pico is very nice and clicky to type on, even though it occasionally fails to register a key or registers as a double press.
But I think this might have to do with the keyboard debounce firmware that hopefully can be fine-tuned in the future like it was with the U console.
Most of the time it works just fine though. I really like the IPS screen
though. I really like the IPS screen which is not only very clear to read, but the square format is much appreciated for typing out text and displaying retro graphics. And it's nice
to see that they didn't just go with an annoying easy to get widecreen instead.
One really annoying thing about the Piccomite software specifically though is that you cannot write lines in the editor that are longer than the width of the display. You can work around this
the display. You can work around this with some creative use of variables, but hopefully this has changed in the future. The Pico case is plastic, but I
future. The Pico case is plastic, but I think it feels pretty good. It makes it feel a bit like an old Game Boy. It's a
really nice size to hold in your hands, and I feel like I have to be less careful when putting it down compared to the much heavier metal case of the U console, which might scratch your table.
I've designed this 3D printable stand for Picoal and there's a link in the description. I can't tell you how much
description. I can't tell you how much use you can expect to get out of a single charge of the batteries because even though I've been playing around with it a lot so far, I haven't managed to run down the batteries yet. I can see
lots of potential for various interesting apps for Pico. I know I would like a nice BBS client. Picoal
could also be used to control the same types of modules that are available for a flipper zero like infrared sub gigahertz and ESP32 just with a much bigger screen and a physical keyboard.
It could be used as a keyboard and screen for mestastic devices. You could
probably fit one inside the case and also more games could definitely be ported to Pico. Red Alert is already capable of running on a Pico for instance and so is Doom. Another
interesting option is to simply not use a Raspberry Pi Pico in your Pico at all.
There is a pin compatible board called Lockfox Lyra available which has a much more powerful ARM processor and there is already work being done to make this work in a Pico along with a Linux
environment bringing it much more into the category of something like the Raspberry Pi Zerobased handheld computer called BP which I've also made a video about quite a few games and software is already ported to work on the lockox
library board as well as some hardware hacks.
[Music] I really like handheld computers and this is an awesome one. It's a
relatively cheap great platform for doing all sorts of programming and hardware modifications and its limitations just bring out that creative mindset that was required back when all
computers were even simpler than this one. I hope I've given you a small
one. I hope I've given you a small insight into what the clockwork pico is all about.
[Music] Heat.
Loading video analysis...