We present a low-cost, portable electrochemical analysis system using impedimetric measurements rather than more commonly used potentiometric techniques. The presented impedance spectroscopy (impedimetric) technique uses a small perturbation to obtain a linearized response without affecting the composition of the sample as opposed to cyclic voltammetry (potentiometric) which repeatedly reduces and oxidizes the sample. The presented system consists of an Arduino UNO microcontroller, a CMOS digital-to-analog converter (DAC) chip, a potentiostat, and data acquisition (DAQ) hardware. The Arduino UNO is loaded with a program we have written to generate sinusoidal excitation signals in conjunction with the CMOS DAC chip. The CMOS chip fabricated in a standard 0.5 micron CMOS process contains a DAC with a unity gain buffer circuit. The potentiostat is capable of carrying out impedance measurements with both the Randles model and a potassium chloride (KCl) solution. We describe a behavioral model of the op-amp used in the potentiostat using Verilog-A hardware description language. Verilog-A simulations reduced the error relative to standard Cadence simulations and compare well with known Randles RC values giving an error less than 1%. The impedance measurements for a KCl electrochemical solution were performed with our system and a commercial electrochemical workstation (Gamry) giving a relative error up to 16% for lower frequencies (below 37 Hz) and up to 31% at higher frequencies.