IchigoJam – Single ARM chip PC with Video and Keyboard support


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”:


Then you can use the keyboard to write your program!

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


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.


A10-OLinuXino-LIME EUR 30 Open Source Hardware Linux SBC first prototypes


In September we blogged about upcoming LIME. Now the first prototypes of A10-OLinuXino-LIME are assembled.


This is little compact board with dimensions only  84 x 60 mm a bit bigger than credit card size, but full of features:

  • A10, Cortex-A8, 1Ghz, NEON, VPU, GPU
  • DDR3 512MB
  • microSD card
  • optional 4GB NAND Flash
  • SATA + power supply
  • HDMI 1080p
  • USB Hosts x2
  • Ethernet 100Mbit
  • Lipo battery managment and connector
  • 200 GPIOs on 0.05″ connectors
  • PWR jack +5V only

When we designed it this time we selected proper enclosure from the start:


And here is the final result:



Once everything is tested with the software we will continue with mass production and if everything goes smoothly we will have LIME in stock in December.

Price will be EUR 30 for the base model without NAND Flash and enclosure. The Plastic box will be available for +EUR 5.00

A13-OLinuXino board routing progress


We decided to re-format the PCB in standard Nano-ITX form factor 120×120 mm.
The high speed DDR3 memory part is completely routed now, the board will be 4 layers, so generally most of the work is done.
Now the peripherials have to be routed and next week we may be ready for prototype PCB run.

iMX233-OLinuXino-Mini specifications changed


Our first intention was iMX233-OLinuXino-Mini to have just one USB host and no Internet connection, but after discussion both here on blog and on OLinuXino Yahoo groups, we came to conclusion that: 1 USB host is not enough, Linux board without Internet access is not very usefull (well the interest for Micro prove me wrong here, but anyway we do not need to have two Linux boards with no Internet – Mini and Micro!).

So after evaluation of different options we add GL850G USB hub to iMX233-OLinuXino-Mini which increase the number of USB hosts to 3, and we spared one internal ON-board USB host where to connect the nice RTL8188CU WiFi modules which will add WIFI to iMX233-OLinuXino-Mini! The WIFI module will be optional, so you can order iMX233-OLinuXino-Mini or iMX233-OLinuXino-Mini-WIFI later with on-board WIFI module.

We run prototypes and will test them in 1-2 weeks, if everything works as expected the production is to follow and these boards will be ready in stock mid July.

iMX233-OLinuXino-Micro Doube Side Design works at full speed


Our first attempt to route DDR memory at 2 layers in iMX233-OLinuXino-Mini didn’t went very well as we wanted to put all components on one layer thus to make manufacturing with single reflow for lower cost.

Unfortunately the board didn’t work reliable at higher than 64 Mhz DDR data bus clock as with the 2 layers design we couldn’t make all signals lenght same, but split it on two groups, anyway. We decided on iMX233-OLinuXino-Micro to try again 2 layer design but this time to put the DDR memory under the iMX233 chip and to make signal paths not even but very short. After all this is just 133Mhz not 1333Mhz as it will be on A10-OLinuXino 😉


We routed the board and run prototypes which got assembled on 23th of May 16.00 oclock, so we could’t test them until today due to our Holidays.

Today we run the tests and board works great at 133Mhz DDR clock.

First the board was designed with USB-mini connector for taking 5V power supply, then I told our developers to change it to standard power supply barrel jack, but they didn’t understood correctly nor I have double check the PCB files before we ran the prototypes, so now first prototypes have USB-B connector for power supply :D, don’t worry it will be fixed in the production run, which is to follow. Also these prototypes were produced in Green color instead Red as they will be in production.

The CAD files of this working 2 layers design are uploaded on GitHub.

We are about to run few other tests tomorrow and put this board on tail for mass production. This means we will have these boards in stock about end of June (or earlier 😉 ).

A13-OLinuXino 1Ghz Cortex-A8 development started


We got last friday 4 samples of Allwinner A13 ICs and AXP209 and we begin the new board design.

We also got finally the A13 datasheet and there is GREAT news inside it, Allwinner A13 operates in INDUSTRIAL temperature range also, so -25+85C is what this chip can work and there is no problem to be used in INDUSTRIAL applications too.

I worked this weekend for the specifications and this is what I came with:

1. A13 Cortex A8 1Ghz processor
2. 512 MB of DDR3 memory
3. 6-16VDC input power supply
4. 4x USB hosts – one reserved for optional WIFI
5. 1x USB OTG
6. VGA
7. Audio Output
8. Audio Input
9. RTC PCF8536 on board for real time clock and alarms
10. SDcard
11. 5x Keys on board for navigation
12. UEXT connector for connecting addtional UEXT modules like Zigbee, Bluetooth, Relays, etc
13. GPIO connector with 68/74 pins and these signals :
– 17 for adding NAND flash
– 22 for connecting LCDs
– 24 GPIOs, 3x I2C; 2x UARTs;  1x SDIO2
– 5 system pins: +5V, +3.3V, GND, RESET, NMI

