The FunKey Revision B is eventually out!
FunKey Revision A Board
We consider FunKey Revision A board as an "alpha test" board. We built 2 units using manual pick & place and a small T962 reflow oven.
Except for a few bad solder joints, the only real problem we encountered is a wrong value for the R11 DDR RAM equalization resistor (was 240k instead of 240R). Another minor problem was a wrong footprint for transistor Q1 (was SOT323 instead of SOT23)
We can consider it as a success, as the boards worked (almost) out of the box and we were able to mount them into a 3D-printed case and make some nice videos out of them.
However, assembling this board manually doesn't scale up very nicely: as these are dual-sided PCBs, the boards needs to go twice in the oven, using solder paste with different reflow temperatures, and just placing the 175 components on each board takes hours and a lot of patience...
We thus decided to move to...
FunKey Revision B Board
The goals for this revision were:
- correct the Revision A bugs
- make some mechanical adjustments required to ease the FunKey assembly into the case
- replace some components to reduce the BOM cost
- add test pads for a better testability
- outsource the PCB Assembly (PCBA)
- avoid over-engineering a working board!
As discussed above, the only physical changes were to replace the value for the R11 DDR RAM equalization resistor (was 240k instead of 240R) in the BOM and to change the footprint for transistor Q1 (was SOT323 instead of SOT23).
A few quirks in the schematics were corrected:
- the "START" and "SELECT" signal labels were swapped (now also renamed to "START" and "FUN")
- the comment for R8 was referencing the wrong chip (U2, now U3)
- some signal labels around U5 were not the same size as all other labels
Although we were able to mount the Revision A PCB into the 3D-case, we found some minor assembly problems:
- the 1.5 mm headroom over the PCB button side was too low over some components (the power inductor L6 and the transistor Q1): L6 has been moved to the other PCB side with all components for the DRAM Power, and the Q1 transistor was moved away from the buttons
- the screen connector has been moved to be in front of the hinge flex opening and turned 180° to expose all the active pins to on the PCB edge side
- consequently, the UART and battery connectors have been shuffled around, and the battery connector moved away from the screw well to provide more room to bend the battery wires
- the 2x Omron B3U-3000P(M) rear buttons have been replaced because they were too fragile and did not provide a good feedback when pressed. We now use 2x Panasonic EVP-AVAA1A, which are the right-angle equivalent of the EVP-BB2A9B000 we have for the top buttons. These buttons are backed by the PCB edge so they have no chance to break if pushed too hard, and their haptic feedback is really good
- the speaker mounting was tedious: we tried to avoid having to solder wires, but the PCB thickness of 0.8 mm was too important to provide a way to bridge the gap between the trace and the speaker pad with a solder blob, we had to use some TH resistor wire to do the connection:We changed the design to use castellated pads ("half-moon" plated holes on the PCB edge) positioned farther just over the speaker pads, so the distance between the PCB copper pad and the speaker pad is now zero and allows soldering the speaker with just a small solder bridge
The FunKey Revision A board used mostly components available from major online distributors, ( we ordered them from Mouser, as they are today significantly cheaper than Radiospares, Farnell or even Digi-Key). OTOH, some exotic components (the Allwinner V3s CPU, the AXP209 PMIC and the microUSB connector) had to be sourced from AliExpress, as they were not available anywhere else at a cheaper price.
But mostly, the FunKey Revision A board should be considered as a "western" board, whose components are not optimized to be produced in China, which will be our final production country for obvious cost reasons.
We took the opportunity to roll out the FunKey Revision B to switch to mostly Chinese suppliers whenever possible. We found most of the components at www.lcsc.com and its Chinese sister website www.szlcsc.com.
The price difference there is significant, as passive components are 10x cheaper, connectors are 5x to 6x cheaper, and you can find some equivalent DC/DC or PMIC chips at a fraction of their western price. Another way of saving money is to avoid crossing borders: in this case, you'd better buy the components to mount on the PCB in China from China, if possible.
However, there are some components we still had to provision from global online distributors:
- the L3/L4/L5 power inductors
- the 0603 current measurement resistor R21
- all the EVP-BB2A9B000 and EVP-AVAA1A (R/A) tactile switches as the required quantity was not in stock from LCSC
- the S14 MEDER MK24 Reed switch (more on this later in this article!)
- the SP1 CUI CDM-10008 speaker
- the PCAL6416AHF,128 I2C GPIO expander U1
- the PAM8301AAF audio amplifier U3
All other passive components were replaced by some available at LCSC, but not necessarily the cheapest ones: we chose the "cheapest available in quantity" ones instead, to make sure we don't have to switch to another reference later.
We found equivalent parts for the MicroUSB and MicroSD card connectors and for the DRAM DC/DC U4, as well as for the crystals Y1/Y2. the AXP209 PMIC U5 was directly available there, too.
Only the Allwinner V3s CPU U3 had still to be sourced from Alibaba.
With these component changes, we are now confident that we can reach our target electronic BOM cost for MP (Mass Production).
Another very important point to consider in order to get a product that is RFM (Ready For Manufacturing) is to make sure to have a good test plan for the PCB/PCBA: you cannot count on everything working as expected without a glitch on thousands of pieces!
Of course you may ask the PCB manufacturer to perform 100% electrical test on the naked PCB using "flying probes", but another important issue is to make sure the final PCBA (PCB Assembly) is good too.
The technique most suitable given our expected production quantities and board characteristics (small size and dual-sided) is to use test jigs with some retractable interfaces featuring either mating connectors and/or spring-loaded "Po-Go" pins that will make contacts with corresponding test pads on the PCB.
On the FunKey Revision A PCB, we already had some test pads, but they prove too small to be useful. For Revision B, we increased their size to 1 mm diameter, and we made sure to have all important signals available on the least populated PCB side (the button side).
We started to define a progressive test plan to check that all the parts on the assembled PCB perform as desired, using as little as possible steps and test vectors to make the test procedure as fast as possible: time is money on a production line!
Having a good test plan defined early in the design phase is a key point to reduce defects during MP.
As said earlier, the FunKey Revision A boards were assembled by us using a small reflow oven.
One major goal of the FunKey Revision B is to make sure that the board assembly can be outsourced, meaning that we are able to provide all the required information for this task, yet another key step towards a successful MP.
We took the opportunity of the limited-time (now over since July 31st) offer from SeeedStudio for free assembly for 5 pieces.
Conforming to SeedStudio requirements for gerbers files, pick and place files, assembly drawing and BOM file took us some considerable amount of time, but eventually, this will certainly help us to formalize the PCBA procedure for MP too.
We are still waiting to receive the boards that were approved for manufacturing, we cross our fingers and toes, hoping everything will go as expected!
We tried very hard to avoid adding more features to the existing FunKey Revision A design that is working, but hey, we are engineers, after all!
But in order to avoid adding bugs by over-engineering the board, we limited them to 2 low-risk changes:
- we added a separate LCD_RESET line for the LCD (just a single wire with a pull-up resistor R29), so we can reset the LCD without having to reset the whole board in case something goes bad with the display
- we added a magnetic Reed switch S14 to the AXP209 PMIC's N_OE (Negative Output Enable) input, in order to suspend the FunKey console after a delay when the lid is closed, and resume it back to where it stopped when the lid is opened again:
Given its limited design changes and large improvements in terms of electrical BOM cost optimization, testability and assembly outsourcing capabilities, the FunKey Revision B board must be considered as a "beta test" board, which is an important milestone towards our goal to produce the FunKey retro gaming console in large quantities in China.