ZeroPhone after-assembly fixes (Delta)
'This page is for the Delta revision. For Gamma revision, see: ZeroPhone after-assembly fixes (Gamma)
When finishing ZeroPhone assembly, it's good to have a checklist of things that need to be done. Currently, this list only has small things that need to be done after most of the main components have already been assembled (most of steps described here also belong on the "ZeroPhone manufacturing steps that are hard to automate and will have to be solved" list)
- 1 Fixing the EEPROM&MCP_INT coexistence circuit
- 2 Fixing the DC-DC switchover circuit
- 3 Covering front board display header holes with Kapton tape
- 4 Make sure display solder jumpers on the front board are connected the right way before turning the phone on
- 5 Adding Velcro to hold back board and 18650 holder together
- 6 Isolating the battery board wires
- 7 Connecting DC-DC output to the back board
Fixing the EEPROM&MCP_INT coexistence circuit
On Delta boards, an ID (HAT) EEPROM was added, so that we could distinguish hardware revisions and load appropriate kernel modules automatically. This required sharing the ID_SC line (GPIO1) between the MCP23017 MCP_INT line and AT24C32 SCL line. However, what we missed is the fact that MCP23017's INT lines are push-pull by default until set open-drain, and they're active low - therefore, the EEPROM doesn't detect since the I2C line is driven high by default. So, we need to add a PNP transistor that will buffer MCP_INT, only driving ID_SC low when MCP_INT is driving low (technically, that makes it a pushpull-to-opendrain non-inverting converter).
Fixing the DC-DC switchover circuit
On Delta boards, a new feature was added - connecting the USB port 5V line to the charger input when the charger is connected (unless DC-DC is explicitly enabled). This feature is meant to avoid discharging the battery when charger is connected, so that the battery can be charged fully. However, the switchover feature wasn't implemented properly and thus needs one component rotated, one replaced and one added. First, you need to solder Q3 in a different rotation, as shown on the picture (because a wrong footprint was picked). Then, you need to replace R24, the 1.8K resistor between DCDC-EN and Q3 base, with a low-current Schottky diode - cathode connected to DCDC_EN. Then, you need to add a 10K/1.8K resistor (through-hole is the most convenient to solder) between Q3 base and VDD (charger input).
If you have trouble sourcing a low-current Schottky diode, you can get one from an Arduino Pro Mini board - which you might already have harvested parts from in order to get ATMega328P and the 16MHz crystal for the front board. Otherwise, you can use a 1N5819 or SS14 diode.
Covering front board display header holes with Kapton tape
On Delta front boards, in order to connect a display breakout (a 6-pin one), you need to make solder jumpers on the lower display header. In process of doing that, you're also likely to fill the lower display header holes with solder, which is OK by itself, but sometimes solder bubbles up on the other side - which, if coupled with a lack of case on the phone, can short out the OLED panel flex cable pins to those bubbles. In order to avoid the contact between the jumper header and the OLED flex cable pins, before adding solder to the jumper, cover the holes with Kapton from the other side.
Make sure display solder jumpers on the front board are connected the right way before turning the phone on
Different OLED breakouts can have different pinouts. ZeroPhone can accomodate different pinouts for displays, but you need to wire the header in a proper way. Here are solder jumper examples for two popular OLED display types:
Warning: make sure you have the VCC and GND pins wired correctly! Wiring them incorrectly will destroy the display the instant you power the phone on.
Adding Velcro to hold back board and 18650 holder together
Currently, there's nothing that holds the battery holder and back board together, apart from the battery cable. An easy non-permanent solution is Velcro (you need to get the kind that has glue on both sides). Just cut the Velcro pieces into approx. 30mm*10mm pieces and attach them to battery and back boards.
Isolating the battery board wires
It's advised to apply a blob of hot glue on the place where battery wires are soldered to the 18650 board.
Connecting DC-DC output to the back board
As of now, ZeroPhone uses a 5V DC-DC module that's initially designed with a USB socket. As a result, it's hard to connect its output to the ZeroPhone back board. To do that, you need to either use short wires or 2.54 male connector pins to bridge the distance from the DC-DC board to ZeroPhone, and apply liberal amounts of solder.