An open-source UFBGA µ-board for wearable devices

Graphical abstract

In large FBGA ICs the total number of FBGA balls can reach 450 [5]. The repairing process of replacing all the soldered balls on the BGA chip is designated by Reballing. A flip-chip BGA [6] is a particular Ball Grid Array that employs a controlled collapse chip connection. The radiofrequency characteristics of BGA transition with a frequency range from 100 MHz to 40 GHz are analysed in [7]. Recent fabrication strategies for new biosensors on chip solutions can be found in [8]. A relevant low temperature solder process BGA development for large size BGA packages is presented in [9]. Varied Ball BGA technology [10] is a state-of-the-art BGA improvement, to eliminate solder ball bridging defects in Surface-Mount Technology (SMT). Wafer-Level Chip Scale Packaging (WLCSP) [11] is presently the smallest available package in the IC Industry, which can be handled in the same way as BGA.

Hardware description
The hardware for this tiny, low-cost, developed breakout microcontroller board, consists of a 2-layer Electroless Nickel-Immersion Gold (ENIG) Printed Circuit Board (PCB), with 2.54 mm pin male header pins, to allow breadboard mounting electronic experiments. At the core of this PCB is the Microchip ATtiny20-CCU low-power 8-bit microcontroller, with Ultra Finepitch Ball Grid Array (UFBGA) packaging technology.
In Fig. 2 the schematics circuit for the UFBGA m-board is shown. To reduce the cost, the number of electronic components was designed to be minimal (only four): a 0.1 mF capacitor (C1) to suppress the power noise in the microcontroller; a pull-up 10 kO resistor (R1) to allow a microcontroller reset, by short-circuiting the test-point PCB pads, and the D1 red LED, in serial with the 470 O resistor (R2), to allow a built-in functional LED test.
The following list summarizes the main benefits of the UFBGA m-breakout developed board: Low-cost and low-power board for many instrumentation applications; Small size and light weight, suitable for wearable health tech devices; Open-source PCB design, easy to build with Printed Circuit Board Assembly (PCBA).
In Fig. 3, the developed m-breakout board is presented. The breakout board has practical value within electrical, instrumentation and biomedical engineering, and also with educational and learning activities for students, including IoT and cyber-physical systems.

Design files
According to [13], the number of minimal routing layers needed to fully break out the BGA signal pins is estimated by: Since the ATtiny20-CCU has only 15 BGA balls and 12 general purpose I/Os, 80% of the number of BGA balls are associated with digital signals. The routing channels are defined as the routing paths out of the BGA area, i.e., the number of BGA balls of one side minus 1, multiplying by the 4 sides of the package. The routes per channel are the number of routed signals between BGA pads, usually one for the ATtiny20-CCU UFBGA-15. From (1), the minimum number of Layers is: 12/(12 Â 1) = 1. Hence, 2-PCB-layers were chosen for the prototype design, to facilitate PCB routing and reduce the board size.
The design files for the developed board are provided in Table 1. The m-breakout PCB was designed with KiCad EDA [14,15], a cross platform and open-source electronics design automation suite. The SCH file allows to automatically generate a Netlist file, which is mandatory for the board design and to perform the PCB design rules check. Before the PCB design it is also necessary to assign the footprints to the schematic symbols. The Gerber files can be automatically generated from the PCB file, including the map and drill files. The fabrication files (Bill of Materials (BOM), Gerber and the Footprint Position) can then be sent to a PCB/PCBA manufacturer. The compiled and uploaded C code, to test the board (Code to test PCB.C), makes the LED D1 (pin PA6) initially blink every 0.1 s. The PA6 logic is inverted.
The KiCad integrated 3D Viewer allows to instantaneous inspect the PCB design in a full interactive 3D view, allowing the designer to rotate and pan around, to easily inspect all the details. In Figs. 4 and 5 are, respectively, presented the KiCad 3D views of the UFBGA m-breakout board front and bottom sides.

Validation and characterization
For the C test sketch to run, the ATtiny20-CCU was programmed without bootloader, using the Atmel-ICE programmer [16] and the Microchip Studio integrated development free platform [17]. The programming procedure is performed by accessing the three TPI board pins (PB1:TPIDATA, PB0:TPICLK and PB3:RESET). As an Atmel-ICE substitute, the Microchip Atmel AVRISP MKII in-system programmer, or the USBasp [18] low-cost programmer with the latest firmware can also be employed to upload the AVR compiled C code, using the command line free utility Avrdude [19]. In the Printed Circuit Board (PCB) fabrication, Electroless Nickel-Immersion Gold (ENIG) consists of a flat, solderable, metallic finish, that improves solderability and protects the copper from oxidation. In this industrial fabrication method used, the vias and the surfaces have an electroless Nickel layer applied to the copper. Next, it is given a thin Gold finish to prevent Nickel oxidation and to enhance solderability. The main benefits of the ENIG PCB technology are: Outstanding contact surfaces and higher solder joint reliability; Industry-grade manufactured circuit boards; Outstanding visual aspect; Robust protection for harsh environmental conditions.
Since the PCB size is only 15.5 Â 13 mm, the PCB production cost of each board, from sending the Gerber files generated by KiCad to a typical PCB manufacturer, was down to 1.1139 €, for each board. Hence, the total cost of one UFBGA m-board and the necessary electronics components was 3.4275 €. This cost does not include the components assembly and soldering costs (which are around 1.5 € for a single complete board). To reduce even more the UFBGA m-board price, it is possible to design a multi-board, using the PCB Panelizer & Gerber freeware tool [20]. With this design methodology, the price of a single UFBGA m-board can decrease to approximately 4 €, because a total of 90 UFBGA m-boards can be produced in a single A4sized PCB.
In Fig. 6, the stainless-steel stencil used for the solder paste dispensing and the components placement is presented. The price of the stencil production at the PCB manufacturer was 12.13 €. The Japanese-made 120 mm stainless-steel stencil with an electro-polished finish, allows the simultaneous soldering production of three UFBGA m-boards.

Build instructions
There are two main approaches to solder the electronic Surface Mount Device (SMD)/BGA compo-nents in the PCB breakout board. The first approach, DIY (Do-It-Yourself), is to use high quality solder paste, a stencil and a reflow oven (Fig. 7).
After the solder paste is applied into the stencil holes, the components are placed manually, with a pair of tweezers, achieving precise soldering positioning. An SMD IC vacuum pick up suction pen can also be employed, as well as a SMT pick & place machine. A reflow oven is then used to heat the solder paste, and to perform the soldering process of the SMD and  BGA electronic components to the circuit board. The reflow oven can be a standard or convection system with appropriate controller, or an infrared IC heater. In this production process, the soldering temperature is the most important parameter. A temperature sensor is attached to the board to be soldered, using a wire. The reflow controller regulates the reflow oven, so that times and temperatures are maintained for the optimum soldering results. If the soldering temperature on the printed circuit board is achieved when the melting point can be observed, soldering is to be completed. The reflow controller, with a temperature sensor, controls the reflow oven according to the set-point temperature curve/profile. The soldering process parameters, such as the temperature and the soldering phase are monitored in the controller LCD (Liquid Crystal Display), and can be tuned directly from the controller panel, or via USB (Universal Serial Bus). It is also possible to build and store different temperature profiles, for several PCB components and solder paste.
Before the soldering process, a BGA rework automatic machine (ex: the BGA Shuttle Star SV560) [21] can also be used to place and correctly align the ATtiny20-CCU chip in the PCB. These BGA rework machines are expensive, also requiring training to operate them. Since the ATtiny20-CCU ball pitch is relatively large (0.65 mm), this UFBGA-15 package can also be placed manually in the PCB, without the need for a BGA automatic machine, using for example a pair of tweezers. To obtain high-quality soldering results, some basic rules must be followed: The solder paste should be conserved at a cool temperature, typically near 10°C. A low cost, dedicated refrigerator/cooler (not for food) can be used, to store at 10°C the solder paste; The stencil must be exactly aligned to the pad patterns; The solder paste, after leaving the refrigerator, should reach ambient temperature before being applied, in a straight line, parallel to a chosen side of the stencil; Add and place the components with a pair of tweezers, or a suction pen/device; The reflow controller controls the reflow oven. For obtaining the best soldering results, temperatures and times must be previously settled; In Fig. 8, a typical temperature profile for the UFBGA m-board is depicted. The PCB board, with the electronic components, are increasingly heated at the pre-heat stage. This procedure will prevent the occurrence of mechanical stress. After the pre-heat stage, the temperature will increase just below the soldering temperature (soaking phase) and the solder paste volatile elements vanish without causing blistering. The next stage is to heat the reflow oven to reach the soldering temperature (reflow phase), allowing the solder paste to liquefy and the components to adhere to the PCB pads. The soldering process finishes when the cool down ends. A second place & soldering methodology, not the DIY (Do-It-Yourself) way, consists in sending the Gerber files, the Bill of Materials (BOM) file and the pick & place file to a PCBA (Printed Circuit Board Assembly) manufacturer. All these files are automatically generated by KiCad, the PCB design freeware tool used. Many industrial PCBA manufacturers allow to register and send online the PCB files for small batch PCB manufacturing. Several in-website customized PCB production options are allowed, such as the number of layers, the PCB material, thickness, and the surface finish (ex: ENIG). In the PCB Assembly (PCBA) turnkey option, the PCBA manufacturer supplies all or some of the electronic parts. A contract/quote may be previously negotiated, for high volume PCB assembly services. Fig. 8. Typical UFBGA m-board temperature profile, using NO-Clean, Lead-free solder pastes.

Rui Azevedo Antunes and Luís Brito Palma
HardwareX 11 (2022) e00281 Concerning the Ball Grid Array (BGA) inspection, it is not possible to visually inspect the PCB soldering quality, since the solder balls are below the chip. Hence, the main BGA disadvantage is that the inspection, and also the rework, are relatively difficult to perform. Possible methods for BGA inspection are the electrical tests and also the boundary scan. A traditional electrical test allows to seek for open and short circuit defects. Boundary scan technology, depending on the inspection ports designed, provides access to each solder joint on the boundary connectors. However, both techniques only test the PCBA electrical reliability, and aren't able to inspect the PCBA soldering quality. AXI (Automated X-ray Inspection) can solve the inspection problem in real-time large-scale production.

Operation instructions
The developed UFBGA m-breakout board can be programmed without the need of an internal ATtiny20-CCU bootloader, using the low cost USBasp programmer (available at eBay for only 1.76 €), or the Atmel-ICE programmer for Atmel AVR microcontrollers. Because the ATtiny20 has only 2 K bytes of programmable flash memory, an eventual bootloader for this low-cost microcontroller may reduce in more than 30 %, the available programming memory, which is not recommended.
The UFBGA m-breakout board was previously programmed with the compiled test code, through the Atmel Tiny Programming Interface (TPI), using the Microchip Studio integrated development freeware platform [17] and the Atmel-ICE programmer [16], as shown in Figs. 9-11. The TPI header pins, depicted in Fig. 10, are: TPIDATA:PB1; TPICLK:PB0; RST:PB3; VCC=+5V  and GND. After programming, the UFBGA m-breakout board is then inserted into the breadboard and the pin PB1 will operate as an input, connecting to a push-button. In Fig. 12, the self-test circuit for the UFBGA m-breakout board is presented. The developed m-breakout board is attached into the breadboard, connecting to a standard LCD 2 Â 16 and a push-button (SW1). The LCD used has eight data pins (D0 to D7) and three control pins (E, RW and RS). The communication between the ATtiny20-CCU and the LCD 2 Â 16 is performed using the 4-bit mode. Hence, the PA0 to PA3 microcontroller outputs are connected to the D4 to D7 LCD inputs. The initial C language test code (Code to test PCB, in Table 1) is a blinking action at the internal LED D1 (PA6 output) in serial with the R2 resistor, while the push-button SW1 (PB1 input) is not being pressed. A LP-2800 logic probe [23] is used to check the logic states at the PA6 output, and at the PB1 push-button input. When the SW1 push-button is maintained pressed by the human operator, the LCD 2 Â 16 displays the following message: ''HELLO WORLD! IN BGA" and the PA6 output is set to the logic state ''HIGH", as shown in Fig. 13. When PA6 is ''HIGH", the LED D1 is off.
The ATtiny20-CCU microcontroller has an advanced RISC (Reduced Instruction Set Computer) architecture with 112 instructions, most single clock cycle executed, allowing at 12 MHz a throughput up to 12 MIPS (Million Instructions per Second) [12]. The functional test code (Code to test PCB C file, Table 1) uses 17,4% of the available program memory (2 K bytes). The maximum device throughput at 1 MHz is 1 MIPS. At this clock frequency (1 MHz) the mean electric current consumption of the UFBGA m-board with the internal LED D1, when performing the functional test, is 4.3 mA (the LCD electric current is not considered).
In this work, an instrumentation application example was also made, using a similar GL5528 Light Dependent Resistor (LDR), to measure the ambient light intensity. In Fig. 14, the correspondent instrumentation circuit is depicted. The LDR photoresistor circuit output connects to the analogue input AN_IN (pin PA7). The light intensity raw values are shown, in realtime, in the LCD (Fig. 15), varying between 0 and 255. The ATtiny20-CCU ADC was configured with 8-bit resolution. The compiled code for the instrumentation application (Table 1) uses 35.3% of the available program memory. The electric current consumption of the UFBGA m-board in the instrumentation application with the LDR varies between 2.3 mA (dark) and 6.5 mA (shiny).

Future developments
For future developments, a PCB interface board that contains the Atmel-ICE 6-pin connector, for ISP/debugWIRE/PDI/ aWire/TPI interface, can also be made. The interface board is to be directly attached to the m-UFBGA board, for programming the ATtiny20-CCU AVR microcontroller via TPI. A reverse polarity over-current protection can be also implemented, using a SMD Schottky diode, a SMD fuse, or a SMD PTC (Positive Temperature Coefficient) resettable fuse, placed in serial with + VCC.
A PCB castellated holes version of the m-UFBGA board may also be designed and produced. The current 2.54 mm pin DIP version is to be mainly used for breadboard experiments, educational Instrumentation and/or Biomedical projects. Many other hardware projects, where the demand for low size and power consumption are required, can also be accomplished using the UFBGA packaging technology. The castellated holes PCB version is intended to be SMT soldered to a shield PCB,  extending the board capabilities. The UFBGA m-board castellated holes final size will be only 13.0 Â 10.1 mm. The PCB thickness will also be reduced from 1.6 mm to 1 mm. The UFBGA m-breakout board can be connected to several sensors/actuators for wearable instrumentation, biomedical and IoT applications, or to cyber-physical systems, using the available digital inputs/outputs, analogue inputs, or SPI interface.
Efficient optimized code programming is required, since the ATtiny20-CCU microcontroller program memory is confined to 2 K bytes. Given this fact, it does not allow the implementation of some complex C functions which occupy relevant amount of program memory, such as the sprintf () function. Because the ATtiny20-CCU does not have internal UART (Universal Asynchronous Receiver-Transmitter), an optimized ATtiny20-CCU virtual UART library can be developed from scratch, in a future work. The ATtiny20-CCU virtual UART code could be further optimized to fill within 2 K bytes if it focuses mainly on  the transmission of sensor raw data. The raw information should be processed by a software application running on a portable mobile device with Bluetooth and a human-friendly graphical interface. For more powerful computational tasks embedded in wearable devices, the Atmel 32-bit Cortex-M0 SAM D1x/2x MCUs family is an available option, also in UFBGA technology.

Human and animal rights
The authors declare that no human or animal subjects were used in this study.

Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.