This paper describes an implementation of the Kurtosis and InfoMax algorithms for an independent components analysis in mixed-signal CMOS. Our design uses on-chip calibration techniques and local adaptation to compensate for the effect of device mismatch in arithmetic blocks and analog memory cells. We use our design to perform two-input blind source-separation on mixtures of audio signals and mixtures of EEG signals. Our experiments show that the hardware implementation of InfoMax consistently separates the signals within a normalized reconstruction error of less than 10%, while the reconstruction error of Kurtosis varies between 25% and 60%, due to its higher sensitivity to device mismatch and input statistics. Each circuit has a settling time of 8 ms, occupies a die area of 0.016-0.022 mm² and dissipates 15-20 mW of power.