# 3D-Printed Bionic Eye

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/020/207/medium800thumb/adafruit_products_SkullAnimation.jpg?1448312908)

Poke an eye out with one of your mad scientific experiments?&nbsp;&nbsp; Harness the awesome power of thermoplastic fusion to print a microprocessor powered bionic replacement!&nbsp; It won’t help your vision much, but no one will doubt your mad scientist cred.

The Bionic Eye Module is a 46mm 3D-printed servo-powered mechanical eyeball module sized to fit into standard 50mm goggles.&nbsp;&nbsp; 2 sub-micro sized servos and an Adafruit Trinket create that annoying nervous tic.&nbsp; The whole thing is powered by a 3xAAA battery pack.

![](https://cdn-learn.adafruit.com/assets/assets/000/020/209/medium800/adafruit_products_IMG_5241.jpg?1413229532)

Info: 

## **Materials**

- 3D printed parts (see next page)
- 2x [LS-0003 sub-micro size servos](http://biz.tigerdirect.com/p/electronics/electronics/hobby-electronics/arduino-compatible/servos/osepp-servo-ls-0003-plastic-gear-analog-0-14-4-2v-0-12-5v-speed-sec-60-0-4-4-2v-0-6-5v-torque-kg-cm-small)&nbsp;(regular ‘Micro’ servos will not work!)
- [Costume Goggles](https://www.adafruit.com/product/1577)
- [Trinket M0](https://www.adafruit.com/product/3500)&nbsp;(recommended) or&nbsp;[Trinket Mini](https://www.adafruit.com/product/2000)
- [3xAAA Battery Holder with switch](https://www.adafruit.com/products/727)
- [3x AAA Batteries](https://www.adafruit.com/product/617)

## **Supplies**

- Stranded hookup wire.
- Solder
- Heat Shrink Tubing
- Epoxy (‘Fast Cure’ or ‘5-Minute’ is preferred)
- Double-sided foam tape
- Paint - or permanent markers

## **Optional Supplies**

- Plastic Glue
- Hot Glue

## **Tools**

- 3D Printer
- Small Philips screwdriver
- Soldering iron
- Knife (e.g. X-Acto)
- Toothpick

&nbsp;

Danger: 

This advanced ocular appliance gives you a close up view of the inner workings of a 3D printed bionic eye. &nbsp;Of course you won't be able to&nbsp;see anything else out of that eye, but hey, it looks cool and that’s what counts! &nbsp;

Nevertheless, use caution when wearing the Bionic Eye. &nbsp;This costume prop will impair your depth perception and your vision in general. &nbsp;It is best to remove the goggles while walking around. &nbsp;Or wear them backwards to keep an eye on what’s behind you!

![](https://cdn-learn.adafruit.com/assets/assets/000/020/206/medium800/adafruit_products_IMG_5344_Cropped.jpg?1413229508)

# 3D-Printed Bionic Eye

## Printing the Parts

![](https://cdn-learn.adafruit.com/assets/assets/000/020/201/medium800/adafruit_products_AllParts.png?1413229466)

The Bionic Eye Module was modeled in OpenSCAD.&nbsp; Both the OpenSCAD source and STL files can be found below.&nbsp; This model should easily fit in the work envelope of most 3D printers.&nbsp; It will work well with either ABS or PLA.&nbsp; And since high strength is not required, you can print with minimal infill.

The prototype was printed on an UP! Plus2 using white ABS with 0.15mm Z- resolution and ‘hollow honeycomb’ fill.&nbsp; Total print time was about 3 hours.

[Bionic_Eye.stl](https://learn.adafruit.com/system/assets/assets/000/020/204/original/Bionic_Eye.stl?1413044133)
When the print is complete, remove any support material and lightly sand any rough spots.&nbsp; Use a dental pick or a bent paperclip to clean out any support material from the screw holes.

Locate the center of the eye. &nbsp;(It is where the eyeball was attached to the printing platform.) &nbsp;Using permanent markers or paint (preferred), create an iris and pupil in the center of the eye.&nbsp; You can use the concentric rings from the print layers as a centering guide.

![](https://cdn-learn.adafruit.com/assets/assets/000/020/211/medium800/adafruit_products_IMG_5242.jpg?1413229541)

## OpenSCAD Source:
```
// Bionic Eye Module
// by Bill Earl
// for Adafruit Industries
// 

// Model of LS-0003 sub-micro sized servo
module LS0003_motor(c = "LightSteelBlue"){
	difference(){			
		union(){
			color(c) cube([19.5,8.5,16], center=true);
			color(c) translate([0,0,4.5]) cube([27.5,8.5,1], center=true);
			color(c) translate([5.5,0,2]) cylinder(r=3.9, h=19, $fn=20, center=true);
			color(c) translate([-3,0,1]) cylinder(r=0.8, h=16, $fn=20, center=true);
			color(c) translate([2,0,1]) cylinder(r=2.2, h=17, $fn=20, center=true);		
			color("white") translate([5.5,0,3.5]) cylinder(r=1.85, h=22.5, $fn=20, center=true);				
		}
		translate([10,0,-11]) rotate([0,-30,0]) cube([8,13,4], center=true);
		for ( hole = [11.5,-11.5] ){
			translate([hole,0,5]) cylinder(r=1, h=4, $fn=20, center=true);
		}	
	}
}

// Motor Bracket
module motorBracket() difference()
{
	cube([10, 5, 19]);
	translate([0,0,-0.5]) scale([2.2,1,1]) cylinder(20, r=4,, $fn=20);
}

// Model of complete motor assembly w/bracket.
module motorAssembly ()
{
	translate([0,0,-1.5])LS0003_motor();
	translate([0,12.5,0])rotate([-90,0,0])LS0003_motor();

	translate([10,14.5,-9.5])
	rotate([90,0,-90]) color("white") motorBracket();
}


radius = 23;
diameter = radius * 2;

// The Eyeball
rotate([90, 45, 0]) color("white") difference()
{
  sphere(radius, $fn=120);
  difference()
	{
		sphere(radius-1, $fn=120);
		translate([0,0,11]) cylinder(h=radius, r=radius);
	}

  	#translate([-5.5,0,radius - 22.75]) motorAssembly();
	translate([0,0,10]) cylinder(h=radius, r=1, $fn=20);
	translate([0,0,15.5]) cylinder(h=radius, r=2, $fn=20);
	rotate([0,0,90])translate([5,5,-9]) union()
	{
		cube([diameter, diameter, 20]);
		translate([0,0,10]) rotate([-90,0,0]) cylinder(h=diameter, r=10);
		translate([0,0,10]) rotate([0,90,0]) cylinder(h=diameter, r=10);;
	}
}


// Motor Assembly Bracket
color("LightSteelBlue") translate([radius, -radius, -radius]) difference() motorBracket();

// Eye cup insert
color("gray")translate([(radius * 2.5), 0, -radius]) difference()
{
	union()
	{
		translate([0,0,6])cylinder(10, r= radius, $fn = 120);
		translate([0,0,12]) cylinder(4, r= radius+2, $fn = 120);
		cylinder(6, r2=radius*0.6, r1=5, $fn=120);
	}
	translate([0,0,28]) sphere(radius + 2);
	translate([0,0,9]) cylinder(12, r= radius-1, $fn = 120);
	translate([0,0,-1]) cylinder(h=10, r=1, $fn=20);
	translate([0,0,1.5]) cylinder(h=10, r=1.85, $fn=20);

	difference()
	{
		cylinder(10, r=radius * 0.75, $fn=120);
		cylinder(10, r=radius * 0.3, $fn=120);
		translate([0,-20,0]) cube([20, 40, 20]);
	}
}

```

![](https://cdn-learn.adafruit.com/assets/assets/000/020/210/medium800/adafruit_products_IMG_5237.jpg?1413229537)

# 3D-Printed Bionic Eye

## Assemble the Motor Module

![](https://cdn-learn.adafruit.com/assets/assets/000/020/203/medium800/adafruit_products_Motor_Assembly.png?1413229469)

The tiny sub-micro sized servos used in this project are somewhat fragile.&nbsp; The cases are just snapped together and held in place by the metallic adhesive label.&nbsp; To make a more robust motor assembly, we’ll join the two motors with a small 3D printed bracket and some epoxy.

## Remove the labels

First remove the metallic adhesive label and clean the adhesive residue so the epoxy can bond directly to the plastic case.&nbsp; If the top or bottom plates pop off in the process, gently snap them back on.

![adafruit_products_IMG_5248.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/212/medium640/adafruit_products_IMG_5248.jpg?1413229550)

## Test Fit

Test fit the servo and bracket as shown.&nbsp; Make sure that you have both wires coming out the same&nbsp;end.

![adafruit_products_Motor_Assembly.png](https://cdn-learn.adafruit.com/assets/assets/000/020/213/medium640/adafruit_products_Motor_Assembly.png?1413229557)

![adafruit_products_IMG_5254.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/214/medium640/adafruit_products_IMG_5254.jpg?1413229580)

## Apply Epoxy

- Mix a small amount of epoxy and apply it to the side of one servo with a toothpick or other small applicator.
- Align the bracket with the bottom edge of the servo.
- Apply more epoxy to the bottom and lower side of the second servo and attach to the first servo against the side of the bracket.

![adafruit_products_IMG_5247.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/215/medium640/adafruit_products_IMG_5247.jpg?1413229591)

![adafruit_products_IMG_5250.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/216/medium640/adafruit_products_IMG_5250.jpg?1413229615)

## Tape until Set

Double check the alignment and tape the assembly together until the epoxy is cured.

![adafruit_products_IMG_5251.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/219/medium640/adafruit_products_IMG_5251.jpg?1413229639)

The completed motor module should look like the photo below:

![](https://cdn-learn.adafruit.com/assets/assets/000/020/220/medium800/adafruit_products_IMG_5253.jpg?1413229644)

# 3D-Printed Bionic Eye

## Assemble the Eye Mechanism

![](https://cdn-learn.adafruit.com/assets/assets/000/020/202/medium800/adafruit_products_Eyeball_Rendering.png?1413229468)

These little servos have some variability in response &nbsp;from sample to sample.&nbsp; Since the tilt servo will have a limited range of motion, you may need to adjust either the physical orientation or the code to keep it operating within that range.&nbsp; The steps below should get you pretty close.

Use a servo horn to turn the shaft of the tilt servo fully counter-clockwise.

![adafruit_products_IMG_5278.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/221/medium640/adafruit_products_IMG_5278.jpg?1413229649)

Slide the servo into the eyeball and align the shaft with the hole.

&nbsp;

Position the motor assembly so that it is fully clockwise inside the eyeball and press the shaft into the hole.

![adafruit_products_IMG_5279.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/222/medium640/adafruit_products_IMG_5279.jpg?1413229653)

Insert one of the longer screws into the hole from the outside and tighten it into the shaft.

![adafruit_products_IMG_5280.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/223/medium640/adafruit_products_IMG_5280.jpg?1413229658)

Arrange the wires around the servo to avoid snags when turning.

Feed the wires through the slot in the eye-cup insert and align the other servo shaft with the hole.&nbsp;

![adafruit_products_IMG_5281.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/224/medium640/adafruit_products_IMG_5281.jpg?1413229663)

Insert another long screw through the back of the eye-cup insert and tighten.

![adafruit_products_IMG_5282.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/225/medium640/adafruit_products_IMG_5282.jpg?1413229670)

Info: 

# 3D-Printed Bionic Eye

## Circuit Diagram

Info: 

Wiring for the Bionic Eye module is pretty simple. &nbsp;Just power, ground and 2 GPIO pins for the servo control. &nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/020/239/medium800/adafruit_products_IMG_5370.jpg?1413229757)

- Clip the connectors from the ends of the servos and the battery holder. &nbsp;
- Solder two short pieces of stranded hookup wire to the Bat and GND pins of the Trinket.
- Strip and twist the ground wire together with the brown wires from the two servos and solder.
- Strip and twist the Bat&nbsp;wire together with the red&nbsp;wires from the two servos and solder.
- Thread some heat-shrink tubing onto the two battery wires, then&nbsp;splice these onto the Bat and GND wires from the Trinket & Servos.
- Slide the heat-shrink over the splice and heat to shrink it.

# Trinket M0 Circuit Diagram GPIO #0, #2
![](https://cdn-learn.adafruit.com/assets/assets/000/065/205/medium800/adafruit_products_3D_Printed_Bionic_Eye.png?1541356588)

# Trinket Mini Circuit Diagram GPIO #0, #1
![](https://cdn-learn.adafruit.com/assets/assets/000/020/244/medium800/adafruit_products_Bionic_Eye_bb.png?1413229794)

# 3D-Printed Bionic Eye

## Arduino Code

Info: 

The code for the Bionic Eye is fairly simple: There are 2 servos, programmed to make independent random movements at random times.&nbsp; The random ranges are selected so that the tilt servo moves on average about twice a second and the rotate servo moves about once per second.&nbsp; You can speed it up for a somewhat wackier non-stop motion effect, or slow it down for a creepy/sinister evil-eye effect

The random range for the tilt servo motion is restricted to about 30 degrees.&nbsp; The rotation servo is allowed to go the full 180 degrees.

The servos are allowed 100 milliseconds to reach their position, then they are detached to save power and reduce noise and jitter.

You will need&nbsp;to install&nbsp;the [SoftServo Library](https://github.com/adafruit/Adafruit_SoftServo). &nbsp;You can download it using the button below. &nbsp;For Library installation instructions, see [this guide](http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use).

[SoftServo Library](https://github.com/adafruit/Adafruit_SoftServo)
Then paste the following sketch into the IDE and upload it to your Trinket.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/3D_Printed_Bionic_Eye/3D_Printed_Bionic_Eye.ino

![](https://cdn-learn.adafruit.com/assets/assets/000/020/240/medium800thumb/adafruit_products_SkullAnimation.jpg?1448312912)

# 3D-Printed Bionic Eye

## CircuitPython Code

![](https://cdn-learn.adafruit.com/assets/assets/000/065/206/medium800/adafruit_products_trinket.jpg?1541357187)

 **Trinket M0&nbsp;** boards can&nbsp;run&nbsp; **CircuitPython** &nbsp;— a different approach to programming compared to Arduino sketches. In fact,&nbsp; **CircuitPython comes&nbsp;factory pre-loaded on Trinket M0**. If you’ve overwritten it with an Arduino sketch, or just want to learn the basics of setting up and using CircuitPython, this is explained in the&nbsp;[**Adafruit** &nbsp;](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwiK-__azsnXAhWFsVQKHeLhDgcQFgg8MAA&url=https%3A%2F%2Flearn.adafruit.com%2Fadafruit-trinket-m0-circuitpython-arduino%2Foverview&usg=AOvVaw1KR3kAPHYx-DXtGZjUQX60)**[Trinket M0 guide](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwiK-__azsnXAhWFsVQKHeLhDgcQFgg8MAA&url=https%3A%2F%2Flearn.adafruit.com%2Fadafruit-trinket-m0-circuitpython-arduino%2Foverview&usg=AOvVaw1KR3kAPHYx-DXtGZjUQX60).**

Info: 

Below is CircuitPython code that works&nbsp;similarly (though not exactly the same) as the Arduino sketch shown on a prior page. To use this, plug the Trinket M0 into USB…it should show up on your computer as a small&nbsp; **flash drive** …then edit the file “ **code.py** ” with your text editor of choice. Select and copy the code below and paste it into that file,&nbsp; **entirely replacing its contents** &nbsp;(don’t mix it in with lingering bits of old code). When you save the file, the code should&nbsp; **start running almost immediately** &nbsp;(if not, see notes at the bottom of this page).

**If Trinket M0 doesn’t show up as a&nbsp;drive, follow the Trinket M0 guide link above to prepare the board for CircuitPython.**

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/3D_Printed_Bionic_Eye/code.py

This code requires an additional library be installed:

1. adafruit\_motor

If you’ve just reloaded the board with CircuitPython, create the “lib” directory and then download the[&nbsp;Adafruit CircuitPython Bundle](https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases). You can copy 'adafruit\_motor' folder into the lib directory.

```
$ mkdir /Volumes/CIRCUITPY/lib 
$ cp -pr adafruit_motor /Volumes/CIRCUITPY/lib
```

# 3D-Printed Bionic Eye

## Final Assembly

Unscrew the lens retainer and remove the lens from one side of the goggles.&nbsp;

![adafruit_products_IMG_5371.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/226/medium640/adafruit_products_IMG_5371.jpg?1413229674)

![adafruit_products_IMG_5372.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/227/medium640/adafruit_products_IMG_5372.jpg?1414174681)

Thread the battery holder and Trinket through the open eye-cup. &nbsp;Replace the lens with the Bionic Eye module and screw the lens retainer back in to secure it.

![adafruit_products_IMG_5362.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/228/medium640/adafruit_products_IMG_5362.jpg?1413229681)

![adafruit_products_IMG_5361.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/229/medium640/adafruit_products_IMG_5361.jpg?1413229683)

![adafruit_products_IMG_5360.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/230/medium640/adafruit_products_IMG_5360.jpg?1413229687)

Fix the Trinket to the side of the eye-cup with a piece of double-sided foam tape.

&nbsp;

Route the wires around the edge of the eye cup and fix with hot glue or tape.

![adafruit_products_IMG_5291.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/231/medium640/adafruit_products_IMG_5291.jpg?1413229689)

Cut notches in the back of the battery holder wide enough for the goggle strap.

![adafruit_products_IMG_5287.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/232/medium640/adafruit_products_IMG_5287.jpg?1413229694)

![adafruit_products_IMG_5288.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/233/medium640/adafruit_products_IMG_5288.jpg?1413229725)

Re-assemble the battery holder around the strap.

![adafruit_products_IMG_5367.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/234/medium640/adafruit_products_IMG_5367.jpg?1413229729)

![adafruit_products_IMG_5294.jpg](https://cdn-learn.adafruit.com/assets/assets/000/020/235/medium640/adafruit_products_IMG_5294.jpg?1413229735)

![](https://cdn-learn.adafruit.com/assets/assets/000/020/236/medium800/adafruit_products_IMG_5344_Cropped.jpg?1413229735)

# 3D-Printed Bionic Eye

## Wear Them Safely

Use caution when wearing the Bionic Eye.&nbsp; This costume prop will impair your depth perception and your vision in general.&nbsp; It is best to remove the goggles while walking around. &nbsp;You can wear them on your forehead or around your neck. &nbsp;Or wear them backwards to keep an eye on what’s behind you!

![](https://cdn-learn.adafruit.com/assets/assets/000/020/242/medium800thumb/adafruit_products_HatAnimation2.jpg?1448312916)


## Featured Products

### Costume Goggles

[Costume Goggles](https://www.adafruit.com/product/1577)
We've got some awesome LED goggle tutorials, and now you want to make your own, right? [So pick up a pair of NeoPixel rings](http://www.adafruit.com/products/1463) and these costuming goggles and get to it!

**These goggles look a bit like aviator/welding goggle designs...**

In Stock
[Buy Now](https://www.adafruit.com/product/1577)
[Related Guides to the Product](https://learn.adafruit.com/products/1577/guides)
### Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE

[Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE](https://www.adafruit.com/product/3500)
The&nbsp;Adafruit Trinket M0 may be small, but do not be fooled by its size! It's a tiny microcontroller board, built around the Atmel ATSAMD21, a little chip with _a lot_ of power. We wanted to design a microcontroller board that was small enough to fit into any project, and low...

In Stock
[Buy Now](https://www.adafruit.com/product/3500)
[Related Guides to the Product](https://learn.adafruit.com/products/3500/guides)
### Adafruit Trinket - Mini Microcontroller - 5V Logic

[Adafruit Trinket - Mini Microcontroller - 5V Logic](https://www.adafruit.com/product/1501)
 **Deprecation Warning: The Trinket bit-bang USB technique it uses doesn't work as well as it did in 2014, many modern computers won't work well. So while we still carry the Trinket so that people can maintain some older projects, we no longer recommend it.** <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/1501)
[Related Guides to the Product](https://learn.adafruit.com/products/1501/guides)
### Sub-micro Servo - SG51R

[Sub-micro Servo - SG51R](https://www.adafruit.com/product/2201)
This is just about the cutest, tiniest little micro servo we could find, even smaller than the 9-gram micro servos we love so much. &nbsp;It can rotate approximately 180 degrees (90 in each direction) and works just like the standard kind you're used to but&nbsp;_much smaller_....

Out of Stock
[Buy Now](https://www.adafruit.com/product/2201)
[Related Guides to the Product](https://learn.adafruit.com/products/2201/guides)
### 3 x AAA Battery Holder with On/Off Switch and 2-Pin JST

[3 x AAA Battery Holder with On/Off Switch and 2-Pin JST](https://www.adafruit.com/product/727)
This battery holder connects 3 AAA batteries together in series for powering all kinds of projects. We spec'd these out because the box is slim, and 3 AAA's add up to about 3.3-4.5V, a very similar range to Lithium Ion/polymer (Li-Ion) batteries and have an on-off switch. That makes...

In Stock
[Buy Now](https://www.adafruit.com/product/727)
[Related Guides to the Product](https://learn.adafruit.com/products/727/guides)

## Related Guides

- [Adafruit Trinket M0](https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino.md)
- [Trinket / Gemma IR Control](https://learn.adafruit.com/trinket-gemma-ir-remote-control.md)
- [NeoPixel Manicure](https://learn.adafruit.com/neopixel-manicure.md)
- [Trinket Powered Analog Meter Clock](https://learn.adafruit.com/trinket-powered-analog-meter-clock.md)
- [CircuitPython Hardware: SSD1306 OLED Display](https://learn.adafruit.com/micropython-hardware-ssd1306-oled-display.md)
- [Trinket / Gemma Mini-Theremin](https://learn.adafruit.com/trinket-gemma-mini-theramin-music-maker.md)
- [CircuitPython Hardware: PCA9685 DC Motor & Stepper Driver](https://learn.adafruit.com/micropython-hardware-pca9685-dc-motor-and-stepper-driver.md)
- [Tap Tempo Trinket](https://learn.adafruit.com/tap-tempo-trinket.md)
- [Mystery Box: Shutterglass Chamber](https://learn.adafruit.com/shutterglass-chamber.md)
- [Laser Dog Goggles](https://learn.adafruit.com/laser-dog-goggles.md)
- [How to Choose a Microcontroller](https://learn.adafruit.com/how-to-choose-a-microcontroller.md)
- [NeoPixel Arcade Buttons](https://learn.adafruit.com/neopixel-arcade-button.md)
- [Using DS18B20 Temperature Sensor with CircuitPython](https://learn.adafruit.com/using-ds18b20-temperature-sensor-with-circuitpython.md)
- [Mini VOTE Keyboard](https://learn.adafruit.com/vote-keyboard.md)
- [Build your own SPARC workstation with QEMU and Solaris](https://learn.adafruit.com/build-your-own-sparc-with-qemu-and-solaris.md)
