{"id":345,"date":"2010-06-02T15:11:01","date_gmt":"2010-06-02T22:11:01","guid":{"rendered":"http:\/\/www.jusquici.org\/blog\/?p=345"},"modified":"2010-06-03T18:43:01","modified_gmt":"2010-06-04T01:43:01","slug":"taking-arduino-to-the-next-level-with-avr-gcc-part-3-5","status":"publish","type":"post","link":"https:\/\/www.jusquici.org\/blog\/?p=345","title":{"rendered":"Taking Arduino to the next level with avr-gcc: part 3.5"},"content":{"rendered":"<p>Since I wrote my <a href=\"\/blog\/?p=284\">last post<\/a> on this, a few minor things have come to my attention or changed:<\/p>\n<ul>\n<li><a href=\"\/blog\/?p=284#comment-1022\">Dane<\/a> pointed out that the digital pins of the Arduino output a maximum of 40mA of current.  Each LED can probably handle 40mA of current itself.  In short, that means that right now, we&#8217;re only getting about 1\/6th of the potential brightness.  (Perhaps more than that, since the voltage-brightness response is not linear, but still &#8211; less than we could be getting.)\n<p>My ideas for dealing with this are:<\/p>\n<ol>\n<li>Pull current from more PWM pins.  The most straightforward, though it puts the most load on the Arduino.  At this point it looks like I have enough pins to do this since I&#8217;m multiplexing the display.<\/li>\n<li>External power supply, emulating PWM with some kind of external switching IC.  I really don&#8217;t like this because if the software doesn&#8217;t do PWM correctly, there could be several amps going into the LEDs, which would have no good consequence.  It also involves buying more hardware, which, well, yeah.<\/li>\n<\/li>\n<li>Something else clever commenters come up with&#8230;<\/li>\n<\/ol>\n<li>I moved from a design using several smaller breadboards (&#8220;modules&#8221;) to one larger breadboard.  I&#8217;ll draw a line visually between the two next time I&#8217;m at the workbench. Functionally, it should make no difference if you don&#8217;t want to transfer, the wiring just might get a bit unwieldy.<\/li>\n<li>I messed up the fuse and bootloader on my Arduino Nano.  I may have to buy a reprogrammer to fix that.  In the mean time, I&#8217;ll be using the Diecimila like I have been rather than trying to breadboard the whole thing.  Someday, perhaps.  In the mean time, that makes me a bit nervous to push binaries to hardware, which means&#8230;<\/li>\n<li>Next time we will cover how to use to toolchain to manage and compile a C-based AVR project, particularly in Xcode.  We won&#8217;t be getting to avrdude just yet &#8211; it&#8217;s one thing when I brick my own hardware, it&#8217;s another thing when I tell someone how to brick theirs. \ud83d\ude42<\/li>\n<\/ul>\n<p>a+,<br \/>\nkmo<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since I wrote my last post on this, a few minor things have come to my attention or changed: Dane pointed out that the digital pins of the Arduino output a maximum of 40mA of current. Each LED can probably handle 40mA of current itself. In short, that means that right now, we&#8217;re only getting &hellip; <a href=\"https:\/\/www.jusquici.org\/blog\/?p=345\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Taking Arduino to the next level with avr-gcc: part 3.5<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_markdown_editor_remember":false,"footnotes":""},"categories":[38,30,15],"tags":[],"_links":{"self":[{"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/345"}],"collection":[{"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=345"}],"version-history":[{"count":9,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/345\/revisions"}],"predecessor-version":[{"id":371,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/345\/revisions\/371"}],"wp:attachment":[{"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}