{"id":1505,"date":"2023-05-13T16:42:29","date_gmt":"2023-05-13T16:42:29","guid":{"rendered":"https:\/\/www.adrian-smith31.co.uk\/blog\/?p=1505"},"modified":"2023-05-14T10:47:26","modified_gmt":"2023-05-14T10:47:26","slug":"re-using-a-microcontroller-from-a-lcdmodkit-usb204b-v02-board","status":"publish","type":"post","link":"https:\/\/www.adrian-smith31.co.uk\/blog\/2023\/05\/re-using-a-microcontroller-from-a-lcdmodkit-usb204b-v02-board\/","title":{"rendered":"Re-using a microcontroller from a LCDmodkit USB204B.V02 board"},"content":{"rendered":"<p>On one of my very old computers I had one of those <a href=\"http:\/\/www.lcdmodkit.com\/index.html\" target=\"_blank\" rel=\"noopener\">LCDmodkit<\/a> PC status screens that consisted of a 20&#215;4 LCD housed in a 5.25&#8243; bay and was interfaced to an internal USB header on the motherboard via a USB2LCD controller. As there are no Microsoft certified drivers available for this device it was no longer used in my newer Windows 10 or later machines. I removed the USB204B board off the back of the LCD and used the LCD for another project. That left me with a controller which was pretty much useless. On inspection I found it had an ATmega8 microcontroller and a bit of digging I found that this is based off the LCD2USB project by Harbaum (link to original project <a href=\"https:\/\/github.com\/harbaum\/LCD2USB\" target=\"_blank\" rel=\"noopener\">here<\/a>) and it appears that the LCDmodkit controller is basically a redesigned original using SMT instead of surface mounted parts.<\/p>\n<figure id=\"attachment_1506\" aria-describedby=\"caption-attachment-1506\" style=\"width: 220px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1506 size-medium\" src=\"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204-220x300.jpg\" alt=\"\" width=\"220\" height=\"300\" srcset=\"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204-220x300.jpg 220w, https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204-750x1024.jpg 750w, https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204-768x1048.jpg 768w, https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204-1126x1536.jpg 1126w, https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204-600x819.jpg 600w, https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204-1040x1419.jpg 1040w, https:\/\/www.adrian-smith31.co.uk\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230421_163645204.jpg 1454w\" sizes=\"auto, (max-width: 220px) 100vw, 220px\" \/><\/a><figcaption id=\"caption-attachment-1506\" class=\"wp-caption-text\">LCD204B controller mounted on perfboard<\/figcaption><\/figure>\n<p>So I thought it is highly likely that the board could be reprogrammed and wasn&#8217;t locked. So I added a couple of headers to the former LCD connector and found, as in the schematic found on Harbaum&#8217;s project several of the I\/O ports are broken out onto this connector. The rest are used for V-USB and serial and there is also a group of six solder pads labelled CN5 to the upper right of the microcontroller. I suspected this was for programming and poking around revealed this to be the case. The MOSI, SS and MISO pins were on these solder pads so I connected it to an arduino working as an ISP and uploaded a couple of basic sketches. Worked a treat but one thing to watch out for is the onboard crystal is 12Mhz not 16Mhz so anything that uses timers won&#8217;t work properly. However it&#8217;s great for very basic applications that involve sensors and activating outputs.<\/p>\n<p>I&#8217;ve mapped out the six solder pads with pin one being to the right hand side of the photo. In other words pin one is nearest the edge of the board and pin six is nearest the microcontroller. I connected these via mod wire to a standard 6 pin ISP header on the perfboard.<\/p>\n<p>Pins are 1= ADC6, 2= Reset, 3= MOSI, 4= SCK \/ SS, 5 = AVCC, 6 = MISO. 5V and power were taken from the 16 pin LCD header. The rest are easily found out by measuring continuity between each of the 16 pins and the pins on the microcontroller using a pinout as a reference. I used a 7805 regulator to power it but even if reprogrammed the original USB connector could be used to power the board.<\/p>\n<p><!--more--><\/p>\n<p>So instead of having a pretty much useless controller worthy only of the bin I have a basic ATmega8 development board that I could repurpose into another project. At least it&#8217;s more useful than those crappy digistump boards. As for salvaging microcontrollers from electronics in general it&#8217;s a no-go as you will find they are usually obscure, not very hobbyist friendly micros and are almost always locked to prevent them from being reflashed or they are OTP only.<\/p>\n<p>But if anyone has one of these old displays and is unable to use it, well now you can with a bit of patience. On a side note it looks like someone asked how to re-use this board back in 2009 on the Adafruit forums. <a href=\"https:\/\/forums.adafruit.com\/viewtopic.php?f=24&amp;p=58874\" target=\"_blank\" rel=\"noopener\">Here&#8217;s the link for reference<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On one of my very old computers I had one of those LCDmodkit PC status screens that consisted of a 20&#215;4 LCD housed in a 5.25&#8243; bay and was interfaced to an internal USB header on the motherboard via a USB2LCD controller. As there are no Microsoft certified drivers available for this device it was [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Re-using a microcontroller from a LCDmodkit USB204B.V02 board - Adrian's electronics blog","description":"On one of my very old computers I had one of those LCDmodkit PC status screens that consisted of a 20x4 LCD housed in a 5.25\" bay and was interfaced to an inter"},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1505","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=1505"}],"version-history":[{"count":6,"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1505\/revisions"}],"predecessor-version":[{"id":1533,"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1505\/revisions\/1533"}],"wp:attachment":[{"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=1505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=1505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.adrian-smith31.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=1505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}