I am making a device, but the PCB is getting quite big in size. I have never made a double sided PCB before, but I am considering it now. I have soldered one at school, where SMD components were on top, and through hole components on bottom. Is it a bad practice to put through hole components on both sides? I cannot think of any downsides to this, but I want to be sure. It would save me a lot of space
If you plan on hand soldering, through hole parts on both sides is doable.
The issue with manufacturing though is it is difficult to flow solder with through hole parts on both sides. You can do it, but you may need to do a lot of conformal solder masking, once for each side, and that is labor intensive and expensive. Some fab houses have specialized equipment that allow more selective soldering, but there are setup costs involved in that, so unless it's a big run, the cost per board factor is significant.
As with all double side populated boards though, the space saving is limited by the routability. On a dense board, using the other side does not buy you as much space as you would imagine and adds considerable cost.
Further, since through hole parts are already effectively double sided, the leads poke through to the other side, you cant re-use the spots where things poke through, and you need to be able to see those leads to solder them. So again, it saves you very little.
Using SMT instead of through hole is a better way to reduce the size.
If the board is still too big with both side populated SMT, your next best bet is to split the board into two with suitable connectors so you can make it a sandwich. That can be designed with both parts on a single panel and manufactured as a single board and split and assembled later. Another alternative is to build it on a flexible circuit and fold it up.
This won't gain much density...
In general, double-sided load for density's sake is only worthwhile when SMT comes into play -- either as a mixed-technology board as is commonly seen in consumer products using wave soldering, or as a mostly SMT double-sided load as is found in higher-density boards with BGAs and such where a reflow/selective combination process is used. As Trevor points out, most of the space is taken up by the pad areas, which can't be overlapped anyway. Furthermore, trying to do a double sided load with parts opposite one another raises issues of part-to-board clearance vs lead trim, never mind the severe difficulties with sequencing stuffing and soldering steps, which can even force a board to be hand assembled or partially stuffed, soldered, then stuffed more and soldered again. Both of these are killers in production.
But it can be a gain in layout simplicity
I have, however, done a double-sided load in a fully THT design. Why? Because putting parts on the back side of a board can be a big help with getting busses the right way around. Having to go from IO0 to D7 and then Q7 back to DQ0 can make for a confusing schematic; atop that, backannotation of this sort of thing is something that not all tooling supports particularly well. In a hand-assembly situation, it's easier to slap the offending part on the bottom of the board, especially if your layout tools have poor backannotation support, as I mentioned earlier.
One can imagine putting one or two extra-large THT components on the bottom side and the rest of the electronic on the top side. To achieve that you will need to order a solder pallet (an adapter) for your PCB to hold the parts in place during soldering. Extra cost between $/€ 700 and 2000 + some additional production costs. But the THT components must be realy big and the advantage obvious to make it worth it. A solder pallet or another sort of self-made adapter may be needed also for manual soldering.
In addition to what has already been said in terms of gain of space, placing TH components on both sides complicates the design process exponentially, as the one thing in mind is the accessibility of the solder pads of the components with a soldering iron. That sounds like a rework nightmare, unless it is only a handful of components. Based on my experience, it is time to move to surface mount components, maybe without going full out switching all components from TH, but instead starting with the passives, and using the "larger" packages available, such as 1206 or 0805, which are large enough to solder with any hot blunt piece of steel. Once you gain confidence with the technology, you will never go back to TH components, unless you have no choice.
Thruhole parts are nice as the legs make their own vias for routing on the bottom side. The same component as SMD needs to have a via added, and are often wider than thru hole when using gull-wing leads. I suppose if you had large plastic body parts that needed cooling, then putting them on the bottom and mounting the completed board against a metal case could handy.
SMT with a simple reflow oven has made my life a lot easier. We reflow with an old Sears 4-element toaster over, and a thermocouple probe into a multimeter for temperature monitoring. Saves time when hand assembling vs soldering every single lead by hand, and as noted above 0805 and 1206 size parts are fairly easy to place by hand (0603 and 0402, forget about it!). 3 and 4 mil thick mylar solder paste stencils from Pololu.com are great for small boards and many 'larger' pad size such as transistors, 44 lead and 64 lead TQFP components, not so good for 100-lead TQFP packages tho. Pitch of the parts is the determining factor. I've started ordering metal stencils from iteadstudio.com for 10cm x 10cm boards, the mylar was moving too much when squeegee-ing solder paste across the stencil, the metal stencils don't move at all and result in a much cleaner paste application.
We've been doing double sided boards with components on both sides for a little while. The bottom side is reflowed first, then cooled and Kapton tape used on the larger components, as a just-in-case. Then the top side pads are pasted, parts placed, and reflowed again. This is really handy for getting crystals, caps, and resistors next to microcontroller pins on the bottom while not having those same parts in the way on the top to route the leads away from the uC pins.
Modern PLD's/FPGA's, etc do an amazing job of eliminating discrete IC's. Boards I designed 30 years ago that were wall-to-wall TTL logic can now be replaced by a single FPGA. With surface mount components, FPGA's, and embedded micros, boards we did 20-30 years ago would be one quarter the size or smaller.