{"id":8278,"date":"2014-03-04T12:29:13","date_gmt":"2014-03-04T17:29:13","guid":{"rendered":"http:\/\/embedded-lab.com\/blog\/?p=8278"},"modified":"2014-03-04T12:29:27","modified_gmt":"2014-03-04T17:29:27","slug":"product-review-icp12-usbstick-and-smartdaq","status":"publish","type":"post","link":"https:\/\/embedded-lab.com\/blog\/product-review-icp12-usbstick-and-smartdaq\/","title":{"rendered":"Product review: iCP12 usbStick and SmartDAQ"},"content":{"rendered":"<p>In this blog post, I am reviewing\u00a0<a href=\"http:\/\/www.piccircuit.com\/shop\/pic-dev-board\/119-icp12-usbstick-pic18f2550-io-board.html\" target=\"_blank\">iCircuit Technologies&#8217; iCP12 usbStick development board<\/a> and their freely downloadable <a href=\"http:\/\/www.piccircuit.com\/shop\/pic-code\/139-software-03-smartdaq-data-acquisition-system.html\" target=\"_blank\">SmartDAQ PC software<\/a>. These two can be bundled together to construct a very basic 6-channel (analog) PC data logger.<\/p>\n<div id=\"attachment_8282\" style=\"width: 590px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/iCP12_Board.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8282\" class=\"size-full wp-image-8282\" alt=\"iCP12: PIC18F2550 USB board\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/iCP12_Board.jpg\" width=\"580\" height=\"365\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/iCP12_Board.jpg 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/iCP12_Board-550x346.jpg 550w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><p id=\"caption-attachment-8282\" class=\"wp-caption-text\">iCP12: PIC18F2550 USB board<\/p><\/div>\n<p>The<a href=\"http:\/\/www.piccircuit.com\/shop\/pic-dev-board\/119-icp12-usbstick-pic18f2550-io-board.html\" target=\"_blank\"> iCP12 usbStick<\/a> is a PIC18F2550 based USB development board that comes preloaded with Microchip&#8217;s USB HID bootloader that allows users to upload an application firmware directly through a PC&#8217;s USB port without any external programmer. It provides access to its I\/O pins through 0.1&#8243; pitch headers. A slide switch is also provided on board to select the operation of the board in Bootloader or Normal mode. The iCP12 usbStick board is shipped with a preloaded data acquisition firmware (HEX file is also downloadable) that emulates as a virtual COM port to PC. Thereafter, the communication between the PC and usbStick is serial.\u00a0The firmware also supports basic I\/O control and data logging feature.\u00a0<span style=\"font-size: 0.95em; line-height: 1.6em;\">They provide a PC application named <\/span><a style=\"font-size: 0.95em; line-height: 1.6em;\" href=\"http:\/\/www.piccircuit.com\/shop\/pic-code\/139-software-03-smartdaq-data-acquisition-system.html\" target=\"_blank\">SmartDAQ<\/a><span style=\"font-size: 0.95em; line-height: 1.6em;\"> that is specially developed to communicate with the usbStick (data acquisition firmware must be loaded) and control its I\/O pins, PWM outputs, and record ADC inputs.<!--more--><\/span><\/p>\n<div id=\"attachment_8313\" style=\"width: 590px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/03\/iCP12BD.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8313\" class=\"size-full wp-image-8313\" alt=\"iCP12 usbStick board\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/03\/iCP12BD.jpg\" width=\"580\" height=\"303\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/03\/iCP12BD.jpg 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/03\/iCP12BD-550x287.jpg 550w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><p id=\"caption-attachment-8313\" class=\"wp-caption-text\">iCP12 usbStick board<\/p><\/div>\n<p><a href=\"http:\/\/www.piccircuit.com\/shop\/pic-code\/139-software-03-smartdaq-data-acquisition-system.html\" target=\"_blank\">SmartDAQ<\/a>\u00a0has a very friendly GUI with real-time waveform displays for 6 analog input channels. The time and voltage axes scales are adjustable.\u00a0SmartDAQ can log the ADC data in both text and graphic form concurrently. One can utilize this feature to construct a low-cost data acquisition system for monitoring multiple analog sensor outputs such as temperature, accelerometer, gyroscope, magnetic field sensor, etc.<\/p>\n<div id=\"attachment_8286\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/SmartDAQscreen.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8286\" class=\"size-medium wp-image-8286\" alt=\"SmartDAQ GUI screen (click to enlarge)\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/SmartDAQscreen-550x269.png\" width=\"550\" height=\"269\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/SmartDAQscreen-550x269.png 550w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/SmartDAQscreen-1024x501.png 1024w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/SmartDAQscreen.png 1075w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-8286\" class=\"wp-caption-text\">SmartDAQ GUI screen (click to enlarge)<\/p><\/div>\n<p><strong>Testing with Easy Pulse<\/strong><\/p>\n<p>I tested the analog signal logging feature of SmartDAQ with my <a href=\"http:\/\/embedded-lab.com\/blog\/?p=7336\" target=\"_blank\"><strong>Easy Pulse<\/strong><\/a> sensor, and it worked out pretty good. I powered the sensor board through USB 5V output from usbStick and connected the analog PPG output from my <a href=\"http:\/\/embedded-lab.com\/blog\/?p=7336\" target=\"_blank\">Easy Pulse sensor<\/a> to A0 input of the iCP12 usbStick board. When you connect the usbStick to PC&#8217;s USB port, it appears as a virtual COM port. Make sure the mode select switch on board is placed to position B (normal mode). You should select the appropriate COM port in the SmartDAQ software while connecting to the usbStick. On the GUI, PORT A0 is selected as Input, and the Analog, and Record boxes are checked. When Start and Run buttons are clicked on, the data logging is enabled and the Graph window shows the real-time waveform of the signal received at the A0 input of PIC18F2550.<\/p>\n<div id=\"attachment_8281\" style=\"width: 590px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/EasyPulseConnection.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8281\" class=\"size-full wp-image-8281\" alt=\"Connecting Easy Pulse output to iCP12 usbStick board analog input\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/EasyPulseConnection.jpg\" width=\"580\" height=\"401\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/EasyPulseConnection.jpg 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/EasyPulseConnection-550x380.jpg 550w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><p id=\"caption-attachment-8281\" class=\"wp-caption-text\">Connecting Easy Pulse output to iCP12 usbStick board analog input<\/p><\/div>\n<div id=\"attachment_8280\" style=\"width: 576px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/20140223_091517_500_DAQRecord1.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8280\" class=\"size-full wp-image-8280\" alt=\"PPG signal waveform on SmartDAQ window\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/20140223_091517_500_DAQRecord1.jpg\" width=\"566\" height=\"296\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/20140223_091517_500_DAQRecord1.jpg 566w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/20140223_091517_500_DAQRecord1-550x287.jpg 550w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/a><p id=\"caption-attachment-8280\" class=\"wp-caption-text\">PPG signal waveform on SmartDAQ window<span style=\"font-size: 0.95em; line-height: 1.6em;\">\u00a0<\/span><\/p><\/div>\n<div id=\"attachment_8312\" style=\"width: 566px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/03\/SmartDAQ_logfile.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8312\" class=\"size-full wp-image-8312\" alt=\"SmartDAQ ASCII output log file\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/03\/SmartDAQ_logfile.png\" width=\"556\" height=\"424\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/03\/SmartDAQ_logfile.png 556w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/03\/SmartDAQ_logfile-550x419.png 550w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/a><p id=\"caption-attachment-8312\" class=\"wp-caption-text\">SmartDAQ ASCII output log file records ADC samples with time stamp<\/p><\/div>\n<p>The log files contain all analog input voltages into ASCII format with data and time stamps obtained from the PC, which\u00a0are useful for future analysis of the recorded samples. The sampling interval is adjustable from 1 millisecond to 60 minutes. Besides analog sampling and recording, you can also control individual I\/O pin logic state and set frequency and duty cycles of two PWM output pins (RC2 and RC1) of PIC18F2550 through the SmartDAQ interface.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_8283\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/PWM.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8283\" class=\"size-medium wp-image-8283\" alt=\"PWM\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/PWM-550x389.png\" width=\"550\" height=\"389\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/PWM-550x389.png 550w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/PWM.png 714w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-8283\" class=\"wp-caption-text\">Controlling PWM pins<\/p><\/div>\n<div id=\"attachment_8285\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/PWM50P.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8285\" class=\"size-medium wp-image-8285\" alt=\"PWM50P\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/PWM50P-550x398.jpg\" width=\"550\" height=\"398\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/PWM50P-550x398.jpg 550w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2014\/02\/PWM50P.jpg 580w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-8285\" class=\"wp-caption-text\">PWM output at 10KHz frequency and 50% duty cycle<\/p><\/div>\n<p>At the price of $12.80, the <a href=\"http:\/\/www.piccircuit.com\/shop\/pic-dev-board\/119-icp12-usbstick-pic18f2550-io-board.html\" target=\"_blank\"><strong>iCP12 usbStick board<\/strong><\/a> is a real bargain, specially for hobbyists who are looking for a low cost PC data logger for capturing multiple analog sensor data. As a standalone PIC development board, the usbStick has a limitation that it lacks onboard power supply regulator.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog post, I am reviewing\u00a0iCircuit Technologies&#8217; iCP12 usbStick development board and their freely downloadable SmartDAQ PC software. These two can be bundled together to construct a very basic 6-channel (analog) PC data logger. The iCP12 usbStick is a PIC18F2550 based USB development board that comes preloaded with Microchip&#8217;s USB HID bootloader that allows users to upload an application firmware directly through a PC&#8217;s USB port without any external programmer. It provides access to its I\/O pins through 0.1&#8243; pitch headers. A slide switch is also provided on board to select the operation of the board in Bootloader or<\/p>\n","protected":false},"author":1,"featured_media":8280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,348],"tags":[343,247,728],"class_list":["post-8278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pic-projects","category-product-review","tag-io-board","tag-pic18f2550","tag-usb-dev"],"_links":{"self":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/8278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/comments?post=8278"}],"version-history":[{"count":10,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/8278\/revisions"}],"predecessor-version":[{"id":8316,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/8278\/revisions\/8316"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/media\/8280"}],"wp:attachment":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/media?parent=8278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/categories?post=8278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/tags?post=8278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}