[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
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 »