[Open Source] AiPi-Eyes-R2 Vertical Desktop Case Design

1. Interfaces and Usage Instructions

Interfaces

Once you insert the R2 board, there are only three main interactive components accessible from the outside:

  • The screen & touch interface
  • Type-C power supply (left side)
  • Programming interface (right side)

Usage Notes

  • The Type-C port is located on the front-left and is deeply recessed into the case for secure access. This allows direct use of the board’s original Type-C female port. In testing, most standard Type-C cables fit without issue.
  • The programming interface requires some minor soldering to reposition the headers, allowing the use of a side-mounted expansion board. Instructions are provided below.
  • The expansion board brings out IO2 and EN, with buttons to easily enter programming mode. The front button triggers EN, while the back button triggers IO2.
  • On the right side, 3V3, RX, TX, and GND are routed via pin headers. With this setup, you can enter flashing mode with just one hand.
  • If you don’t need to flash the board (e.g. using OTA or no firmware updates), you can remove the programming interface cutout from the design files.
  • The R2’s PCB is open source, so you can directly export the STEP file from Lceda.
  • The screen model was a bit trickier — only the datasheet was available, so I modeled it manually.
  • R1: 0402 footprint (easy to solder with a blob of solder)
  • R2: 0603 10K resistor
  • K1, K2: Metal buttons, 5.2 × 5.2 mm, height 3.8 mm (not critical)
  • CN1, CN2: Just solder a 2×4P female header along the edge
  • CN3: A 1×4P male header
  • Screen is angled at 25° to the horizontal
  • All visible faces (except bottom) have rounded corners

2. Design Process

Getting the PCB and Screen Models

 

A key detail: I designed the model to match the ribbon cable's bend based on the datasheet and physical measurements, ensuring no interference and proper length alignment.

I also included the small IR window on the screen for optional light sensing in the future.

Screen + PCB Assembly Model

Here’s the final assembled model with the screen and PCB.

Side-Mounted Programming Board – Hardware & Assembly

Initially, I wanted to bring out the 4 serial lines for flashing, but then realized the original flash button isn’t accessible. Since I couldn’t find a good solution in existing forums, I designed a small expansion board that includes the flash button.

Based on the R2 schematic, I created a simple expansion board layout.

 

PCB Model – Front and Back

The model was imported into SolidWorks (SW) for assembly. Below is the positional relationship between the expansion board and R2 PCB (headers hidden):

Case Design

This case was designed for free printing via LCSC, so the entire structure is a single-piece design.

Mounting holes include bottom chamfers for reinforcement and top chamfers for easier alignment

Complete Assembly (Other parts shown as transparent):

Type-C Port Side

All entry points are chamfered for smoother alignment.

PCB Mounting

The PCB is secured with three screws, aligning with the internal structure and external ports.

3. Assembly Guide & BOM

Bill of Materials (BOM)

Part

Qty

XiaoanPi R2 (PCB + screen)

1

Printed Case

1

Programming Expansion PCB

1

M2 Screws (3–5mm)

3

5.2 × 5.2 Metal Buttons

2

0603 10K Resistor

1

2×4P Female Header

1

2×4P Male Header

1

1×4P Male Header

1

Double-sided Tape (~5mm W)

1

 

Preprocessing Steps

3D Printed Parts

  • Sanding Since LCSC used the front face as the print base, it turned out a bit rough. You’ll need to sand it (especially the outer surfaces and the screen mount area).
  • Tapping Screw Holes Even though the screw holes are chamfered, it's best to pre-thread them a bit using an M2 screw (about 1mm deep) to make final assembly easier.

 

Tip: If you have your own printer, print with...

Read more »