Another great news which came right on time was that there was leak of A10 Linux 3.0.8 kernel source and Android 4.0 sources http://forum.xda-developers.com/showpost.php?p=25978796&postcount=121 where the support for A13 is not cleaned so we have now linux and android 4.0 sources which support A13 processor, so releasing the proper software for A13 will be easier than I though first.

iMX233-OLinuXino-Micro the EUR 20 Linux single board computer is routed nice and clean


We finished the iMX233-OLinuXino-Micro routing and the files are push to GitHub.

Tomorrow we will run the prototypes, we were very tempted to see if we can make the design 2 layers first, we placed the memory directly under the iMX233 processor so the signal paths are very short and should be not problem for 133 Mhz, but the cross talk may play bad joke for us with no ground planes to separate the signals. Well crossing fingers and … we’ll see in few days on what frequency it will run.

Meantime the software developers did enormous amount of work. The iMX233-OLinuXino have now Open Embedded Layer and Raivis now is having fun with Linux Kernel 3.3 trying to move the 2.6.x drivers to the latest Kernel.

iMX233 battery power supply tests


Once we solved all battery power supply issues on iMX233-OLinuXino-Maxi today we tested how it works with our Li-Po battery http://www.olimex.com/dev/battery-lipo1400mah.html

We got very interesting results!

The LAN9512 USB hub + Ethernet takes about 250mA when used, total consumption is around 320 mA when all peripherials are used and Ethernet is working with the 1400mA battery this means around 4 hours of continuous operation on backup battery for iMX233-OLinuXino-Maxi.

Then we disconnected the LAN9512 to see how power hungry will be iMX233-OLinuXino-Mini and whoa during the boot the consumption is around 120mA, then at linux console working with the board the power consumption drop to 75mA! this means about 18 hours work on battery! Then we put the board in suspend mode with the PWR/REC button in this mode the processor is IDLE and just the RAM is refreshing, and the power went down to 30mA.

Now I’m really puzzled does 454Mhz ARM926J processor consumes only 45mA when run at full speed?

On Linux console running “top” show CPU use 3% when you do simple shell commands. So let’s make the CPU a bit busy with:

$ cat /dev/urandom > /dev/null &

$ top

Now we see CPU is used at 100% and the power consumption rise from 75 to 120mA! Ahaaa so Linux kernel does some kind of flexible power management depend on the CPU load, so the power consumption vary. Anyway if we assume the DDR still takes about 30mA the power consumtion of just 45-90mA of 454Mhz ARM9 processor is remarkable (well let’s not forget that iMX233 was designed with portable media player in mind so working on battery was design goal for the engineers who created it, well done!).


1. on battery with USB hubs ON, Ethernet ON etc. the total power consumption is about 1.35W (4.2V x 0.32A)

2. without LAN9512 USB hubs and Ethernet the total power vary from 0.3W to 0.5W depend on CPU load

3. In suspend mode OLinuXino needs just 0.1W

iMX233-OLinuXino-Micro – 76×42 mm Single Board Linux Computer!


Today we made the preliminary schematic of iMX233-OLinuXino-MICRO, the smallest OLinuXino single board computer.

It will be 2 layers design in very compact form, on the left side you see the TV-OUT + USB-host where you can connect Keyboard, Mouse or WIFI dongle, on the right side you see the SD-card and miniUSB which is used as power supply 5V connector.

My rough estimations are that the BOM of this board will be around EUR 12 even for small quantities like 100 pcs, our plans are to release assembled and tested module for EUR 19.95.

Two 0.1″ step 30 pin rows connectors have all iMX233 signals and you can use breadboard like BREADBOARD-1 to breadboard your next LINUX project at home 🙂

Specifications remain iMX233 454Mhz ARM9 processor, 64MB RAM.

The CAD files are on the usual place in GitHub:  https://github.com/OLIMEX/OLINUXINO

OLinuXino board discussion group is at: http://tech.groups.yahoo.com/group/olinuxino/

iMX233-OLinuXino-Mini blank PCB prototypes ready


The OSHW iMX233-OLinuXino-Maxi was designed on 4 layers and everything worked from the first prototype, so we moved forward and re-routed the iMX233-OLinuXino-Mini version which have no Ethernet on 2 layer to unleash the hobby designs with iMX233.

Do you see the weird drill slots around the mount holes? This briliant ides was proposed on Yahoo Groups OLinuXino forum, we made the board to fit in low cost plastic enclosure, but someone suggested that many would not need plastic box if they want to put this board in industrial enclosure, so mounting holes are necessary. The Maxi and Mini boards are so dense populated that you can see there is not much space for mount holes, then somebody proposed to make this drill slot design which allow mounting but if one want to place the board in box can simple bread them away and put the board in the box. This just show how viable is the open source idea, many heads think better and find smarter solutions than one 🙂

Now have to test if the DDR RAM will work reliable at full speed with 2 Layers.


iMX233-OLinuXino-Mini is OHSW as well and the CAD files will be available on GitHub once we debug and make sure everything works as expected.

Previous Older Entries