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.

 

STM32MP1 nice candidate for new industrial grade OLinuXino-LIME

Screenshot from 2019-09-03 15-00-34

ST Microelectronic released new interesting device it’s Cortex-A7 and Cortex-M4 in one package. This solves two problems – the connectivity and ample amount of DDR3 memory to run Linux on Cortex-A7 core and the additional co-processor with Cortex-M4 for Real Time tasks. On top of this it’s -40+125C operating temperature and with 10 years supply longevity warranty from ST.

The prices starts around USD 5, which is in same range as Allwinner/Rockchip.

Their top model STM32MP157C has 3D openGL ES2.0 and CAN. There will be finally properly documented Secure boot (we hope 🙂  ):

Screenshot from 2019-09-03 15-06-23

From recent Twitter post I see than Bootlin already works on Linux support for STM32MP1.

Overall STM32MP1 looks like very promising SOC for Industrial grade Linux computer.

A64-OLinuXino 64-bit ARM OSHW designed completely with KiCAD is live!

А64-1cut

A64-2cut

This is the first prototype of A64-OLinuXino. The first complex board we made completely with KiCAD.

You can see on the picture above the full configuration with 1GB RAM (2GB is possible) and 4GB fast SLC eMMC Flash, with WiFi+BLE4.0 module.

It was a while until we found free window to run it on the assembly line, but this week we succeed.

Android is build and run from the Allwinner SDK, Dimitar Gamishev managed to make some quick and dirty Linux image, based on Allwinner uboot and kernel, but things are far from complete.

The good news is that A64-OLinuXino boots fine, here is meminfo and cpuinfo.

The bottom line – KiCAD is tested and can produce working complex boards with controlled impedance.

 

A20-OLinuXino OSHW Linux computer is doing hard 24/7 work at Mining industry

20151203_134444

Noac Engineering is Bulgarian company which makes engineering automation, GPS fleet tracking, dispatching and monitoring systems in one very specific niche: the Mining industry.

There are working *huge* machines which cost *a lot of money*:

20151202_134424

and work in *extreme* conditions:

IMG_0346

DSC07642

to optimizing their work is something which pays off very quickly!

Every hour of non working cost lot $$$ so they should run 24/7 in the best optimized way possible.

This is how the control room looks like:

20151206_173114

NOAC engineering has chosen to use OLinuXino for their systems running Debian.

They put OLinuXino in the vehicles, so they had to make metal robust box to protect the board from dust, vibrations, shocks etc. as these machines works in really hostile environments.

20160112_133916

20160112_134213

Needles to say the boards run 24/7 non-stop.

Retro Computer Puldin – the only Bulgarian 8-bit computer developed from scratch

10175944_310895412452913_2992340338690784455_n

The first lecture at our Workshop in January 10th was about Puldin retro computers, so I will take this opportunity and write few words about it.

