For the past couple months I've been working on one, although with 2" PVC.
All four "canisters" are identical. 2" union at top for access to the contents, one foot of clear PVC, and then a reducing T at the bottom with a 1/2" union "accessory" port. From left to right in the picture above: Mechanical filtration with sponges, biological filtration with Ehfisubstrat, CO2 reactor with inline check valve and diffuser, and finally a heater module. When I installed it, I reversed the order:
I started out with a 265gph Hydor pump, but it was loud and I wanted more flow so I switched it for a 300gph Eheim.
I ran it like that for awhile, but the CO2 reactor would fill up with air because it still didn't have enough flow, and was not nearly tall enough. So I did a redesign where I combined the mechanical and bio modules into one and replaced the CO2 module with a Mazzei injector. That left me with just two modules, no CO2 buildup problem and great flow.
One problem I ran into (and never really solved) was priming. Getting all the air out of this filter could take a good half hour of fiddling around. At one point I had an air purge valve installed, and that helped a bit. Now with just two modules it is easier to prime then with four.
Another thing I struggled with was the interconnects between modules. I used 1/2" fittings and tubing, but really wanted something less restrictive. The next common size up is 3/4", and that would have been overkill. 5/8" is just right, but the variety of fittings available in this far less then 1/2" or 3/4".
Don't start this project thinking you will use up those "spare" PVC parts, as you will end up with more spares then you started with by time you are finished. I know I did, and now I'm fiddling around with the idea of turning those
spares into a fluidized bed filter...
Overall the thing cost probably two if not three times that of a commercial filter, and isn't anywhere near as user friendly. That said, if you are into this sort of DIY, it's a fun project, and people are impressed when you say you designed your own filter.