Build Your Own Pocket Mini Computer




Ever want to experience 70s and 80s computing without fiddling with creaky old hardware and 5.25 floppy disks?

In this Instructable, I'll teach you how to build and program your own pocket mini computer.  

Explore micro computing with a machine which:
  • Can be successfully assembled in an evening.
  • Can be programmed in BASIC.  (and other languages)
  • Can play games and run programs.
  • Most importantly: Can be understood.

  • Pocket Mini Computer Kit  (As of August 1st, Pocket Mini Computer can be obtained
  • A PS2 Keyboard 
  • A Wii Controller (Classic or ClassicPro)
  • A microSD card
  • A VGA Monitor
  • A set of computer speakers

We created this as an Open Source "Ready to Build" kit, but have also updated this Instructable with complete schematics for anyone who wanted to create they own version of the Pocket Mini Computer!   Read on!

Step 1: The Pocket Mini Computer Details

The Pocket Mini Computer is a small and versatile computer running a full featured BASIC interpreter with 32K of ram. It will work with a standard VGA monitor and PC compatible keyboard. Because the Pocket Mini Computer has its own built in microSD memory card slot and BASIC language you need nothing more to start writing and running BASIC programs. A Wii(TM) compatible gameport as well as stereo audio output create a compelling enviroment to write programs and games.

I'm the designer of the Pocket Mini Computer.  I wanted to create a product which would give those in the younger generation a chance to see what computing was like in the early days before the PC.  I also wanted to re-create the experience as closely to the original Commodore and Atari computers so that us "old timers" could enjoy a trip back to yesteryear when we were young.

The Pocket Mini Computer has been a labor of love from board design to preparing the BASIC programming language.

You'll be able to do more than enjoy a simple "HELLO WORLD" program.  The BASIC is full featured and powerful!

Step 2: Rolling Your Own

I wanted to insure 100% success for anyone attempting this project, so we created a kit, but have received a lot of positive encouragement to also provide a schematic for those who want to take a shot at "rolling their own" Pocket Mini Computer.

The brain (CPU) behind the Pocket Mini Computer is a Parallax P8X32A microcontroller, so grab your favorite Propeller board and dig in!  

We'll be using the following I/O pins for connected devices:
  • P0 - P3     SD or microSD connection
  • P10, P11  Stereo audio connections
  • P24, P25  Wii Classic Controller connection
  • P26, P26  PS/2 Keyboard Connection
  • P16-P23  VGA connection
I've also lnked a PDF of this graphic so that you can enlarge and print it!

Have you already got a Quickstart board and want to make your own PCB?  We've got you covered too!

Step 3: About the Kit

In the 70s if you wanted a computer of your own, you bought a kit.   These kits would take days or months to complete and if you did everything correct.   (and the parts were good!)  you had your own computer!   The Pocket Mini Computer is a simple kit that will give you a taste of creating your own computer.  It's designed around solid hardware and simple components, so you are guaranteed success!

The Pocket Mini Computer consists of two interlocking boards, A CPU board, and an I/O board. The CPU board arrives pre assembled. The I/O board is an easy-to-assemble kit which can be assembled by a beginner with minimal soldering skills  in a single evening.

Step 4: Step 1: Placing the Resistors

Step 1 in assembly is correctly inserting and soldering the resistors.

The resistors are marked with numbers printed on the silkscreen of the I/O board.
Solder them in from the bottom side of the board.

We'll be using 5 different resistors in this build.
  • 10k resistors (Brown, black, orange)
  • 1k1 resistors (Brown, brown, red)
  • 100ohm resistors (Brown, black, brown)
  • 240ohm resistors (Red, yellow, black)
  • 470ohm resistors (Yellow, violet, brown)
Revisions and Updates!

The board shown in this picture is Revision E.  Revision G "RevG" of this board has an additional three 120ohm resistors which have been added to the right of the row of resistors behind the VGA connector.  This upgrade improves the color count from 48 to 64 colors.   An optional SRAM (23K256) socket has also been added.  If an SRAM chip is detected 32K of additional "extended" memory is available to BASIC using PEEK/POKE commands.

Step 5: Step 2: Creating the Audio Circuit.

Step 2 in assembly is inserting and soldering the audio circuit.

  1. Insert the two 1k1 resistors (Brown, brown, red)
  2. Insert the two caps at C4 and C5.
  3. Insert the two electrolytic caps at C2 & C3.

Important!  The two electrolytic caps must be inserted with proper orientation.  The negative side of each cap should be facing away from the plus sign on the board silk screen.  Follow the image below and you'll be fine.

Step 6: Step 3: Adding the Ports

Step 3 in assembly is inserting and soldering the I/O ports to the board.

  1. Insert the VGA connector and solder.
  2. Insert the PS/2 keyboard connector and solder.
  3. Insert the Audio Jack and solder.

If the jacks are loose and want to fall out when you flip the board over,
simply use a piece of scotch tape to hold them in position while you are soldering.

Step 7: Step 4: Adding the 40 Pin Connector

Step 4 in assembly is inserting and soldering the 40pin connector.

The next step will install the 40pin connector which connects the I/O board to the CPU board.

An easy way to do this is to insert the 40pin connector into the CPU board as shown in the picture, 
then place the top board in place and solder.  You may have to hold onto the board to make the first couple of connections.

Step 8: Step 5: Install the MicroSD Header

Finally, you need to assemble and install the microSD header.

The microSD module comes with pin headers to create the 4-pin (Do,Clk,Di,Cs) and 2-pin (V33,Gnd) connections required by the project.  There are two rows of each on the module (see picture) and either row will work just fine.  I chose the ones closest  to the silver socket on the module for mine.  Once you've soldered the pins into the module, the whole module will plug in the six pin holes behind the VGA connection and rest on top of the resistors.
  1. Insert the 2 pin headers into either of rows on the microSD card and solder them into place.
  2. Insert the assembled microSD into the I/O board and solder it into place.
  3. Cut the long pins on the bottom of the board when finished.

The microSD header provides us the "mass storage" for our Pocket Mini Computer. 
Old timers will remember using 5.25 floppy disks and some seniors will remember paper tape!
You'll want a 2gb microSD card to take advantage of this option.

You don't have to install this for BASIC to work, but you will want it to LOAD and SAVE files.

Step 9: Installing BASIC Firmware

Congratulations!    You've assembled you own "old school" Pocket Mini Computer!

Now it's time to install BASIC on it!

Download all of the files from:

Using your PC, copy the two files, basic.bin and basedit.bin to the 2gb microSD card.

The additional files are the source code to both BASIC (already loaded on the CPU board) and it's full screen editor. These files are MIT licensed and are free for you to modify and distribute.

Step 10: Using the Pocket Mini Computer

Time to play!

Connect your Pocket Mini Computer to a standard VGA monitor, a PC keyboard, (Speakers & Wii Classic Controller if you have them!)
Connect the USB cable and power supply to power it up!

You should see a boot screen like the one pictured.

Step 11: Your First BASIC Program.

If you grew up in the 90's you might have never had the opportunity to program in BASIC on an early computer.  If you are a few years older, then you'll probably remember BASIC.

BASIC stands for B(eginner's) A(ll-purpose) S(ymbolic) I(nstruction) C(ode).

In the 70s, 80s and early 90s, all computers come with BASIC built-right-in and simply turning them on meant that you were ready to start using your computer within 2 seconds!   (My how things have changed.)

See the READY. prompt?  Good!  You are "Ready" to type in your first BASIC program!

Type the following and press ENTER after each line.

20 GOTO 10

Now type RUN and press ENTER.

Step 12: Your Second BASIC Program

So you've got a bunch of HELLO WORLD's scrolling down the screen.

Hit the ESC key (the break key) to make it stop.  

Type NEW and press ENTER.   It's time to type into something a little more interesting.
You'll need to grab a Wii Classic or Wii ClassicPro Controller for this program.  Plug it in and reset the power on your mini computer.

Type each line below and press ENTER after each one.

10 REM ** Wii Controlled Drawing in BASIC **
15 COLOR 63,0
20 CLS
30 C=3
40 A=50
50 B=50
70 IF JOY = 64 THEN X=X+1
80 IF JOY = 256 THEN X=X-1
90 IF JOY = 2048 THEN C=C+10
100 IF JOY= 128 THEN Y=Y-1
110 IF JOY= 32 THEN Y=Y+1
200 PLOT X,Y,C
210 GOTO 60

Type RUN and press ENTER.

Draw on the screen with the controller's DPAD.  Change colors with the A button.

The BASIC included on your Pocket Mini Computer is fully featured!  
Be sure and read the BASIC Manual.pdf for all of it's features!

Several example programs have been published here, to give you an idea of power contained in the BASIC.   Controlling and reading external I/O, playing music on a SID-like synthesizer, and even redefining characters to create graphics are just a few of the highlights the available command-set. 

Step 13: More Cool Programs!

Because your Pocket Mini Computer is based on the Parallax Propeller CPU, you can run other binary programs as well!

Ready to go further?  Check out this "User's Guide" to the Pocket Mini Computer

Grab a few programs from this archive!

New: A Support forum specific to programming and customizing the Pocket Mini Computer:

Your Pocket Mini Computer can be programmed in C, Spin, and Assembly.  To find out more about the processor powering your machine visit the following forums and websites:

Propellerpowered Forums

Parallax Propeller Forums




    • Backyard Contest

      Backyard Contest
    • Sensors Contest

      Sensors Contest
    • Classroom Science Contest

      Classroom Science Contest

    114 Discussions


    6 years ago on Step 11

    oh god, the infamous "GOTO" statement. lmao. i can see a nice plate of spaghetti code in the future if anyone does a program of a semi-complicated or better nature. then again, does basic support objects and encapsulation? i've never used it myself. i just remember the c++ instructor telling us to stay away from goto as much as possible.

    3 replies

    Reply 3 years ago

    Heh... I used to own a C16, and should still have an Atari around somewhere. Both run BASIC interpreter. The nice thing about C++ is, that it supports functions. So you could simply call a function (method if you use classes / objects in C++) and run in loops and branches. GOTO in C++ is bad form, I agree.

    But in Basic on the other hand, the only thing you have to move around in execution, other than a straight line, is GOTO. Yes. This facilitates spagetti code. One of the ways around this, was to draw up a schema of line-number-blocks, where each block would have its own function. So line 0 to 1000 would be your main, line 2000 to 2100 your first 'function', 2110 to 2200 your second and so on.

    If you were lucky, you had a version of BASIC that supposed not only GOTO, but also GOSUB. This nifty little statement did basically the same as GOTO, but also pushed a return address on a stack. So if at the end of your function, you called RETURN, it'd pop the line-number from the stack from where you called the GOSUB and continue from there ^_^

    For what it's worth: Compiling C to assembly and then machinecode, all those function calls, loops and branches are (often) converted to assembly 'jmp' instructions. These are goto's. ;-)

    Yes, not only does it have the infamous GOTO statement, but also a GOSUB statement as well! :) It is possible to write non-spaghetti code in BASIC, but not probable! This version doesn't do objects or encapsulation, so it's all old-school. The good news is that the hardware itself can be programmed in C++ (from a PC based editor) so it can also be used as a modern microcontroller platform.

    If you plan your program properly by flow charting it first, then Linear Basic is an ideal way of implementing your program. If you want spaghetti code, take one look at any Object Oriented Language, where the same variable name can actually be three different values.

    In all fairness, a properly designed GOSUB is, in and of itself, an encapsulation.

    I now challenge you to take that >10 print "hello world"; program and run it through an MS Basic compiler to see how many hundred kB it will take up.


    Reply 3 years ago

    Ahm..... I guess yes because you could use a usb host ic like on the arduino usb host shield


    6 years ago on Step 2

    Hey, GG, Where do we get the Classic Controller Port?

    ncc 1701

    6 years ago on Step 9


    i copied the file basedit.bin on to the sd card, but when i press f1 i get the message "file misssing "basedit.bin"

    2 replies

    Do you see a directory when you type DIR and ENTER?

    Come over to the support forums and we'll help you troubleshoot it.


    ncc 1701Propellerpowered

    Reply 6 years ago on Step 9

    thanks, but i figured it out on my own, it turns out the problem was that i had basedit.bin/basic.bin both in a folder on the sd card and the pmc couldn't read it it.

    They ship from NE Ohio. Based on another customer's orders, I believe the typical time to Canada is about five days.

    That's estimated time from Propellerpowered. We still ship for Gadget Gangster, but the PMC is now a Propellerpowered project. Generally, I ship around 24 hours from time of order (weekdays). At present, there are 6 PMC kits in stock.

    I recently did an "off-the-cuff" video of the Pocket Mini Computer project.
    The cinematography won't win awards, but this will give everyone a first hand view of the project and the progress we've made since this Instructable -Jeff-

    ncc 1701

    6 years ago on Introduction

    when i click on the pdf (BASIC manual) it says it's be removed, does any one have some suggestions as to were i could find instructions on using BASIC?

    2 replies

    Here's the most up-to-date reference on the BASIC.

    We moved the .PDFs to the /Documentation folder in the sources library.