<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6168908865779685655</id><updated>2011-12-20T22:37:54.570-08:00</updated><title type='text'>fun3's little projects</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6168908865779685655.post-5625763665429429465</id><published>2010-04-10T10:08:00.000-07:00</published><updated>2010-04-10T10:19:50.474-07:00</updated><title type='text'>what's next ...</title><content type='html'>I just want to give you a update on the projects status.&lt;br /&gt;After thinking about how to use this with my new Tv and HTPC, the following ideas came up ...&lt;br /&gt;&lt;br /&gt;1. update the code for the arduino to be multi protocol capable&lt;br /&gt;I plan to implement the following protocols:&lt;br /&gt;atmolight (allready done, just some cleanup), momolight, DMX, TBL (used by boblightd)&lt;br /&gt;&lt;br /&gt;2. option for offline operation (standby animation, startup animation, fixed colour triggered somehow)&lt;br /&gt;&lt;br /&gt;3. remote control via a IR tv remote control&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6168908865779685655-5625763665429429465?l=fun3md.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/5625763665429429465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fun3md.blogspot.com/2010/04/whats-next.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/5625763665429429465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/5625763665429429465'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/2010/04/whats-next.html' title='what&apos;s next ...'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6168908865779685655.post-1244398530869410624</id><published>2010-01-03T11:55:00.000-08:00</published><updated>2010-01-03T12:05:45.433-08:00</updated><title type='text'>Disable automatic mount of USB devices in XBMC</title><content type='html'>this seems to be the best way&lt;br /&gt;We just tell the "HAL" not to mount any USB storage devices.&lt;br /&gt;I created a file under "/usr/share/hal/fdi/policy/10osvendor" called "99-ignore-usb.fdi" with the following contents&lt;br /&gt;&lt;br /&gt;&amp;lt;deviceinfo version="0.2"&amp;gt;&lt;br /&gt;  &amp;lt;device&amp;gt;&lt;br /&gt;      &amp;lt;match key="@block.storage_device:storage.bus" string="usb"&amp;gt;&lt;br /&gt;      &amp;lt;merge key="volume.ignore" type="bool"&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;  &amp;lt;/match&amp;gt;&lt;br /&gt; &amp;lt;/device&amp;gt;&lt;br /&gt;&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;&lt;deviceinfo version="0.2"&gt;&lt;br /&gt;&lt;/deviceinfo&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6168908865779685655-1244398530869410624?l=fun3md.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/1244398530869410624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fun3md.blogspot.com/2010/01/disable-automatic-mount-of-usb-devices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/1244398530869410624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/1244398530869410624'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/2010/01/disable-automatic-mount-of-usb-devices.html' title='Disable automatic mount of USB devices in XBMC'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6168908865779685655.post-3203981611386130572</id><published>2009-12-21T12:16:00.000-08:00</published><updated>2009-12-21T13:07:12.676-08:00</updated><title type='text'>how to setup videolan (VLC) to use the atmolight module</title><content type='html'>1. get the latest videolan client for your platform &lt;a href="http://www.videolan.org/"&gt;www.videolan.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. install, start it and open the preferences&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TXwFOvQ53y0/Sy_X8aHJVjI/AAAAAAAAAMQ/QsUyl9duhus/s1600-h/setup_vlcprefs.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 258px;" src="http://4.bp.blogspot.com/_TXwFOvQ53y0/Sy_X8aHJVjI/AAAAAAAAAMQ/QsUyl9duhus/s400/setup_vlcprefs.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5417786309551412786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. activate the atmolight module&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TXwFOvQ53y0/Sy_YDrpbgZI/AAAAAAAAAMY/HFsr_Qlva_M/s1600-h/setup_vlc.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 328px; height: 400px;" src="http://3.bp.blogspot.com/_TXwFOvQ53y0/Sy_YDrpbgZI/AAAAAAAAAMY/HFsr_Qlva_M/s400/setup_vlc.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5417786434517696914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. configure the actual atmolight module&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_TXwFOvQ53y0/Sy_YJoE6CcI/AAAAAAAAAMg/6prd5-fu25w/s1600-h/setup_vlc2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 324px;" src="http://2.bp.blogspot.com/_TXwFOvQ53y0/Sy_YJoE6CcI/AAAAAAAAAMg/6prd5-fu25w/s400/setup_vlc2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5417786536638417346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and if you are also using the light strips from DealExtreme, the following settings could be helpful to get a good whitebalance and nice overall response.&lt;br /&gt;But still needs some adjustment.&lt;br /&gt;just scroll a bit down in the atmolight modules preferences to find these settings&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TXwFOvQ53y0/Sy_jariH4eI/AAAAAAAAAMw/MI-3Vgl9FDU/s1600-h/setup_vlc4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 388px;" src="http://3.bp.blogspot.com/_TXwFOvQ53y0/Sy_jariH4eI/AAAAAAAAAMw/MI-3Vgl9FDU/s400/setup_vlc4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5417798924251947490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. now just start a video and love it ... :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6168908865779685655-3203981611386130572?l=fun3md.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/3203981611386130572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fun3md.blogspot.com/2009/12/how-to-setup-videolan-vlc-to-use.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/3203981611386130572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/3203981611386130572'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/2009/12/how-to-setup-videolan-vlc-to-use.html' title='how to setup videolan (VLC) to use the atmolight module'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TXwFOvQ53y0/Sy_X8aHJVjI/AAAAAAAAAMQ/QsUyl9duhus/s72-c/setup_vlcprefs.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6168908865779685655.post-6268447079351767595</id><published>2009-12-21T10:54:00.000-08:00</published><updated>2009-12-29T08:13:01.079-08:00</updated><title type='text'>How to build your own AtmoLight setup</title><content type='html'>The whole thing consist of a Arduino Duemilanove, one ShiftBrite Shield by macetech, a couple of Shiftbars also by macetech, a bit of cable, 12V LED RGB light strips from DealExtreme and a nice strong 12V powersource.&lt;br /&gt;I use the 12V line of my computers powersupply, but any 12V notebook adapter with at least 3 Amps should do the trick.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://arduino.cc/en/Main/Buy"&gt;Arduino Duemilanove&lt;/a&gt;&lt;br /&gt;&lt;a href="http://macetech.com/store/index.php?main_page=product_info&amp;cPath=4&amp;products_id=7"&gt;ShiftBrite Shield&lt;/a&gt;&lt;br /&gt;&lt;a href="http://macetech.com/store/index.php?main_page=product_info&amp;cPath=1&amp;products_id=10"&gt;Shiftbar&lt;/a&gt;&lt;br /&gt;&lt;a href="http://macetech.com/store/index.php?main_page=product_info&amp;cPath=3&amp;products_id=3"&gt;cable for the ShiftBars&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dealextreme.com/details.dx/sku.11304"&gt;12V LED RGB light strips&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TXwFOvQ53y0/Sy_FVoeVRBI/AAAAAAAAAL4/sk3Ky9jWYas/s1600-h/atmo_setup.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 141px;" src="http://1.bp.blogspot.com/_TXwFOvQ53y0/Sy_FVoeVRBI/AAAAAAAAAL4/sk3Ky9jWYas/s200/atmo_setup.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5417765852182561810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The first thing you need to do is to estimate how much light strips you need and order them. My setup will have 2 light strips for each side of the TV, so i need 8 light strips, 8 ShiftBars and 8 &lt;a href="http://macetech.com/store/index.php?main_page=product_info&amp;cPath=3&amp;products_id=6"&gt;cables&lt;/a&gt; to connect everything. But you could also do a setup with 2 lights on the sides and 3 lights each on the top and the bottom plus some lights for a "sum" channel.&lt;br /&gt;This is the nice thing about my solution, you can add as many lights as you like to your setup.&lt;br /&gt;&lt;br /&gt;But remember when you order on DealExtreme.com it will take at least 2-3 weeks to ship your order, Macetech will be a bit faster. &lt;br /&gt;!!! You will need the same amount of ShiftBars as you have light strips, because one ShiftBar can only drive one light strip.!!!&lt;br /&gt;&lt;br /&gt;If you finally have all the hardware ready, just put it all together.&lt;br /&gt;Here you find the documentation for the &lt;a href="http://docs.macetech.com/doku.php/shiftbar"&gt;ShiftBars&lt;/a&gt; and &lt;a href="http://docs.macetech.com/doku.php/shiftbrite_shield"&gt;ShiftBrite Shield&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After you finished plugging in the cables you need to programm the arduino with my litte piece of software, which translates the atmolight protocol and drives the shiftbar modules.&lt;br /&gt;&lt;br /&gt;You can find a ZIP file with the arduino sketch on my &lt;a href="http://code.google.com/p/arduinoatmo/"&gt;google code site &lt;/a&gt;&lt;br /&gt;&lt;a href="http://arduinoatmo.googlecode.com/files/arduinoatmo.zip"&gt;--&gt; arduinoatmo.zip &lt;-- &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But before you transfer the software to the arduino you need to do some adjustments in the code.&lt;br /&gt;&lt;br /&gt;first ... the number of ShiftBars you are using, just change the constant "NumLEDS" to the number of modules you have connected&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_TXwFOvQ53y0/Sy_QPEUUtrI/AAAAAAAAAMA/E4UazxRKPAM/s1600-h/num_of_leds.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 274px; height: 126px;" src="http://2.bp.blogspot.com/_TXwFOvQ53y0/Sy_QPEUUtrI/AAAAAAAAAMA/E4UazxRKPAM/s400/num_of_leds.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5417777834025596594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;second ... the channelorder ... just look a the picture below, should explain it self&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_TXwFOvQ53y0/Sy_QpSf_yyI/AAAAAAAAAMI/HM4w2tZdWko/s1600-h/channelorder.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 104px;" src="http://2.bp.blogspot.com/_TXwFOvQ53y0/Sy_QpSf_yyI/AAAAAAAAAMI/HM4w2tZdWko/s400/channelorder.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5417778284509252386" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;REMEMBER&lt;/span&gt; ... the channelorder array should be the size of "NumLEDS", so if you have 8 modules&lt;br /&gt;the line should read "byte channelorder[8]={2,2,3,3,1,1,4,4};"&lt;br /&gt;&lt;br /&gt;Now you are ready to upload the sketch.&lt;br /&gt;&lt;br /&gt;To test the system you can use &lt;a href="http://arduinoatmo.googlecode.com/files/atmoWin_0.45.zip"&gt;AtmoWin&lt;/a&gt; also found on my google code site, but this is just for Windows.&lt;br /&gt;&lt;br /&gt;Other ways to connect are via&lt;br /&gt;&lt;a href="http://blogger.xs4all.nl/loosen/category/32622.aspx"&gt;boblightd&lt;/a&gt; = works on windows and linux&lt;br /&gt;and my favorite &lt;a href="http://www.videolan.org/"&gt;videolan&lt;/a&gt; using the included atmolight module = works on all videolan supported platforms, but only if the OS also supports the usb to serial converter on the arduino&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://fun3md.blogspot.com/2009/12/how-to-setup-videolan-vlc-to-use.html"&gt;How to setup videolan (VLC) to use Atmolight&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6168908865779685655-6268447079351767595?l=fun3md.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/6268447079351767595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fun3md.blogspot.com/2009/12/overview-of-my-setup.html#comment-form' title='42 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/6268447079351767595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/6268447079351767595'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/2009/12/overview-of-my-setup.html' title='How to build your own AtmoLight setup'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TXwFOvQ53y0/Sy_FVoeVRBI/AAAAAAAAAL4/sk3Ky9jWYas/s72-c/atmo_setup.jpg' height='72' width='72'/><thr:total>42</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6168908865779685655.post-307680417103860754</id><published>2009-10-15T07:20:00.001-07:00</published><updated>2009-10-15T07:22:56.730-07:00</updated><title type='text'>[fyi] google code site ...</title><content type='html'>just created a google code site for project tracking and revision control ...&lt;br /&gt;&lt;a href="http://code.google.com/p/arduinoatmo/"&gt;http://code.google.com/p/arduinoatmo/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6168908865779685655-307680417103860754?l=fun3md.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/307680417103860754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fun3md.blogspot.com/2009/10/fyi-google-code-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/307680417103860754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/307680417103860754'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/2009/10/fyi-google-code-site.html' title='[fyi] google code site ...'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6168908865779685655.post-2726011125548191676</id><published>2009-08-28T06:45:00.001-07:00</published><updated>2009-12-21T11:36:24.134-08:00</updated><title type='text'>another video ...</title><content type='html'>didn't found time yet to finish the documentation and rewrite the arduino code&lt;br /&gt;so for now i only have a video for you guys&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tYq9G0Bt6Ns&amp;hl=de&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tYq9G0Bt6Ns&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6168908865779685655-2726011125548191676?l=fun3md.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/2726011125548191676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fun3md.blogspot.com/2009/08/another-video.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/2726011125548191676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/2726011125548191676'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/2009/08/another-video.html' title='another video ...'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6168908865779685655.post-8370770221520712856</id><published>2009-07-28T21:40:00.000-07:00</published><updated>2009-12-21T13:28:31.900-08:00</updated><title type='text'>AtmoLight Clone</title><content type='html'>For quite some time i thought about building a Philips Ambilight Clone, but all the current projects were not flexible enough for my taste and used special microcontrollers and boards.&lt;br /&gt;So i thought how can i build one with standard components as a near plug and play solution?&lt;br /&gt;&lt;br /&gt;my main points for this project were:&lt;br /&gt;building a ambilight like system using the atmolight protocol&lt;br /&gt;with the possiblity to switch to another protocol without to much work&lt;br /&gt;using small but fine stepped led controlers in a flexible structure (with the option to add n more)&lt;br /&gt;&lt;br /&gt;after some research my choices went to the arduino duemillanove and the macetech shiftbars.&lt;br /&gt;the arduino can do pretty much everything and in the combination with the shiftbrite shields and the shiftbars it's really just plug and play.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;&lt;a href="http://fun3md.blogspot.com/2009/07/atmolight-technical-post.html"&gt;&lt;br /&gt;The AtmoLight system&lt;/a&gt;&lt;/span&gt; (some technical information)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://fun3md.blogspot.com/2009/12/overview-of-my-setup.html"&gt;How to build your own AtmoLight setup&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;(this post includes all the sources for the hardware and software)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://fun3md.blogspot.com/2009/12/how-to-setup-videolan-vlc-to-use.html"&gt;How to setup videolan (VLC) to use Atmolight&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I setup a 3 channel installation behind my computer display as a proof of concept and i must say it looks pretty nice.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/i4JnrAwullI&amp;hl=de_DE&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/i4JnrAwullI&amp;hl=de_DE&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6168908865779685655-8370770221520712856?l=fun3md.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/8370770221520712856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fun3md.blogspot.com/2009/07/atmolight-clone-project.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/8370770221520712856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/8370770221520712856'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/2009/07/atmolight-clone-project.html' title='AtmoLight Clone'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6168908865779685655.post-4431581094433559545</id><published>2009-07-28T11:51:00.001-07:00</published><updated>2009-07-30T03:48:56.761-07:00</updated><title type='text'>AtmoLight</title><content type='html'>&lt;span style="font-weight: bold;"&gt;The Atmolight system and protocol&lt;/span&gt;&lt;br /&gt;The free atmolight system was designed to drive 4 channels with ether LED strips or coloured cold cathode tubes. They are using a specially designed controller board which has the microcontroller, all the power and the PWM stuff on it.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.vdr-wiki.de/wiki/images/5/50/Atmo_usb_v3a_top_wmarks.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 546px; height: 458px;" src="http://www.vdr-wiki.de/wiki/images/5/50/Atmo_usb_v3a_top_wmarks.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So all the lights are connected to this one board and one serial or usb connection will go to the pc which will provide the data.&lt;br /&gt;the idea is not so bad and it is actually not too expensive, but you need to get the board, all the other parts, solder everything, program the microcontroller and then you are good to go. (if it works)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;too much work for my taste, but will come to this again later ...&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The serial Protocol - Now it gets interessting ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Until now i'm just using the main colour value data, which is streamed over the serial port.&lt;br /&gt;&lt;br /&gt;When you are using the AtmoWin App or the atmolight module in videolan, the standard packet layout will by like this.&lt;br /&gt;&lt;br /&gt;&lt;table class="wikitable"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div align="center"&gt;0&lt;/div&gt; &lt;/td&gt;&lt;td&gt; 0xFF: Startbyte &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="center"&gt;1&lt;/div&gt; &lt;/td&gt;&lt;td&gt; 0x00: Startchannel (low byte) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="center"&gt;2&lt;/div&gt; &lt;/td&gt;&lt;td&gt; 0x00: Startchannel (high byte) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="center"&gt;3&lt;/div&gt; &lt;/td&gt;&lt;td&gt; 0x0F: how much channels (15 = 5 * 3 (R, G, B)) = what if have seen, it's always 0x0F&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="center"&gt;4 - 6&lt;/div&gt; &lt;/td&gt;&lt;td&gt; sum channel R, G, B (Center) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="center"&gt;7 - 9&lt;/div&gt; &lt;/td&gt;&lt;td&gt; left channel R, G, B (Left) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="center"&gt;10 - 12&lt;/div&gt; &lt;/td&gt;&lt;td&gt;right channel R, G, B (Right) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="center"&gt;13 - 15&lt;/div&gt; &lt;/td&gt;&lt;td&gt; top channel R, G, B (Top) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="center"&gt;16 - 18&lt;/div&gt; &lt;/td&gt;&lt;td&gt;bottom channel R, G, B (Bottom) &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;for example:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0xff 00 00 0f aa aa 11 aa aa 11 aa aa 11 aa aa 11 aa aa 11&lt;/span&gt; (all channels will have the values R=170,G=170,B=17)&lt;br /&gt;&lt;br /&gt;There is a control command to adjust the brightness, contrast, gamma, gamma for each channel and the whitebalance directly within the mikrocontroller code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Whitebalance adjust command&lt;/span&gt;&lt;br /&gt;Byte     Beschreibung&lt;br /&gt;0        0xFF: Startbyte&lt;br /&gt;1        0x00: Startchannel (low byte)&lt;br /&gt;2        0x00: Startchannel (high byte)&lt;br /&gt;3        101: Triggerbyte / commandbyte for WB adjust&lt;br /&gt;4        brightness&lt;br /&gt;5 - 7    contrast R, G, B&lt;br /&gt;8 - 10    gamma R, G, B&lt;br /&gt;11        global contrast&lt;br /&gt;12        write command / write to eeprom&lt;br /&gt;&lt;br /&gt;note: each colour change will be a full packet ... when you are using the AtmoWin app in fixed color mode, it will send the packet only at startup or a mode change&lt;br /&gt;&lt;br /&gt;also note: videolan and atmowin allows to change the order of the channels, just try to remembder it ... i did a hardcoded channel order in my code, to assign the channels to the different led bars. ... needed to do this, because i currently have two led bars for each of the three channels i'm using&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Light Value transformation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The atmolight guys using a gamma table to transform the linear rgb light values to values used by the PWM output modules. It just looks so much better with this on.&lt;br /&gt;I can't really explain why, but someone will know. ... :P ... i just implemented what they did&lt;br /&gt;&lt;br /&gt;a very good explanation by Garrett from &lt;a href="http://www.macetech.com/store/"&gt;macetech&lt;/a&gt; ...&lt;br /&gt;"The gamma table fixes the problem human eyes have correctly determining brightness of pulsed light. Even though PWM from 0 to 100% duty cycle is accurately changing brightness in a linear way, the eye sees almost no difference between 75% and 100% brightness. So the gamma table uses something like a logarithmic translation; the values will change very slowly at low brightness and very quickly at high brightness."&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TXwFOvQ53y0/SnAB5C3JkpI/AAAAAAAAAKU/gCbiQtd9Ja8/s1600-h/gamma.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 122px;" src="http://4.bp.blogspot.com/_TXwFOvQ53y0/SnAB5C3JkpI/AAAAAAAAAKU/gCbiQtd9Ja8/s200/gamma.gif" alt="" id="BLOGGER_PHOTO_ID_5363789235730616978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;this is the table they are using ... 255 Values over a range of 0 - 2047&lt;br /&gt;&lt;div style="text-align: left;"&gt;0;0;0;0;0;0;0;0;0;0;1;1;1;1;1;2;2;2;3;3;4;4;4;5;6;6;7;7;8;9;10;11;11;12;13;14;15;16;18;19;20;&lt;br /&gt;21;23;24;25;27;28;30;31;33;35;37;38;40;42;44;46;48;51;53;55;57;60;62;65;67;70;72;75;78;&lt;br /&gt;81;84;87;90;93;96;99;103;106;109;113;116;120;124;127;131;135;139;143;147;151;156;160;&lt;br /&gt;164;169;173;178;183;187;192;197;202;207;212;217;223;228;233;239;245;250;256;262;268;&lt;br /&gt;274;280;286;292;298;305;311;317;324;331;338;344;351;358;365;373;380;387;395;402;410;&lt;br /&gt;417;425;433;441;449;457;465;474;482;491;499;508;516;525;534;543;552;562;571;580;590;&lt;br /&gt;599;609;619;628;638;648;658;669;679;689;700;710;721;732;743;754;765;776;787;799;810;&lt;br /&gt;822;833;845;857;869;881;893;905;918;930;943;955;968;981;994;1007;1020;1033;1047;&lt;br /&gt;1060;1074;1088;1101;1115;1129;1143;1157;1172;1186;1201;1215;1230;1245;1260;1275;&lt;br /&gt;1290;1305;1321;1336;1352;1367;1383;1399;1415;1431;1448;1464;1480;1497;1514;1530;&lt;br /&gt;1547;1564;1582;1599;1616;1634;1651;1669;1687;1705;1723;1741;1759;1778;1796;1815;&lt;br /&gt;1833;1852;1871;1890;1909;1929;1948;1968;1987;2007;2027;2047&lt;br /&gt;&lt;br /&gt;the newer original firmware generates the table on startup, will look at this later and add it to my arduino code ...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6168908865779685655-4431581094433559545?l=fun3md.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fun3md.blogspot.com/feeds/4431581094433559545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fun3md.blogspot.com/2009/07/atmolight-technical-post.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/4431581094433559545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6168908865779685655/posts/default/4431581094433559545'/><link rel='alternate' type='text/html' href='http://fun3md.blogspot.com/2009/07/atmolight-technical-post.html' title='AtmoLight'/><author><name>fun3MD</name><uri>http://www.blogger.com/profile/16277420187397905673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TXwFOvQ53y0/SnAB5C3JkpI/AAAAAAAAAKU/gCbiQtd9Ja8/s72-c/gamma.gif' height='72' width='72'/><thr:total>8</thr:total></entry></feed>
