After-assembly fixes (Delta-B)

From ZeroPhone
Revision as of 21:57, 25 April 2019 by Admin (talk | contribs) (Copied from After-assembly fixes (Delta), revision 1079)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

'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)

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).

  • Fix schematic
  • Fix diagram
  • This is how the fix should look

Fixing the DC-DC switchover circuit

After the DC-DC switchover fix is made

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.