Some small computer project

Simply making small computer as a hobby, combined my previous two (ATMega, SAMD21 ARM) projects in one.

Similar projects worth following
Simply making small computer as a hobby. These are based on Atmel AVR and Atmel SMART (SAMD21) ARM and both are Arduino compatible. Atmel AVR version is running extended TinyBasicPlus and ARM version is running extended Toyoshiki TinyBasic. Full sources and information can be found at links in the left-bottom of this page.

  • 1 × ATmel SAMD21G18A
  • 1 × Atmel ATMega1284P
  • 1 × OLED

  • All you need is SD card and computer, without keyboard

    kodera2t07/24/2016 at 09:56 0 comments

    I may have overlooked very fundamental problem of my tiny computer. that is....

    Availability of good keyboard which can transmit serial ASCII data in 4800bps. This is not totally general and never find in Best Buy. Actually I have one but 99.99 % of people of the world would not have such a weird keyboard. SO, this time I would present the solution for that.

    NOW my tiny computer will automatically execute the program file named "AUTOEXEC.BAS" in SD card and if the file does not exist, nothing will happen. "AUTOEXEC.BAS" is a simple text file and we can edit it by PC and MAC, meaning....


    All you need is battery can provide 3.3V.

    Actual operation is explained in the following movie...


  • My first commercial ? message!

    kodera2t07/23/2016 at 10:18 0 comments

    Indeed I did lots of extension and even me some of them are forgotten ;-). Now I made a summary movie for sale promotion!! Have fun! and please visit my tindie store if you have interest!

  • And now it's on sale at Tindie....!

    kodera2t07/21/2016 at 13:10 0 comments

    And now my small computer is on sale at

    I would say this is the first time and last time of this assembled computer for sale. (I may sell parts sale..) Now it's just $31.5 and don't you have one?

  • I would sell full kit at tindie ( if admitted)

    kodera2t07/17/2016 at 03:59 0 comments

    Eventually I would like to sell full kit of "super tinyBASIC computer" contains

    (1) PCB

    (2) Arduino bootloader written ATMega1284P

    (3) RTC (PCF2129AT)

    (4) two-byte character (Kanji) SPI ROM

    (5) Piezo buzzer

    (6) All of connectors and capacitors/resistors

    All you will need to complete is this kit and (USB-TTL interface (FTDI): not included) . Stay tune!

  • 3D display !! by small LCD projector!

    kodera2t06/25/2016 at 10:51 1 comment

    It is a 3D display! working for TinyBASICPlus. May be most remarkable point is, character is projected on 3D, meaning we can see not only just in front of LCD but also wide direction of sight!

    Actual operation can be found in the following movie.....

  • Big (but small) memory support in TinyBasicPlus

    kodera2t01/14/2016 at 12:57 0 comments

    As we know, we can buy lots of single board computer with gigant memory by less than $10. In such a situation, my trial is driven by purely my personal interest. This time I made a tiny computer Arduino based TinyBasicPlus, with external SRAM to ATMega2560 through XMEM function.

    You may see lots of thin jumper wires on board,,, yes :-( I could not make it in smart (non jumper) manner...

    Original ATMega2560 has just 8kB but this board support 64x8=512kB (4M bits) by XMEM function of AVR. Indeed my TinyBasic source supports only one bank (64kB) of memory and still in progress but currently, as you will see, supporting around 32kB. (I need more careful arrangement in memory space) Currently this BASIC is plain one (without camera, beep RTC... etc support) but larger main memory gives more "extension" possibility. As a main memory of TinyBasicPlus, bank switching will be a bit hard one but, for example, camera application, another bank can be freely access through XMEM function. For this implementation, XMEM library developed by Andy's workshop is utilised. As same, all the information (Arduino source, Eagle files) are uploaded to github. Actual operation can be found in the following movie... have fun!

  • Something else?: big SRAM board by XMEM

    kodera2t12/29/2015 at 01:49 0 comments

    It is still work in progress but I've made "big memory board" utilising XMEM function of ATMega128.

    This board has additional 32kB SRAM and with internal 4kB SRAM, it will work as 36kB SRAM board. XMEM is not new technology and can find several information to activate it. Currently...

    Board itself is working but not yet activate additional SRAM. When I fully activate and utilise additional SRAM, I will add 4Mbit SRAM (will lead to 512kB memory to tinyBASIC plus!!!!) Stay tune!

  • Now it looks like more a computer?

    kodera2t11/03/2015 at 09:45 0 comments

    My tiny computer surely consists of essential element, human interfaces (keyboard, display), storage (SD card), and processing unit. But the current keyboard (firmware re-loaded Xbox360 chatpad) is not for touch-type long-writing one, as you see.

    Yesterday I got a keyboard for Palm pilot just by 300JPY at junk shop. Palm is completely obsolete system and not attractive for most people except me! Indeed, the keyboard in 1990 has quite good typing touch compared to crappy current China made. (I have to say this keyboard is also made in China, but ten years ago, lots of China-made with conscious to export was better quality, especially the case of keyboard.) This one is almost brand-new and original user seems not using it so much. (it seems, never used..) I imagined how it will be nice if this keyboard is connected to my tiny computer system!

    My good habit before making something is searching, and I found one relevant project converting Palm keyboard into USB and with smartphone. This author uses original keyboard controller circuit and adding USB interface by ATMega32u4, my favorite one, and the author found its communication protocol as "inverted TTL logic at 9600 baud with no parity and one stop bit". My computer character input is TTL serial and I thought it should be piece of cake..... but not in this case.

    Surely this keyboard sending "some very long data" for just one key touch. It has some rule between character and produced code, but for me it seems more easier to make keyboard controller from scratch...?

    I quickly design (or just connecting components) by ATMega328P and PCA9555PW 16 ports GPIO extender. In theory, keyboard matrix of 16 x 8 needs 128 diodes but I don't want to make diode-paradise board and I copied simplified keyboard matrix circuit of ancient "ZX Spectrum", which reduces just 8 diodes. PCA9555 produces key-scanning signal by I2C command, and result is obtained by GPIO of ATMega328.

    This is the top view of PCB, where we can see ATMega328 and 8 diodes, and on bottom side...

    Just one chip PCAL9555. This is my first time to use this type of chip (port extender), but it is quite handy and useful. You can see two thin wires around connector,,, this is due to my careless handling of flat cable of keyboard. (Two signal lines are disconnected, and I fixed it).

    As same as my previous tiny computer base station, I put Lipo and charging circuit inside.

    And this is what I made. Actually making keyboard controller is full of "good to know" since actually I did not know what is keyboard matrix and how diodes is working well in it. I found simple key-scanning sometimes produces "too much character" and this type of problem is avoided by software (combination of milis() and ...) Moreover, in addition to full keyboard function (shift key and ...), top six rubber function is also activated. Each of key generates "print ", "load ", "list+CR", "run+CR", "mem+CR", and "cls+CR". Full source including circuit board information and Arduino sketch is released at github, and actual operation can be found in the following movie.... have fun!

  • Almost completed

    kodera2t10/25/2015 at 11:24 0 comments

    Now almost completed.

    I had encountered one mysterious situation. I made two similar tiny computer both are based on ATMega1284, but one with microSD and the other is full size SD card. The previous demonstration was taken by microSD card version (without RTC nor Kanji ROM), because it did not work well with color OLED...!

    This is the microSD version. Surely working but it is not uncomfortable not knowing why the other one with color OLED does not work!

    Indeed, the other one is perfectly working with SSD1306 Monochrome OLED. This was a hint and new good to know. Actually reset signal (RST) of SSD1306 and SSD1331&1351 have different behaviour. RST of SSD1306 can be simply pull-up during operation and SSD1331&1351 should have RST signal generated by MCU. My SDcard version has pulled-up RST signal and this was the reason.

    So I change wiring of RST from pull-up to MCU pin, and now it is surely working well. Actual operation can be found in the following movie... have fun!

  • Boost up LCD version TinyBasic computer by PDQ graphic library

    kodera2t10/24/2015 at 09:10 1 comment

    I also made LCD version of tinyBasic computer very long time ago in dog year. I remember the main reason why I have not used it well was "slowness" compared to OLED. This time I found improved graphic library PDQ in and I switched from Adafruit_GFX to PDQ.

    PDQ_GFX version source is available here.

    Actually really significant speed up is confirmed. You will see in the following movie..

View all 14 project logs

Enjoy this project?



daltarasha462 wrote 09/11/2022 at 20:15 point

It's a fascinating project!! hats of to you. I am creating a similarly golf game which will help play profoundly and I've already made a store for it. 1: ... You need to power it on soon.

  Are you sure? yes | no

tywy wrote 09/08/2022 at 18:54 point

How about powering this computer?
If it runs for at least a week on a single charge and you can run fuzix on it (on anything you can) then a lot of people will want it

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates