IchigoJam – Single ARM chip PC with Video and Keyboard support

PC

Everyone who has made their first steps with Apple ][, BBC micro, or Commodore 64 remembers the BASIC language, which nowadays is used by almost no one.

A few days ago, I was directed to an interesting project named IchigoJam BASIC. It was made in Japan and it was about creating a small computer with a BASIC interpreter, made on single LPC1114 Cortex-M0 ARM controller from NXP with only 32KB of Flash and 4KB of RAM.

Ichigo means Strawberry, so this keeps the tradition PCs to be named on fruits.

Although it is built on tiny resources, IchigoJam BASIC has quite an impressive list of commands including I2C read and write!

The schematic is quite simple.

The composite video generation is made via a couple of resistors, and the keyboard is connected with a simple USB-A connector, so with just a few components you have a small personal computer!

And this is not everything, the same hardware has firmware for Javascript called IchigoLatte , for Ruby called IchigoRuby, for IchigoFORTH and here.

On top of this, if you want to try IchigoBASIC you can do it on the web. How cool is that?

Needless to say, I wanted to try this project. I choose our LPC-H1114 board as it has almost everything already pre-soldered.

I had to connect:

for power supply:

LPC-H1114.pin50 – to GND
LPC-H1114.pin49 – PWR to +5V DC

for firmware update:

LPC-H1114.pin46 – to USB-Serial Tx
LPC-H1114.pin47 – to USB-Serial Rx
LPC-H1114.pin4  – to GND

for Videop output

LPC-H1114.pin27 – 470 ohm to video connector
LPC-H1114.pin28 – 100 ohm to video connector

for USB keyboard connector:

LPC-H1114.pin23 – DP
LPC-H1114.pin14 – DM

You can update the firmware using the instructions here.

If you did everything correctly when you apply the power supply you will see on the monitor the text “IchigoJam BASIC 1.4.2 by jig.jp”:

IchigoJam

Then you can use the keyboard to write your program!

You can repeat the project with quick dirty wire connections like I did:

LPC

What you need is a LPC-H1114, a Video RCA jack, a USB connector for the keyboard, a small monitor, a keyboard, and some jumper wires.

This project would be a very good fit for some next Soldering workshop as it has few components but it completes a fully functional BASIC/Ruby/JavaScript/Forth computer.

With the current state of COVID-19 probably TuxCon would be postponed for the Autumn, so there is plenty of time to make a small PCB for soldering 🙂

IchigoBASIC has a button, an LED, plays music on a buzzer and you have access to 4 Digital Inputs and 6 Digital outputs and I2C interface connector.

Too bad most of the educational stuff is in Japanese and needs translation.

 

Free online e-book Speaking JavaScript

Image

 

For these who want to learn JavaScript this is another free online e-book

Turbo Pascal 3.0 running in your browser – JavaScript implementation of the Legendary Compiler

Image

Yet another amazing JS project – :awrence Kesteloot implemented Turbo Pascal IDE in Web browser.

You can browse the demo project with D, load the project with W and run it with R.

Sure you can also make your own Pascal code and run it. Have fun!

Sweet memories with Pascal programming many many years ago, this was the first really useful Pascal compiler which I had my hands on, although there was restriction for the code to fit in one segment of 64KB there was work around for bigger programs to compile them as overlays and load dynamically…

Free online e-book “JavaScript Allongé”

Image

Why JavaScript Allongé?

JavaScript Allongé solves two important problems for the ambitious JavaScript programmer. First, JavaScript Allongé gives you the tools to deal with JavaScript bugs, hitches, edge cases, and other potential pitfalls.

https://leanpub.com/javascript-allonge/read

Free Interactive online tutorial for JavaScript

Image

http://javascript.didacto.net/ offers nice and step by step interactive tutorial for these who decided to learn the basics of this popular language

Test your code online on 10 different programming languages

Image

Yesterday we got nice tip on irc channel for this site: http://eval.in/

You can write your test code in the browser and execute it in 10 different programming languages.