{"id":5619,"date":"2012-10-10T19:52:34","date_gmt":"2012-10-10T23:52:34","guid":{"rendered":"http:\/\/embedded-lab.com\/blog\/?p=5619"},"modified":"2013-02-03T16:01:18","modified_gmt":"2013-02-03T21:01:18","slug":"mini-project-board-for-pic12f-series-microcontrollers","status":"publish","type":"post","link":"https:\/\/embedded-lab.com\/blog\/mini-project-board-for-pic12f-series-microcontrollers\/","title":{"rendered":"Mini project board for PIC12F series microcontrollers"},"content":{"rendered":"<p>The 12F series of PIC microcontrollers are handy little 8-pin devices designed for small embedded applications that do not require too many I\/O resources, and where small size is advantageous. These applications include a wide range of everyday products such as hair dryers, electric toothbrushes, rice cookers, vacuum cleaners, coffee makers, and blenders. Despite their small size, the PIC12F series microcontrollers offer interesting features including wide operating voltage, internal programmable oscillator, 4 channels of 10-bit ADC, on-board EEPROM memory, on-chip voltage reference, multiple communication peripherals (UART, SPI, and I2C), PWM, and more. The following project board is designed for fast and easy development of standalone applications using PIC12F microcontrollers. It features an on-board regulated +5V power supply, header connectors to access I\/O pins, an ICSP header for programming, a reset circuit, and a small prototyping area for placing additional components.<\/p>\n<div id=\"attachment_6137\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_Title.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6137\" class=\"size-full wp-image-6137\" title=\"PIC12FPB_Title\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_Title.jpg\" alt=\"\" width=\"565\" height=\"470\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_Title.jpg 565w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_Title-550x457.jpg 550w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/a><p id=\"caption-attachment-6137\" class=\"wp-caption-text\">PIC12F development board<\/p><\/div>\n<p><!--more--> <strong>Circuit diagram<\/strong>The following circuit shows the on-board +5V power supply unit using AMS1117-5.0V regulator IC. The maximum output current of AMS1117 is 800mA, but it is recommended to limit the maximum current to 500mA. The project board can be powered from a 6-12V external power supply connected through a 2-pin terminal block. There is no power ON\/OFF switch on-board but users can connect one externally. If no external ON\/OFF switch is connected, the pads shown in the figure below must be shorted through soldering.<\/p>\n<div id=\"attachment_5622\" style=\"width: 572px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/07\/ELPIC12FBOARD_PS.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5622\" class=\"size-full wp-image-5622\" title=\"ELPIC12FBOARD_PS\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/07\/ELPIC12FBOARD_PS.png\" alt=\"\" width=\"562\" height=\"368\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/07\/ELPIC12FBOARD_PS.png 562w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/07\/ELPIC12FBOARD_PS-550x360.png 550w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/a><p id=\"caption-attachment-5622\" class=\"wp-caption-text\">Power supply circuit on board<\/p><\/div>\n<p>The microcontroller circuit (shown below) is straightforward. The GP3\/MCLR pin is connected to an external tact switch that can be configured as a reset switch (if MCLR is enabled) or a user input (if MCLR is disabled). All I\/O (GP0, GP1, GP2, GP4, and GP5) and power supply (+5V and GND) pins are accessible through headers. A header connector for ICSP using PICKit2\/3 is also provided on board.<\/p>\n<div id=\"attachment_5629\" style=\"width: 565px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/07\/ELPIC12FBOARD_MainCircuit.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5629\" class=\"size-full wp-image-5629\" title=\"ELPIC12FBOARD_MainCircuit\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/07\/ELPIC12FBOARD_MainCircuit.png\" alt=\"\" width=\"555\" height=\"457\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/07\/ELPIC12FBOARD_MainCircuit.png 555w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/07\/ELPIC12FBOARD_MainCircuit-550x452.png 550w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><\/a><p id=\"caption-attachment-5629\" class=\"wp-caption-text\">Microcontroller circuit<\/p><\/div>\n<p>Although GP3 is connected to the tact switch input, you can still access it through a plated through hole (PTH) on lower right side of PIC12F IC socket and is\u00a0labelled as <strong>GP3<\/strong>\u00a0on PCB (see picture below). There&#8217;s a small prototyping area available on the board to add additional components for user projects. If an external ON\/OFF switch is to be added into your application, it must be connected to two PTH marked as <strong>SW2<\/strong>. Otherwise, the\u00a0<strong>PD1<\/strong>pins must be shorted together for continuous power supply.\u00a0The picture below shows a closer view of the features on board.<\/p>\n<div id=\"attachment_6144\" style=\"width: 580px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_features.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6144\" class=\"size-full wp-image-6144\" title=\"PIC12FPB_features\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_features.jpg\" alt=\"\" width=\"570\" height=\"538\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_features.jpg 570w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_features-550x519.jpg 550w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/a><p id=\"caption-attachment-6144\" class=\"wp-caption-text\">PIC12F project board features<\/p><\/div>\n<ol>\n<li>2-pin terminal block for DC input (6-12 V DC)<\/li>\n<li>AMS1117-5.0V regulator<\/li>\n<li>PIC12F microcontroller on a DIP IC socket<\/li>\n<li>Tact switch connected to RA3 I\/O pin, which is input only. It can be used as reset if MCLR is enabled. It can also be used as an user input if MCLR is disabled.<\/li>\n<li>Header connector for ICSP programming using chipKIT2\/3.<\/li>\n<li>Headers to access I\/O pins and power supply pins (Vcc = +5V).<\/li>\n<li>Small prototyping area for connecting additional circuit. The regulated +5V power supply for the additional circuit can be derived from the Vcc header pins.<\/li>\n<li>Plated through holes for connecting an external ON\/OFF switch.<\/li>\n<\/ol>\n<p>The following pictures show assembled PIC12F project board in different configurations. The size of PCB is 1.95&#8243; x 1.95&#8243; (5cm x 5cm).<\/p>\n<div id=\"attachment_6131\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_AssembledWM.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6131\" class=\"size-full wp-image-6131\" title=\"PIC12FPB_AssembledWM\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_AssembledWM.jpg\" alt=\"\" width=\"565\" height=\"479\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_AssembledWM.jpg 565w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_AssembledWM-550x466.jpg 550w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/a><p id=\"caption-attachment-6131\" class=\"wp-caption-text\">Assembled PIC12F mini project board with PIC12F1840 plugged in <\/p><\/div>\n<div id=\"attachment_6133\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_CompleteDev.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6133\" class=\"size-full wp-image-6133\" title=\"PIC12FPB_CompleteDev\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_CompleteDev.jpg\" alt=\"\" width=\"565\" height=\"468\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_CompleteDev.jpg 565w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_CompleteDev-550x455.jpg 550w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/a><p id=\"caption-attachment-6133\" class=\"wp-caption-text\">PIC12F project board with an external ON\/OFF switch and powered from a 9V PP3 battery<\/p><\/div>\n<div id=\"attachment_6134\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_CompleteDev2.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6134\" class=\"size-full wp-image-6134\" title=\"PIC12FPB_CompleteDev2\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_CompleteDev2.jpg\" alt=\"\" width=\"565\" height=\"480\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_CompleteDev2.jpg 565w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_CompleteDev2-550x467.jpg 550w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/a><p id=\"caption-attachment-6134\" class=\"wp-caption-text\">When no external switch is used, PD1 pins must be shorted<\/p><\/div>\n<p style=\"text-align: center;\"><span style=\"color: #ff0000;\"><strong>PIC12F mini project board kit on sale<\/strong><\/span><\/p>\n<p>If you are interested you can buy the PIC12F project board as a kit. The picture below shows what you will get in the kit. Note that the kit doesn&#8217;t include any microcontroller. You can purchase this on <strong><a href=\"https:\/\/tindie.com\/shops\/rajbex\/pic12f-series-microcontrollers-project-board-kit\/\" target=\"_blank\">Tindie<\/a><\/strong> for $10 plus shipping. Here&#8217;s the link: <a href=\"https:\/\/tindie.com\/shops\/rajbex\/pic12f-series-microcontrollers-project-board-kit\/\">https:\/\/tindie.com\/shops\/rajbex\/pic12f-series-microcontrollers-project-board-kit\/<\/a><\/p>\n<div id=\"attachment_6143\" style=\"width: 580px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_KIT_WOM2.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6143\" class=\"size-full wp-image-6143\" title=\"PIC12FPB_KIT_WOM2\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_KIT_WOM2.jpg\" alt=\"\" width=\"570\" height=\"499\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_KIT_WOM2.jpg 570w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_KIT_WOM2-550x481.jpg 550w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/a><p id=\"caption-attachment-6143\" class=\"wp-caption-text\">Complete PIC12F project board kit<\/p><\/div>\n<div id=\"attachment_6141\" style=\"width: 579px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_V1.0_LOM.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6141\" class=\"size-full wp-image-6141\" title=\"PIC12FPB_V1.0_LOM\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_V1.0_LOM.png\" alt=\"\" width=\"569\" height=\"376\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_V1.0_LOM.png 569w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_V1.0_LOM-550x363.png 550w\" sizes=\"auto, (max-width: 569px) 100vw, 569px\" \/><\/a><p id=\"caption-attachment-6141\" class=\"wp-caption-text\">What you will get in the kit<\/p><\/div>\n<p>Wondering what you can do with this board? If you search online you will find tons of cool projects done with PIC12F microcontrollers. Here&#8217;s a list of few of them.<\/p>\n<ul>\n<li><a href=\"http:\/\/embedded-lab.com\/blog\/?p=2236\" target=\"_blank\"><strong>A beginner&#8217;s data logger with serial interface<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/picboard.blogspot.com\/2010\/10\/0-20v-digital-voltmeter-dvm-using.html\" target=\"_blank\"><strong>0-20V digital voltmeter<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/picboard.blogspot.com\/2010\/11\/experiment-no-7-generating-melody-with.html\" target=\"_blank\"><strong>Playing a song tune with PIC12F683<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/www.micro-examples.com\/public\/microex-navig\/doc\/077-picobat\" target=\"_blank\"><strong>Ultrasonic sound detector<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/www.micro-examples.com\/articles\/index.php\/PicoDetector\" target=\"_blank\"><strong>Metal detector<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/www.micro-examples.com\/articles\/index.php\/PicoOSD\" target=\"_blank\"><strong>PAL video superimposer<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/www.ermicro.com\/blog\/?p=1622\" target=\"_blank\"><strong>Laser projector<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/madlabs.info\/ir_remote.shtml\" target=\"_blank\"><strong>A super simple IR remote<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/www.ivica-novakovic.from.hr\/Nokia%20Lcd%20Termometar-eng.htm\" target=\"_blank\"><strong>Thermometer with Nokia 3310 LCD<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/hyvatti.iki.fi\/~jaakko\/pic\/pong\/\" target=\"_blank\"><strong>Pong video game<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/jayakody2000lk.blogspot.com\/2011\/04\/mini-servo-controller.html\" target=\"_blank\"><strong>Mini servo controller<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/benoztalay.wordpress.com\/temperature-sensing-mug\/\" target=\"_blank\"><strong>Temperature sensing mug<\/strong><\/a><\/li>\n<li><strong><a href=\"http:\/\/epraktikum.iz.rs\/projekti\/dimmer\/en_dimmer_main.php\" target=\"_blank\">IR light dimmer<\/a><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #ff0000;\"><strong>Update (October 12, 2012)<\/strong><\/span>As I was testing the board I realized that the ground plane on the bottom copper layer has broken apart at a place. I have fixed this manually by soldering the broken parts of the ground plane together (see the picture below). This should not affect the functionality of the board.<\/p>\n<div id=\"attachment_6152\" style=\"width: 561px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_FIX2.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6152\" class=\"size-full wp-image-6152\" title=\"PIC12FPB_FIX2\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_FIX2.jpg\" alt=\"\" width=\"551\" height=\"349\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_FIX2.jpg 551w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FPB_FIX2-550x348.jpg 550w\" sizes=\"auto, (max-width: 551px) 100vw, 551px\" \/><\/a><p id=\"caption-attachment-6152\" class=\"wp-caption-text\">Broken ground plane and its fixing<\/p><\/div>\n<p><span style=\"color: #ff0000;\"><strong>Update (Feb 2, 2013)<\/strong><\/span>A revised version of this board was released yesterday with minor improvements. The broken ground plane has been fixed and an additional LED (LED2) is provided on board for user output. The LED can bes connected to the GP5 I\/O pin through a 2-pin jumper (J3) on board (see the picture of the new assembled board below).<\/p>\n<div id=\"attachment_7083\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FBoardV1.0.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7083\" class=\"size-full wp-image-7083\" title=\"PIC12FBoardV1.0\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FBoardV1.0.jpg\" alt=\"\" width=\"565\" height=\"440\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FBoardV1.0.jpg 565w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2012\/10\/PIC12FBoardV1.0-550x428.jpg 550w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/a><p id=\"caption-attachment-7083\" class=\"wp-caption-text\">Revised PIC12F mini development board<\/p><\/div>\n<p><strong>You can buy a PIC12F development board kit for $10.99 on Tindie.<\/strong> <strong><a href=\"https:\/\/tindie.com\/shops\/rajbex\/pic12f-series-microcontrollers-project-board-kit\/\">Buying Link<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The 12F series of PIC microcontrollers are handy little 8-pin devices designed for small embedded applications that do not require too many I\/O resources, and where small size is advantageous. These applications include a wide range of everyday products such as hair dryers, electric toothbrushes, rice cookers, vacuum cleaners, coffee makers, and blenders. Despite their small size, the PIC12F series microcontrollers offer interesting features including wide operating voltage, internal programmable oscillator, 4 channels of 10-bit ADC, on-board EEPROM memory, on-chip voltage reference, multiple communication peripherals (UART, SPI, and I2C), PWM, and more. The following project board is designed for fast<\/p>\n","protected":false},"author":1,"featured_media":5622,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[245,367,4],"tags":[484,485],"class_list":["post-5619","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-embedded-lab-projects","category-mcu-develeopment-tools","category-pic-projects","tag-pic12f-development-board","tag-pic12f1840"],"_links":{"self":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/5619","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=5619"}],"version-history":[{"count":14,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/5619\/revisions"}],"predecessor-version":[{"id":6148,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/5619\/revisions\/6148"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/media\/5622"}],"wp:attachment":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/media?parent=5619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/categories?post=5619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/tags?post=5619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}