The ARM-pad

I'm developing the ARM-pad, a 2.2-inch color pocket gamepad based on the NXP LPC812 and the ILI9340 2-inch TFT.
It has besides the TFT, an SD-card slot.

I'm porting the Adafruit TFT library to ARM using the Due makng it real easy to move to the NXP.

The picture of the Due is just my porting platform and not the console.
I just stuck the display into the edge ports to make it run without soldering.

The ILI9340 library came out at 928bytes ported to the ARM, not bad.

I could build it even smaller using the 128x64 OLED display.
The problem is that it cost's twice that of the 2.2" TFT.

And I like color :slight_smile:

First port of a 3D raycasting engine.

The raycaster runs just fine but I need to push pixels faster over the SPI bus.

raycast.jpg

You can buy the ARM Pocket 3D here:

I was thinking of adding an ATmega MCU to it to make it dual CPU and make it compatible with the Arduino IDE.
They could talk to each other and share the display, buttons and a 2MB SPI flash?

What do you think?

A bit blury video but it renders quite nice on the 320x240 TFT?

Why are you still posting here? I thought "this community sucks"
http://forum.arduino.cc/index.php?topic=238975.0

It does but I have no choice.
It is the best Arduino related forum around.

And the ARMpad is actually developed on the Arduino DUE and ported to the NXP.
Why I'm not using the DUE is because of it's price and ugly pinheaders.

It now has a smaller cousine (keyring size), The Pico-3D.
It uses a 128x64 OLED display.

Haven't decided yet if I'll use an ARM or a Pro Mini on this one.
It has considerably less data to push for each frame.
8192 mono pixels compared to 76800 color pixel.

Same 3D-engine but mono display and smaller.

It's a very cool little toy.

one get a better impression of the size if you place a ruler (or coin) neat the thing.

BTW, the blurry video looks quite performant.

Small :slight_smile:

IMAG0258.jpg

Ok, It's now ATmega328 for the Pico-3D

janost:
Small :slight_smile:

Thanks

Here is the PICO-3D running my textured Raycaster on the ATmega328.

impressive!

It took a lot of optimizing and cutting corners to make it run on the ATmega.
But I haven't used any assembly coding yet.

The biggest problem with running the bigger color-TFT on the ATmega is the slow SPI running at 8Mbps.

For the larger display it needs to be at least 15Mbps to make any reasonable refresh rate.

It doesn't need any display buffer because the ILI9340 can draw over SPI on single pixels or straight lines.

I shaved the ruff edges of the raycasting engine and added a few textures.
It's now much cleaner and probably the best you can do on the ATmega.

I'm very much impressed by the performance of the ATmega.
That is 8192 rays to calculate for every frame.

It still runs at 5fps.

Very impressive.

Here is a better clip on the 2.2" TFT raycaster.