Raytracing Display running on a RasPi Model A+ #piday #raspberrypi @Raspberry_Pi
Craig Lindley shared a project he has been making with one of a series of “minion” housings that he had originally created for a canceled project. Here’s what he had to say:
The simple hardware consists of a Model A Raspberry Pi, a USB cable and power module, an SD memory card, an optional USB WiFi adapter and an Adafruit 2.2″ SPI LCD display. Anyone with some RPi knowledge and some soldering experience can put one of these together in an hour or two (without the packaging, of course).
…This minion has been repurposed to be a desktop raytracing device that designs and renders raytraced images in real time (albeit slowly). Inside this minion is a Model A Raspberry Pi (RPi) single board Linux based computer that is running custom software I wrote (in Objective C) called ArtRays. The RPi drives an Adafruit 320×240 2.2″ SPI LCD display and is (optionally) wirelessly connected via a USB WiFi adapter. The RPi and display are powered externally with a USB power module capable of 5 volts @ 1 amp. The RPi is a great little computer but it doesn’t have the power to render large raytraced images. Its does an OK job with 320×240 images however, especially when over clocked to 1GHz.
ArtRays has two modes of operation: first, it programmatically generates pov-ray (see povray.org) scene files using probabilities that can be directed to some extent by the user via a properties file (shown below) and second, it randomly picks existing scene files (of your design or downloaded from the Internet) stored on the RPi’s SD memory card. Either way, ArtRays then execs pov-ray version 3.7 to render the scene files and then uses SDL (Simple Media Layer) software to display the images on the LCD display. It starts producing raytraced image on power up and does this continually until power is removed. I have this minion setting next to my workspace and enjoy glancing over at it periodically to see what it has produced. Not all of the programmatically generated images are great or even good but some of them are truly spectacular. Example images are shown below….
2.2″ 18-bit color TFT LCD display with microSD card breakout – ILI9340: This lovely little display breakout is the best way to add a small, colorful and bright display to any project. Since the display uses 4-wire SPI to communicate and has its own pixel-addressable frame buffer, it can be used with every kind of microcontroller. Even a very small one with low memory and few pins available! (read more)
Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!
Adafruit has had paid day off for voting for our team for years, if you need help getting that going for your organization, let us know – we can share how and why we did this as well as the good results. Here are some resources for voting by mail, voting in person, and some NY resources for our NY based teams as well. If there are additional resources to add, please let us know – adafruit.com/vote
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.