# Pixel 6 (gs101-oriole) ```{include} common-alert-enablement.md ``` ```{admonition} WIP :class: note The phone jig was assembled by trial and error and the current configuration may not be optimal. This guide should be considered a work in progress and may change in the future. ``` ```{figure-md} ![Pixel 6 LAA](/_images/gs101-oriole/pixel6_mib_assembled.jpg){align=center} Pixel 6 LAA Fully Assembled ``` ## Components The following components are required to fully automate the board: - [Phone MIB v1.0](/hardware/mibs/phone.md) - [Phone MIB Jig](/hardware/mibs/phone.md#phone-jig) - 3 x MG90D servos - USB Cereal - 1x USB type C extension cable - 2x USB type C male to type A male cable ## Connections ### USB Cereal Currently the LAA only supports 115200 baud so the device needs to be configured for this rate: ``` adb reboot fastboot fastboot oem uart enable fastboot oem uart config 115200 ``` ```{figure-md} ![USB Cereal](/_images/gs101-oriole/usb_cereal.jpg){align=center} USB Cereal ``` The USB Cereal should be connected to DUT in the following way: |LAA |Cereal |DUT | |-------|---------------|-------| |USB 4 |Pass Through | | |USB 3 |Cereal | | | |DUT |USB | ```{admonition} No Serial Output :class: note The connection between the Cereal and DUT cannot detect orientation. If you are having trouble getting any serial output try rotating the connection on the phone. ``` ### Servos Before installing the servos into the phone jig the arms must be installed at a known position. first connect up the servos as shown below: |Phone MIB |Button |Direction | |-----------|---------------|-------------------| |S0 |Power |Counter Clock Wise | |S1 |Volume Up |Clock Wise | |S2 |Volume Down |Clock Wise | Then use the phone_mib_ctl tool to set the servos ``` laacli power 5v on laacli power 12v on phone_mib_ctl --config /share/lava/pixel6_mib_config.csv --action init phone_mib_ctl --config /share/lava/pixel6_mib_config.csv --action manual_setup ``` Then attach the servo arm in an upright position facing the correct direction as shown below: ```{figure-md} ![Servo setup](/_images/gs101-oriole/servo_setup.jpg){align=center} Servos setup ``` Once done turn the servos off: ``` phone_mib_ctl --config /share/lava/pixel6_mib_config.csv --action deinit laacli power 12v off laacli power 5v off ``` ## Jig Assembly The files for 3d printing can be found here: - [phone-mib-jig](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig) To assemble the jig you will need the following 3d printed parts: - 2 x [Phone carrier strap](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/phone_carrier_strap.stl) - 4 x [Servo ladders](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/servo_ladder.stl) - 1 x [Phone carrier](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/phone_carrier_220x60.stl) - 7 x [Phone hold caps](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/phone_hold_cap.stl) - 7 x [Buffers](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/buffer1.stl) - 3 x [Buffer mount phone ends](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/buffer_mount_phone_end.stl) - 4 x [Buffer mount phone side](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/buffer_mount_phone_side_12tall.stl) - 4 x [Phone hold down insert](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/phone_hold_down_insert.stl) - 4 x [Phone hold down insert strap](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/phone_hold_down_insert_strap.stl) - 4 x [Buffer ring](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/buffer_ring_4.stl) - 1 x [Servo arm 16 -6 (clock wise)](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/servo_arm_overboot_MG90D_16_-6_0.stl) - 1 x [Servo arm 31 -6 (clock wise)](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/servo_arm_overboot_MG90D_31_-6_0.stl) - 1 x [Servo arm 31 6 (counter clock wise)](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/servo_arm_overboot_MG90D_31_6_0.stl) - 2 x [Servo hold down arms](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/servo_hold_down_arm_25.stl) - 1 x [Left LAA leg](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/sib_frameleft.stl) - 1 x [Right LAA legs](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/sib_frame_right.stl) - [Servo shims (as many as needed)](https://gitlab.com/LinaroLtd/lava/appliance/mib/phone-mib/phone-mib-jig/-/blob/main/stl/servo_shim_1.stl) - A selection of long and short M3 bolts and nuts. A blend file showing the assembled device can be seen here: - [Phone jig blender file](/_downloads/gs101-oriole/pixel6_mib_jig.blend) The best way to make one is to get an existing one that has already been built so that you can copy it. The following steps are a stream on conscious remembering of how the jig was assembled and is likely to be incorrect: - join the bottom 2 servo ladders using the 2 phone carrier straps - join the top 2 servo ladders using the Phone carrier. - Assemble the 4 servo holders for the servo ladders: - for the 2 taller mounts insert the buffer rings on before the buffer - slide the buffer on to the buffer mount - position on the phone hold down insert - place in servo ladder - place the servo hold down insert strap underneath the ladder - place the hold down cap on top - thread a bolt through all of them and attach a nut on the bottom - keep it a bit lose so you can move and reconfigure them as needed - put the phone on the phone holder screen up (this will put it at a slant) - position the phone holders (taller ones at the camera end) - construct and place the end holders in a similar way. - 2 should be at the bottom either side of the usb port and 1 at the top - place the servos for power and volume up with shims as needed in the bottom rack - bolt the top rack on to the bottom. - place the volume down servo in the top rack - attach servo hold down arms to keep servo in place - Attach legs to LAA - Bolt jig to LAA ```{figure-md} ![End view](/_images/gs101-oriole/jig_end_view.jpg){align=center} Pixel 6 jig end view ``` ```{figure-md} ![servos installed](/_images/gs101-oriole/jig_servos_installed.jpg){align=center} Pixel 6 jig servos installed ``` ```{figure-md} ![usb connectors](/_images/gs101-oriole/laa_usb_connectors.jpg){align=center} Pixel 6 LAA usb connectors must be accessible through the servo ladders ``` ```{figure-md} ![servo connectors](/_images/gs101-oriole/mib_servo_connections.jpg){align=center} Pixel 6 MIB servo connections ```