Puldin is big sentiment for me at least, because this is 100% pure Bulgarian development, while the “Pravetz” brand was copy of Apple ][ (Pravetz 8A, 8C, 8M), Oric (Pravets 8D) and IBM-PC (Pravetz 16) the Puldin computers were build from scratch both hardware and software and were produced in Plovdiv!

Puldin was produced in 4 modifications 601-A/U/M/T, the RAM memory was 64KB, the ROM was from 4KB up to 68KB depend on the model, the video output could be connected to normal TV, there was LAN card, Printer centronics output, Cassete input, RS232, Floppy disk, etc.

Back in 1987 the General Manager of the state owned factory for membrane keyboards ZSSU (“Zavod za Senzori i Senzorni Ustroistwa”) Slavei Papachev start looking for suitable device to manufacture to fill the factory capacity and decided that computer would be something worth to make. He asked the government agency “State Committee for Science and Development” for help and they connect him to NIPL “Programno osiguriavane” – small company within Sofia University. Together ZSSU and NIPL made joint venture named Abacus and start working on new computer with name PULDIN ( Puldin is ancient name of Plovdiv where ZSSU is located).

klav_pl

This membrane keyboard was the reason Puldin computer was designed and produced 🙂 unfortunately this also is the worst user experience keyboard I have worked with 🙂 there was no tactile click feed back so you basically don’t know if you pressed the key, fortunately later models had connector for external IBM-PC keyboard with keys, which make the work easier.

As you can see Puldin was born very late in 1988 there are already lot of computers on the market including IBM-PC with 16 bit processor running at the remarkable 4.77Mhz 🙂 but the goal which ABACUS sets is to build computer with components which are produced completely in Bulgaria, at that time the Semiconductor Plant in Botevgrad is producing Motorola 6800 copies named CM601, so the choice was obvious the computer will be 8-bit and using CM601 (6800) family.
In the communist times there was no free currency exchange so to buy components from outside was expensive and unreliable. The designs had these choices:

  1. Designers must use Bulgarian components only
  2. If this is not possible for some reason, then they should try to use Russian components
  3. if still not possible they must try to use components from other communist countries like Czechoslovakia, Poland, Hungary, East Germany, etc.
  4. only if nothing else is possible then designers can use components from Taiwan, USA etc., but this will make the later production and components sourcing incredible complicated process.

Four engineers start working on the hardware: George Ginov, Ventsislav Gatev, Svetlozar Peichinov and Spas Georgiev. For one year they passed through prototypes and the computer hardware was ready for production.

On our workshop I invited George Ginov (the guy with the mustache at left side on the picture below), who still works in Plovdiv and he spoke how the PCBs of Puldin were made 🙂 it was interesting to hear about the problems they had, both in the design stage and later in production (manually matching memories with same timing to may work together) the quality of the Bulgarian semiconductor components was not the best.

10922541_310894539119667_6738443065401649104_n

The real masterpiece work on Puldin was done though in the software. There are six heroes who did this and the interesting thing is that all they were students when they wrote the firmware for peanuts and just to prove that they can do it. These are: Orlin Shopov, Ivo Nenov, George Petrov, Todor Todorov and Leonid Kalev.

The software team got one decission – to make Puldin compatible with IBM-PC, so to may read IBM-PC disks they made UniDOS which basically do same like MS-DOS does on IBM-PC, then made their own Assembler, BASIC, Pascal, Editor, Diagnostic tools, even DBase equivalent, which worked same way on both IBM-PC and Puldin, so one could develop on any of these computers and then to move the code across these two platforms using Pascal P-code long time before Java portability was invented!

Interesting thing is that all software was written on Assembler and Pascal, and the Puldin Pascal compiler was written itself on Turbo Pascal for IBM-PC which was the best compiler for PC at that time.
Here I found Russian site which backup information for Puldin computers and have the sources for all compilers and tools used in Puldin http://pyldin.narod.ru/software.htm

Puldin production started in 1988 and between 30 and 50 000 pcs were shipped mostly to Russia. Then came 1989 and the communist system collapsed, the whole economy stopped working as it used to be in the old times and most of the factories were closed.

Sure in ZSSU worked many talented people who lost their jobs, but started new ones in the private sector: George Ginov with 3 other ZSSU employees made Slectra PCB small company which designs and produces PCBs, another ZSSU employee – Dimitar Filipov made Philiks-M company which now produces membrane keyboards and actually duplicate what ZSSU did producing before the collapse, another ZSSU employee Encho Pondev made Taurus93 company which also makes membrane keyboards and panels.

From the team who made the software I can find that only Orlin Shopov seems to have stay in Bulgaria – this guy used to be legend, he wrote Eagle DOS for Apple ][ (Pravetz82) and UniDOS for Puldin, duplicating what Bill Gates did for Apple IBM :))) unfortunately he was born at the wrong place in the right time, so he now is selling computers http://www.eagle.bg/ instead to run billion USD software company. I will try to contact and invite Orlin on one of our next workshops I’m sure he have lot of interesting stuff to share for the old times 🙂

The guy who wrote the Assembler BIOS and Basic ROM for Puldin – Todor Todorov became more famous with his virus works instead of what he did for Puldin http://virus.wikia.com/wiki/Dark_Avenger

Here are more pictures of Puldin:

10930858_310895405786247_5651377839255358094_n

524181_310895425786245_6483860320592704115_n1908491_310895539119567_8252736978785453243_n

10434071_310895482452906_5571764255475939382_n10922531_310895499119571_3670431660978648066_n10929550_310895569119564_5244697016681908987_n

UPDATE 13-01-2015: After the blogging I sent e-mail to Orlin Shopov and got his reply today, he confirms that he can attend one of our next workshops!

A20-OLinuXino-LIME Dual Core Cortex-A7 Open Source Hardware Board for EUR 33 in stock

A20-OLinuXino-LIME-1

A20-OLinuXino-LIME is same as A10-OLinuXino-LIME but with Dual Core Cortex-A7 processor.

The result is A20-OLinuXino-LIME works x1.9 times faster than A10-OLinuXino-LIME but consumes 30% less power. All other functionality is same. Android 4.2.2 and Debian Linux images are ready.

A20-OLinuXino-LIME-4GB is the version with 4GB NAND Flash.

 

Qt5.2 running on A13-OLinuXino-WIFI OSHW Linux computer

Image

Miroslav Bendik posted again nice video with Qt5.2 running on A13-OLinuXino-WIFI and A13-LCD7″TS

 

 

Previous Older Entries