In this paper, we consider a MIMO networked control system with an energy harvesting sensor, where an unstable MIMO dynamic system is connected to a controller via a MIMO fading channel. We focus on the energy harvesting and MIMO precoding design at the sensor so as to stabilize the unstable MIMO dynamic plant subject to the energy availability constraint at the sensor. Using the Lyapunov optimization approach, we propose a closed-form dynamic energy harvesting and dynamic MIMO precoding solution, which has an event-driven control structure. Furthermore, the MIMO precoding solution is shown to have an eigenvalue water-filling structure, where the water level depends on the state estimation covariance, energy queue and the channel state, and the sea bed level depends on the state estimation covariance. The proposed scheme is also compared with various baselines and we show that significant performance gains can be achieved.