Purpose - The purpose of this paper is to develop a health monitoring system that can measure human vital signs and recognize human activity based on body sensor network (BSN). Design/methodology/approach - The system is mainly composed of electrocardiogram (ECG) signal collection node, blood oxygen signal collection node, inertial sensor node, receiving node and upper computer software. The three collection nodes collect ECG signals, blood oxygen signals and motion signals. And then collected signals are transmitted wirelessly to receiving node and analyzed by software in upper computer in real-time. Findings - Experiment results show that the system can simultaneously monitor human ECG, heart rate, pulse rate, SpO2 and recognize human activity. A classifier based on coupled hidden Markov model (CHMM) is adopted to recognize human activity. The average recognition accuracy of CHMM classifier is 94.8 percent, which is higher than some existent methods, such as supported vector machine (SVM), C4.5 decision tree and naive Bayes classifier (NBC). Practical implications - The monitoring system may be used for falling detection, elderly care, postoperative care, rehabilitation training, sports training and other fields in the future. Originality/value - First, the system can measure human vital signs (ECG, blood pressure, pulse rate, SpO2, temperature, heart rate) and recognizes some specific simple or complex activities (sitting, lying, go boating, bicycle riding). Second, the researches of using CHMM for activity recognition based on BSN are extremely few. Consequently, the classifier based on CHMM is adopted to recognize activity with ideal recognition accuracies in this paper.