Spectrophotometers allow a user to measure the concentration of a colorful and/or light scattering solute (e.g., proteins, dyes, or cells) by illuminating a sample and then measuring how much light is transmitted through the sample to a detector. However, despite the relative simplicity of this technique, most commercially available spectrophotometers cost thousands of dollars. The goal of this work was to design and optimize an open source photometer that utilizes inexpensive components (LEDs, resistors, and an Arduino) and customized 3D printed parts (a flow cell or cuvette holder) to measure the absorbance of both dynamic liquid streams and static batch samples. Specifically, the device uses an LED to illuminate a sample with specific wavelengths of light that are either absorbed by the sample or transmitted to a photoresistor. Since the resistance of the photoresistor is inversely proportional to the intensity of light on its surface (e.g., resistance decreases as light intensity increases), the amount of light absorbed by the sample directly determines the voltage across the photoresistor (e.g., voltage decreases as absorbance increases), which can be measured by an Arduino. This circuit was used to construct a novel 3D printed flow cell photometer that can be connected inline to dynamically measure the absorbance of cell cultures, chromatography systems, or other process flows. In addition, the flexibility of this circuit was demonstrated by applying it to a small cuvette holder that analyzes batch samples. The flow cell device was successfully used to measure the concentration of red blood cells in a circulating sample and to detect hemoglobin eluting from a size exclusion column, while the cuvette device accurately measured the enzyme kinetics (K-m and V-max) of a beta-galactosidase reaction. In conclusion, these inexpensive ($50-100 each) devices are relatively easy to assemble, program, and use in the quantification of cells, proteins, and small molecules.