Improving 3D graphics for Arduino LCD shield

Arduino Uno features Atmega328 microntroller with 2KB of RAM. When you start working with graphics LCD, memory melts down immediately. One of the common GLCD shields for Arduino is Adafruit’s LCD shield which features 320×240 color graphical LCD driven by ILI9341 driver IC. There is a ready made library that allows drawing graphics with few lines of code. This is OK for simple drawings and menus, but when you start working with some motion and animation flickering and tearing occur. This is due to limited memory on Arudino. Simply speaking there is no space to render whole frame off-screen. 340X240 frame would require 500KB. M Rule starting looking for more optimal ways of displaying and updating graphics on screen that would minimize these effects and make graphics update smoother. He started tweaking Adafruit’s library with custom solutions that makes rendering stages less visible to human eye. One of the ways is to render frames on top of each other first and then remove unnecessary pixels. This works great with mesh graphics, but 3D surfaces there is also a Z buffering… Continue reading

Another Cheap Graphic Display

NHD-C12832

The NewHaven’s NHD-C12832 graphic display is a 128 x 32 pixels display with an SPI interface but what makes it interesting is the cost of it. It just cost 11$ and is currently one of the cheapest display available with the above mentioned resolution.  The LCD operates from 2.6V to 3.3V. Therefore to solve the problem of the logic levels, the breakout board was provided with a 3.3V 150mA LDO regulator along with a level shifter (74VHC541) to convert the logic signals to a operating voltage so as to make it compatible with 5V logic levels. The backlit can be controlled with the help of Pulse Modulating Techniques which is used in almost all cases to generate analog voltages. The display which runs on a SPI based controller draws around 0.45mA of maximum current. Also, the backlit is also connected to a regulator via a MOSFET which is acting as a switch. GIMP was used to convert the image into a black and white which was further exported to a hex format and was then included as an header file with the… Continue reading

Arduino Mandelbrot Fractal viewer

The Mandelbrot Set is a kind of equipment that was set up by Jonathan Coulton Adam Wolf. It is a fractal whereby it allows you to zoom on the border and you get the very best image. Almost everyone knows what Mandelbrot Set is but do not know how this is calculated. What most people know is that it has some special properties that related to zooming. To understand what Mandelbrot Set is, you need to read the tutorial that has been written by the developer himself whereby you will find out that there are both the mathematical and practical approach. The Mandelbrot set and other similar fractals are drawn in such a way that there are a lot of good looking colors that are around a black background like the one shown below. Continue reading