This page is targeted towards people assembling from a SMD-ready kit - where all the SMD parts are attached and you only need to solder the through-hole parts and breakouts. There's also a page for SMD assembly, with some tips - you will want to use that if you're assembling from scratch.
If you get stuck or are unsure about something, feel free to ask for help on IRC (details on the wiki's frontpage).
- 1 Resources
- 2 Soldering order
- 3 Expansion headers (needs pictures)
- 4 40-pin female header to front board
- 5 40-pin male header to back board (TODO)
- 6 6-pin headers (needs pictures)
- 7 Keypad to front board
- 8 USB port (TODO)
- 9 USB wires
- 10 Pi Zero (TODO)
- 11 Audio jack (needs pictures)
- 12 GSM speaker (TODO)
- 13 Display (needs pictures)
- 14 GSM microphone (needs pictures)
- 15 18650 board JST wire (TODO)
- 16 18650 board Velcro (TODO)
- 17 TP4056 board (needs pictures)
- 18 GSM modem (2G) (WIP)
- 19 5V DC-DC (needs pictures)
- 20 Vibromotor (needs pictures)
- The schematics and KiCad files
- Detailed photos of the boards in various states of assembly
- Interactive assembly guide for different revisions
- SMD Assembly details
The majority of through-hole parts need to be soldered in a particular order, assembling them in the wrong order will make the assembly significantly harder or even impossible in some situations.
- Expansion headers
- 40-pin female header
- 40-pin male header
- 6-pin headers
- USB port
- USB wires
- Raspberry Pi Zero
- Audio jack
- GSM speaker
These parts can be assembled at any time:
- GSM microphone
- 18650 board JST header
- 18650 board Velcro strip
- TP4056 board
- GSM modem
- 5V DC-DC (step-up)
Expansion headers (needs pictures)
There are 4 expansion headers on the back board - logically grouped in three groups (top, bottom and side headers).
- Make sure the headers' edges are parallel to the board edge
- Make sure the headers are flush to the board once soldered
- While soldering the bottom headers (one 3-pin and one 5-pin), you can join them together with a 10-pin-long piece of male header - so that they're aligned together
- For each pin header:
- Insert the headers into the board so that they're on the top
- Solder one pin of the header
- Check the header alignment - tweak it if it's not aligned by reheating that pin and repositioning the header
- Solder the opposite pin of the header, align if necessary
- Solder the remaining pins
40-pin female header to front board
- You have to solder this connector well, with enough solder but not too much - not soldering all the 40 pins might cause problems down the road, and it's tricky to re-solder the pins after attaching the keypad. In particular, bad soldering of this connector can cause display, audio, keypad and WiFi problems.
- Before soldering, you have to align this connector straight down (and not diagonal in any way), with connector outline parallel to the board outline and connector plastic sitting flush to the board. If the connector is out of alignment, it will cause your ZeroPhone to be out of alignment mechanically as well, which might impact both electrical connectivity and ability to use cases with your ZP.
- Insert the 40-pin connector into the board from below. Your task is to make sure that the connector is well-aligned, as after the connector is soldered to the board, you can't realign it.
- Optional: to help with alignment of the connector, you can use pliers to bend some pins of the connector so that they're pressing the connector together with the board, essentially, making sure that the connector is flush with the board - and also make the connector harder to move in the holes, so that it doesn't rotate by a couple of degrees by accident.
- Solder some corner pins together (1 or 2, no more), then check that the header is still aligned with the board. If it is out of alignment, reheat these pins and rotate the connector.
- After you're done checking and fixing, solder all the remaining pins.
40-pin male header to back board (TODO)
6-pin headers (needs pictures)
- You need to do this before the keypad is soldered to the Pi Zero
- Before soldering, you have to align the connector straight down (and not diagonal in any way), with connector outline parallel to the board outline and connector plastic sitting flush to the board. If the connector is out of alignment, it will cause your ZeroPhone to be out of alignment mechanically as well, which might impact both electrical connectivity and ability to use cases with your ZP.
- Prepare 2x 6-pin male headers and 2x 6-pin female headers
- To make the alignment of the headers easier, you should plug the back and front boards together, so that the headers on the boards are mutually aligned no matter what
- On back board, you need to solder a female header near the GSM modem and a male header (with a spacer between plastic and PCB) near the USB port, both facing towards the front board
- On front board, you need to solder a male header (with a spacer between plastic and PCB) near the ATMega and a female header near the display, both facing towards the back board
Keypad to front board
Before you do it:
- Make sure that soldering on any SMD components under the keypad looks good - it will be very hard to rework these components after attaching the keypad.
- Make sure the 6-pin (ATMega) male header is attached to the front board
- Make sure the 40-pin female header is attached to the front board, and the soldering is good (all the pins are well-connected).
- Make sure that the 6-pin header pins won't interfere with the side button - if they do (i.e. you didn't add the 6-pin spacer between the 6-pin header and the PCB), you can either use flush cutters and cut into the solder joint, or use the soldering iron and push them further below the pins - the goal is making sure that 6-pin header pins do not touch the side button once the keypad is in place.
- Using tin snips or cutters, make 2x 2-pin headers, 3x 3-pin headers and 1x 4-pin header. If you're attaching a keypad that uses the keypad GPIO, you need an additional 1-pin header for the GPIO pin - otherwise, it can be omitted.
- Using tin snips or cutters, trim the pin headers from one side so that both top and bottom metal parts have equal length.
- Put the front board on your desk / in your PCB holder with the top side upwards
- Put the pin headers into holes. Preferrably, with the non-cut side upwards.
- Seat the keypad board onto the headers - it should be parallel to the front board, and the outlines should match, we'll be checking further as we go.
- Solder the pin headers to pads on the keypad board. For each individual header, after soldering a single pin of it to the keypad PCB, check that there's no gap between the keypad PCB and header plastic - if there is, re-heat the solder joint and press them together until there's no gap. After you're done, you should have a keypad+headers combo.
- Flip the front board (together with the keypad), so that it's bottom side upwards. Solder a single pin of the keypad&header combo to the front board. Then, check the following steps (if anything's wrong, reheat the solder joint you just did and adjust the board until it's OK):
- the keypad is still parallel to the front board
- the keypad sits flush to the front board - there's no gaps between front board and pin header plastic, or pin header plastic and keypad board
- the keypad and front board outlines are still aligned
- Solder all the remaining pins. During soldering, check that there's no gaps between the front board and pin header plastic.
USB port (TODO)
You need to connect Pi Zero USB data lines (coming from the testpoints) to the back board - using two wires is the cheapest and most accessible way to do that.
- While soldering wires to the Pi Zero testpoints:
- Make sure they're firmly attached with solder and won't tear off easily
- Make sure the USB shield pins (connected to GND) are not bridged by solder to the testpoints
- Prepare a wire that's approximately 25mm (1inch) long - strip it of its insulation
- If the wire is multi-strand, twist the strands so that they keep together. Can also tin the ends so that the wire doesn't get un-twisted while manipulating it
- Fold the wire in half so that it forms a "U" shape with 2mm (~0.1in) distance between two halves
- Cut the wire so that its ends are on the same level, tin the ends
- Add some solder to the Pi Zero USB port testpoints
- Put one end of the wire on one test point - preferrably, the one that's positioned closer to the shield
- Per "Important" section, check that the testpoint isn't accidentally bridged to the USB shield pins with solder
- Solder the other wire to the second testpoint
- Now, you should have a loop of wire connecting two USB data testpoints together
- Place the Pi Zero on the 40-pin header on the back board while putting the wire loop through the hole on the back board
- Now, you need to solder the data pins to the back board
- Fold the two wires onto the testpoints so that they're more-or-less flush with the board
- Cut the loop so that there's only ~2mm (0.1in) of wire on the testpoints
- Solder the wire ends to the testpoints
Pi Zero (TODO)
Audio jack (needs pictures)
- You need to make sure the audio jack is flush to the front board
- In some cases, the audio jack will not fit well into holes (manufacturing tolerances). In that case, press it carefully into the board with a vice/pliers, but take care to not bend the pins.
- Insert the audio jack into the front board holes
- Solder it to the board
GSM speaker (TODO)
Display (needs pictures)
- You will need to shorten the 6-pin header on the display (cut the pins so they don't interfere with the GSM modem on the back board) a little bit *before* you solder it to the front board. Cutting pins after soldering them will weaken/disturb the solder joints somewhat and might cause connectivity problems down the road.
- 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. Before you do that, there will be nothing shown on the display (even with the default display)
- As follows, ou will 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 and forms blobs - and these might short out to the OLED panel flex cable pins. In order to avoid the contact between the solder blobs and the OLED flex cable pins, before adding solder to the jumper, cover the holes with Kapton from the other side.
- Make sure you have the VCC and GND pins wired correctly! Wiring them incorrectly will destroy the display instantly when you power the phone on.
- On Delta boards, there are guidelines for soldering popular displays on the back of the screen - for 7-pin and Heltec screens. However, you need to make sure that your display has the suitable pinout.
- Cover the solder jumper header holes on the top with Kapton/other tape
- Shorten the display pin header pins - they only need to be ~2mm (~0.1in) long
- Insert the display pins into the holes on the top
- Solder one display pin to the board
- Align the display so that it's parallel to the board
- Solder the remaining pins
- Set the solder jumpers correctly, according to the pinout of the display you have
GSM microphone (needs pictures)
- You need to solder the microphone in the correct polarity
- The pin that has visible connections to the microphone case is the negative pin
- You also need to make sure the microphone case doesn't short out the two pads
- Insert the microphone into the holes in correct polarity
- Solder the 1st pin
- Align the microphone
- Solder the second pin
18650 board JST wire (TODO)
It's advised to apply a blob of hot glue on the place where battery wires are soldered to the 18650 board.
18650 board Velcro (TODO)
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 the 18650 board and back board.
TP4056 board (needs pictures)
- You need to align this board well - its MicroUSB port location has to match the opening in the case
- OUT+ and B+ pins can be shorted together, since they're connected together electrically
- OUT- and B- pins should not be connected together
- It's sometimes hard to make sure there's a connection between the solder pad on the back PCB and hole on the TP4056 board. Don't be afraid to put your soldering iron tip through the hole and scratch the solder pad on the back PCB a little bit, as well as feed some extra solder into the hole.
- OUT- and IN- pins will be harder to solder, as they're connected to the GND polygon on the back board.
- Place a small blob of solder on the IN+ pin
- Put the TP4056 board on the back board
- Solder the IN+ pin of the TP4056 board to the back board
- Align the board if necessary
- Solder the IN- pin
- Solder the OUT+ and B+ pins
- Solder the B- pin
- Solder the OUT- pin
GSM modem (2G) (WIP)
- You need to have 2 6-pin spacers to place between the pin headers and the modem - so that it's possible to insert the antenna into the modem
- The ANT pin (the pin closest to the u.FL antenna connector) shouldn't be soldered anywhere and shouldn't touch anything
- Using tin snips or cutters, make one 6-pin male header and one 5-pin male header
- Place the back board on the desk so that its top side is upwards
- Insert the pin headers into the back board, pointing the long ends upwards (inserting the short ends into the holes)
- Put the spacers onto the pins
- With the 5-pin side, you do not need to connect the ANT pin, and you also need to position the 6-pin spacer so that it doesn't overlap with the ANT pin
- Put the modem onto the pins (SIM card slot upwards, SIM card opening facing the outside of the board)
5V DC-DC (needs pictures)
- As of now, ZeroPhone uses a 5V DC-DC module that's initially designed with a USB socket - not something you can easily solder to anything. As a result, it's hard to connect its output to the ZeroPhone back board until you remove the USB port. After you do that, you need to either use short wires or 2.54 male pin header pins to bridge the distance from the DC-DC board to ZeroPhone.
- The DC-DC board needs to be soldered flush to the back board
- Even though there's a USB port left over from the DC-DC board (the one we need to remove), it can't be reused in the full-size USB port socket - ZeroPhone uses a different type of a USB port.
- It's easier if you solder the IN+ pin first - since it's not connected to GND, it shouldn't take as much heat (and time) to attach it to the back board.
- Twist the USB port shield tabs off the DC-DC board with pliers
- Heat all 4 pins of the USB port with a soldering iron at the same time, once the solder's melted, remove the port from the board
- Wet the "DC-DC input" holes on the back board (on the TP4056 side) with solder, but not too much (so the DC-DC board is still flush to the back board)
- Put the DC-DC board onto the back board
- Solder the positive (non-GND) input pin to the back board
- Check the alignment, realign the board while reheating the first pin, if necessary
- Solder the second input pin (GND)
- Solder the output pins to the back board, using pieces of wire or pin header pins
- Wet the back board "DC-DC output" pads (on the USB port side) with solder
- Solder the wires/pins to the DC-DC board pins on the output side
- Add solder blobs to connect back board pads to the wires/pins
Vibromotor (needs pictures)
- Make sure the vibromotor is well-glued to the front board, either with double-sided tape, with hot glue or superglue - so that it doesn't wiggle around inside the ZeroPhone, shorting out random connections.
- While these vibromotors usually have double-sided tape attached to them from the factory, it's not good enough - you will want to either add hot glue/super glue, or replace the double-sided tape with tape that glues better.
- Even though the vibromotors often have different-colored wires, it doesn't have polarity, so it doesn't matter which wire is soldered where.
- Shorten the vibromotor wires so that they're ~2cm (~0.7in) long
- Remove insulation from the wire ends so that ~2mm (~0.1in) of wire is exposed
- Position the vibromotor in a way where you can solder it to the diode pads
- Glue the vibromotor to the front board
- Solder the vibromotor wires to the diode pads