RSeries astromech firmware
Holoprojector OLED Display

The Holoprojector OLED Display is a modification of a Ftlhy standard holoprojector to include an Adafruit 0.96" OLED and a 12x Neopixel ring.

Instructions

You can find assembly instructions over on Astromech: https://astromech.net/forums/showthread.php?35515-How-to-Holo-projector-with-OLED-display

Parts List

This is a list of the parts used

  1. BobC Holoprojector
  2. R2-D2 HP Slip Ring Mount
  3. Adafruit OLED Breakout Board 16-bit Color 0.96" w/microSD
  4. Adafruit NeoPixel Ring 12x

    The RGBW versions look to be compatible in size

  5. 12 wire slip ring
  6. Window Film One Way mirror (non-adhesive)

    You can put the rest on your windows :-)

  7. Any kind of clear acrylic adhesive. I use Weld-On but I'm sure other types work just as well
  8. 3mm sheet of clear acrylic for laser cutting
  9. Arduino Mega or Mega 2560 Pro (Embed) 5V
  10. Crimp ends and crimpers for the slip ring.
  11. Heat shrink tubing and some wire wrap for the finishing touch

//REQUIRES:ProMini
#include "ReelTwo.h"
#include "dome/HoloDisplay.h"
#include "ServoDispatchDirect.h"
#define HOLO_HSERVO 0x1000
#define HOLO_VSERVO 0x2000
const ServoSettings servoSettings[] PROGMEM = {
{ 5, 800, 1600, HOLO_HSERVO }, /* 0: horizontal front holo */
{ 6, 800, 1800, HOLO_VSERVO }, /* 1: vertical front holo */
{ 7, 800, 1600, HOLO_HSERVO }, /* 2: horizontal top holo */
{ 8, 800, 1325, HOLO_VSERVO }, /* 3: vertical top holo */
{ 9, 900, 1000, HOLO_VSERVO }, /* 4: vertical rear holo */
{ 10, 1300, 1600, HOLO_HSERVO }, /* 5: horizontal rear holo */
};
ServoDispatchDirect<SizeOfArray(servoSettings)> servoDispatch(servoSettings);
HoloDisplay frontHolo;
HoloLights rearHolo(2); // PIN 2
HoloLights topHolo(3); // PIN 3
void setup()
{
REELTWO_READY();
frontHolo.assignServos(&servoDispatch, 0, 1);
topHolo.assignServos(&servoDispatch, 2, 3);
rearHolo.assignServos(&servoDispatch, 4, 5);
SetupEvent::ready();
// Play the Leia movie using the front holoprojector
frontHolo.play("Leia.bd2");
}
void loop()
{
AnimatedEvent::process();
}

By default the Holoprojector display provides 3 movies, but you can upload additional ones:

Leia.bd2: Tantive IV Leia recording:

Plans.bd2: Deathstar plans

R2.bd2: R2 cartoon

+ Collaboration diagram for Holoprojector OLED Display: