First of all, what a BGA Rework Station is? Modern IC chips (CPUs, GPUs, etc.) do not have legs but a ball grid array (BGA) of solder balls. In order to solder/desolder a chip like this, you need a machine that heats up the IC until ~230 Celsius without stretching the circuit board or produce thermal shock to the IC chip. That's why you need a temperature controller. These machines cost from 400$ to 1200$+ in order to buy one. This project's total cost is around 130$. You can read more about BGAs and Rework Station at wiki. Let's start! Materials:
• A four lamp halogen heater ~1800w (as bottom heater)
• 450w ceramic IR (as top heater)
• Aluminum curtain rails
• Shower spiral cable
• Hard thick wire
• Desk lamp arm
• Arduino ATmega2560 board
• 2x SSR 25-DA2x Adafruit MAX31855K breakout board (or make diy like boards i did)
• 2x K-type thermocouple
• 220to5v DC power supply @0.5A
• Character LCD 2004 module
• 5v buzzer
• Screws, buttons, cables and switches of your choice
• Average electronics knowledge
Step 1: Bottom Heater: Reflector, Lamps, Case
The heater i used was a 1800w heater (4x450w parallel). Use the wires from the heater and connect the four lamps in parallel. You can put an AC input plug as i did or connect a cable directly from the bottom heater to the controller.
Step 2: Bottom Heater: Pcb Holding System
After finishing your bottom heater's case, measure the bigger side of the window and cut 2 pieces of your aluminum curtain rail. You also need 6 pieces, each one is half the size of the window's small side. Drill holes at the two ends of the bigger pieces, at one end of the smaller pieces and at the bigger side of the window. Before screwing the pieces to the case, you need to make a nut-holding-mechanism, like i did in the above fotos, in order to slide the ends of smaller rails on the biger rails.
After inserting the nuts in the rails and screwing everything together, you can use a screwdriver to move, slide or tighten every screw in order to fit in your pcb's size and shape.
Step 3: Bottom Heater: Thermocouple Holders
For the thermocouple holders, measure the diagonal of the bottom heater's window and cut two pieces of your shower spiral cable. Unfold your hard wire and cut 2 pieces, each one is 6cm longer than the spiral cable. Pass the hard wire and your thermocouple through the spiral cable and bend both ends of the wire like i did in the images above. Left the one end bigger in order to screw it in one of the rail's screws. That's it!
Step 4: Top Heater: Ceramic Plate
For the top heater, i used a 450w ceramic IR heater. You can find them on aliexpress as spare parts from reballing machines. The tricky part is to make a nice case for your heater with a proper airflow. Next in the list, top heater's arm-holder.
P.S. To find the proper P, I and D settings for the ceramic heater is a pain in the ass because they are heating up/colding down very slowly.
Step 5: Top Heater: Arm
Find a nice old desk lamp with an arm and take it apart. You have to make right measurements depending on the lamp you got in order to cut it, because the top heater will have to reach each corner of your bottom heater. So, attach your top heater's case first, then cut the X axis, make the right measurements, and then finally cut the Z axis part of the arm.
Step 6: Arduino PID Controller
You can "cut n' solder" every wire that connects to the controller (top/bottom heater power, controller power, thermocouples) or get some female connectors and make a clean install like i did. I didn't know how much heat would come from the SSRs so i added a fan into the case. Either you install a fan or not, you should put heatsinks into the SSRs. The code is self-explaining on how to connect each button, the SSRs, the screen and the thermocouples so it is pretty easy to connect everything together. How to operate: There is no autosetup for the P,I and D values, so you have to set your own depending on your setup. There 4 profiles. In each one you set the number of steps, ramp (C/s), dwel(waiting time per step), bottom heater threshhold, target temp for every step and P,I,D values for BH and TH. If you set for instance 3 steps, 80,180 and 230 C with BH threshold 180, your pcb will be heated only from the BH until 180C, hold that temp for the BH, and go to 230 with the top heater. The code still needs a lot of improvements but you can get an idea of how it should work. This is not a detailed tutorial because there are a lot of diy parts in it and every build will be different. I just hope that everyone will get inspired from this instructable to make his own one. P.S. Many thanks to NorcalReballer for the base code. Find me @ http://liliumjsn.blogspot.gr/