I picked up some 3D skills this last month.
This sculpt was made in sculptris and rendered with blender’s cycles.
So this is what my pet Arduino/LCD project boiled down to,
after having wrestled with the UTFT library and won.
I wrote a small python service that sends commands over the usb serial line over to the tiny screen.
Sadly I haven’t had time/wits left to figure out how to optimize the drawing routines as writing the the tft-controllers GRAM really is slow as you can se e from that small fps counter in the top.
I’d like to add a log-mode to scroll all incoming messages one line up and append the new one at the bottom. But that’s pretty impossible if i have to clear and rerender the whole screen.
After having peeked in the ILI9325DS datasheet, i noticed that the GRAM is larger than the effective screen. Maybe it’s possible to send some controlmessages to remap the screen location in the GRAM to achieve a text-scroll effect.
anyways, here’s the sourcecode for this setup:
Sadly I coulnd’t get those two to play nice, after almost two days of staring at a blank white screen (I’m quite new to interfacing two microcontrollers to eachother);
I think i finally found the problem.
The module boasts 100% hardware compatibility with Arduino and it fits quite perfectly over the leo, the backlight lights up and such.
But the recommended UTFT Library which at first glance baffled me, seems not to be compatible with the leonardo.
I came across this Article yesterday about how to adapt and interface the ITDB02 shield to an arduino mega, and I figured there might a similar problem in my setup.
And ended up with the following table:
The UTFT library uses AVR pin-names for better performance, and thus the pin-names are hardcoded, so e.g. Arduino Digital
pin0 is mapped to the Atmega pin
PD0 on the UNO but on the leo it’s mapped to Atmega pin
So that’s about it, I’ll have to dive in I guess and try to create a separate set of defines for the Leo in the UTFT library, atleast it’s more of a software related problem.
Another note, for those of you who want to use the TSC204 touchscreen interface of that module on an leo, You can use the ITBD02_touch library with the following initializer:
And it’ll work right out fo the box.
UPDATE – It’s alive! It’s alive!
I managed to patch the write function to support the ATMega32U4 that Leonardo uses
here’s my patched UTFT Library