Introduction: Eye of Agamotto (comic Book)

About: Mad scientist, graphic designer, mechanical drafter, sci-fi geek.

While I'm a huge fan of the Dr. Strange film and the MCU films, I prefer the way the Eye of Agamotto is depicted in the comic books. So for Halloween I made one.

The eye is made from a clear plastic fillable ornament, polymer clay, a wood base and to give it some sparkle a NeoPixel ring controlled by an Arduino board.

Here is the material list.


  • 2" diameter acrylic sphere. Look in craft stores, or online for fillable ornaments. They come in 2 halves with a loop at the top to hang it from.
  • Polymer clay
  • Paint
  • Glue
  • Wood, cardboard or foam core for the base.
  • 1/4" solid acrylic spheres. Tap Plastic is a good source


Step 1: Making the Eye Lid

In the comics, the Eye of Agamotto is an actual eye that opens and closes. While I couldn't get them to open and close (maybe next year), I did make the eye lids out of the polymer clay and sculpted them the eye lids are mostly open.

First of all trim the tab/loop off one half of the ornament sphere. I used an exactor blade to do that. You will only need 1 half.

To make the eye lids, roll out a flat sheet of the clay. I've attached a pdf of the template I used (ball section 4 eye.pdf). Basically its 1/6 of a beach ball pattern and then cut in half. Each half will make up an eye lid. The ornament ball that I'm using is 2" in diameter so to get the height of the ball section, I figured out the circumference of a 2" ball and then divided that in half. I show the math on the template if you need to adjust the size.

To shape the eye lids you will need to wrap them around the half of the ornament sphere. The first time I tried this I sculpted it right on the ornament and tried putting that in the oven to bake it. Unfortunately the baking temperature is higher than the melting point of the acrylic and the whole thing melted. The trick I figured out is to first cover the half of the ornament in aluminum foil and sculpt the eye lid on that.

To sculpt the eye lid take one half of the clay slice and place the curved side on the base of the eye, so the straight side is up, see photograph. The round the curved side of the slice around the base of the eye and flat side across the dome of the eye. This creates a nice sharp edge to the open part of the eye lid. Do this for the upper and lower eye lids.

Now carefully lift the aluminum foil and clay off of the ornament. It should keep its shape and you can put the aluminum foil and clay in the oven to bake the clay. When the clay is done baking, you can peal it off of the aluminum foil and fit it back on the ornament.

Step 2: Painting the Eye

Next use acrylic paint to paint the inside of the ornament. By painting the inside and not the outside of the ornament the eye looks more realistic and shiny. Your looking at the paint through the outer layer of clear acrylic and you get reflections and highlights on the acrylic.

You have to remember to paint in the reverse order. Start with the pupal of the eye (the black center). They paint the iris (I used red for mine). Finally fill in the rest with the white of the eye. You can paint over a previous layer but you can't paint under something that is already painted.

Step 3: Base for Eye

The eye and electronics need a base to attache them too. You can make a simple version with just a circle the diameter of the NeoPixel ring and then cut a smaller circle in the center so you can access the arduino board in the center (see the electronics step).

If you want to make it a bit fancier you can use the template I've attached to the Instructable. I used a laser cutter to cut mine but you could also use a drill and a saw (jig saw, scroll saw, band saw) to cut it out. The material I used was 1/8" thick plywood. I also used the laser to engrave a slight depression in the wood set the eye into.

In the comics the eye is surrounded but several domes. To make these I got 24 (the number of LEDs on the ring) 1/4" acrylic sphere and glued them to the holes in the base.

Step 4: Electronics

The electronics consist of the 24 LED NeoPixel ring, the gemma aurdino board and a 2 coin cell battery pack.

Wire Pin 0 on the board to the DataInput on the ring. Wire the 3.3 V on the board to the PWR contact on the ring. Finally GRD to GRD.

I'm pretty new to Arduino coding so I copied a sample code from Adafruit's website and then just hacked it to get the pattern I wanted. Here is the code I used:


#ifdef __AVR__



#define PIN 0

// Parameter 1 = number of pixels in strip

// Parameter 2 = Arduino pin number (most are valid)

// Parameter 3 = pixel type flags, add together as needed:

// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)

// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)

// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)

// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)

// NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800);

// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across

// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input

// and minimize distance between Arduino and first pixel. Avoid connecting

// on a live circuit...if you must, connect GND first.

void setup() {

// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket

#if defined (__AVR_ATtiny85__)

if (F_CPU == 16000000) clock_prescale_set(clock_div_1);


// End of trinket special code

strip.begin();; // Initialize all pixels to 'off'

strip.setBrightness(10); // ~1/3 brightness


void loop() {

// Some example procedures showing how to display to the pixels:

// Send a theater pixel chase in...

theaterChase(strip.Color(255, 255, 255), 60); // White

theaterChase(strip.Color(255, 204, 0), 60); // yellow

theaterChase(strip.Color(255, 102, 0), 60); // Blue


// Fill the dots one after the other with a color

void colorWipe(uint32_t c, uint8_t wait) {

for(uint16_t i=0; i

strip.setPixelColor(i, c);;




//Theatre-style crawling lights.

void theaterChase(uint32_t c, uint8_t wait) {

for (int j=0; j<10; j++) { //do 10 cycles of chasing

for (int q=0; q < 3; q++) {

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {

strip.setPixelColor(i+q, c); //turn every third pixel on



for (uint16_t i=0; i < strip.numPixels(); i=i+3) {

strip.setPixelColor(i+q, 0); //turn every third pixel off





Step 5: Finally Assembly

Having made the eye, eye lid, base and electronics, the last step is just to put them all together.

Glue the eye lid to the outside of the eye. Then glue the eye to the base. Line the LEDs on the NeoPixel ring up with the holes in the base. I want to make sure I could remove the electronics if needed and didn't want to risk messing up the electronics by getting glue on them, so I lightly tacked the NeoPixel ring to the base. I use a little hot glue and some black duck tape around the edge to attach the ring to the base.

Halloween Contest 2019

Participated in the
Halloween Contest 2019