<?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:blogger='http://schemas.google.com/blogger/2008' 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-6225405901806401667</id><updated>2026-02-07T03:19:37.474-08:00</updated><category term="electronics"/><category term="programming"/><category term="hardware hacking"/><category term="other"/><category term="MIDI"/><category term="Music"/><category term="arduino"/><category term="buspirate"/><category term="routers"/><title type='text'>HWmayer</title><subtitle type='html'>hardware hacking, electronics, programming and other geek stuff</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hwmayer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://hwmayer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>hwmayer</name><uri>http://www.blogger.com/profile/01674352074644424782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6225405901806401667.post-4698822353281163267</id><published>2013-03-21T16:41:00.003-07:00</published><updated>2013-03-23T18:07:55.765-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="electronics"/><category scheme="http://www.blogger.com/atom/ns#" term="MIDI"/><category scheme="http://www.blogger.com/atom/ns#" term="Music"/><title type='text'>Making MIDI hi-hat controller from unused bass drum pedal</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recently one of my friends bought an electronic drum set made by polish manufacturer &quot;DIG DRUM&quot;. The drum set is very good and combined with the Alesis triggerIO works really well.&lt;br /&gt;
&lt;br /&gt;
Unfortunately the pedal for controlling the hi-hat open/close signal was not included in the set. After a quick search, I&#39;ve discovered that the circuit for the controller is trivial, so I decided to build my own.&lt;br /&gt;
&lt;br /&gt;
The circuit for setting the pedal state consist only off a potentiometer and a cable which connects it to one of the IO ports of the trigger interface. You can find the diagram on &lt;a href=&quot;http://www.strymon.net/2010/07/12/strymon-tech-corner-1-anatomy-of-an-expression-pedal/&quot;&gt;this page&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
For the pedal I&#39;ve used a part of a twin bass drum pedal set, which was no longer used.&lt;br /&gt;
In order to be able to rotate the potentiometer, it needs to be mounted to the axis off the pedal. To achieve that I&#39;ve created a stand from a piece of plexiglass and a metal plate.&lt;br /&gt;
&lt;br /&gt;
The stand with the potentiometer and the socket:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFhcFEpSGzb8HSur6cZVemdW4DHfb6Irp_DXx85MvCNJ3d5XO6pYGWSF6D4U-AwO3iqGDZfSfj7-jk_-aOjUYDVUgn8ecnTY39hxx65-PRZ6ahEBXecK_4gnFMSWwL4bi1q5HPjJEV0ehj/s1600/20130321_232332.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFhcFEpSGzb8HSur6cZVemdW4DHfb6Irp_DXx85MvCNJ3d5XO6pYGWSF6D4U-AwO3iqGDZfSfj7-jk_-aOjUYDVUgn8ecnTY39hxx65-PRZ6ahEBXecK_4gnFMSWwL4bi1q5HPjJEV0ehj/s400/20130321_232332.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The potentiometer is connected with a 1/4 stereo jack socket using a short wire:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOEq3ozc8w_1DUx5v-FN1_p4HyxyTak09qYWSDReN10reZvb-odB9VdC-8MDlxVPwRcYlVHeKHM4e12kq_QtvBzv0efpEqW63zFR_dJkSaV8lUBaIJKnJRd6D4uXlVwjybxIwuKCfr9Rxn/s1600/20130321_232517.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOEq3ozc8w_1DUx5v-FN1_p4HyxyTak09qYWSDReN10reZvb-odB9VdC-8MDlxVPwRcYlVHeKHM4e12kq_QtvBzv0efpEqW63zFR_dJkSaV8lUBaIJKnJRd6D4uXlVwjybxIwuKCfr9Rxn/s400/20130321_232517.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The part which connects the axis of the pedal with the potentionemter. A few screws and metal pads mounted together:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhehd8QxhWMXt3tZJkPi21R8E4ttbIdkMw1PBP82gygVyJZThlBEJaKyHt501ImFEFyET94OOFp1VScDe6Njn3nwtPDv0yRhkD1kvL0W7bPVs8RJubac3rIc9DRr_xLiCV5c7Lf3Ox8_Wqv/s1600/20130321_232737.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhehd8QxhWMXt3tZJkPi21R8E4ttbIdkMw1PBP82gygVyJZThlBEJaKyHt501ImFEFyET94OOFp1VScDe6Njn3nwtPDv0yRhkD1kvL0W7bPVs8RJubac3rIc9DRr_xLiCV5c7Lf3Ox8_Wqv/s400/20130321_232737.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb9t10KqS4KJzeoY8gE7SndfNWKmVAYtdcd_lxccPSH8i4__6QU9h1a_aVdig-92lSs4m-_1k7fU1pI6Io54x1HEbP72w6JwyNk5l2dRT_0Z4KaR5atInGnBT3-m4FlVhr7ioH845lCYNQ/s1600/20130321_232717.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt; &lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb9t10KqS4KJzeoY8gE7SndfNWKmVAYtdcd_lxccPSH8i4__6QU9h1a_aVdig-92lSs4m-_1k7fU1pI6Io54x1HEbP72w6JwyNk5l2dRT_0Z4KaR5atInGnBT3-m4FlVhr7ioH845lCYNQ/s400/20130321_232717.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
...and the whole construction:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3qyuwm98MfcpjiJoQ3TZn2ItAEKJXUIcI9OjbjeQYqxk84CjwgINEmC4lwua-qgB3iz0y_Pes5bKA6Kn-oP-q5UALHM2Ss8xMrVbFF3T6ZR90wRZri27QkHNKbmaxrnBfGemU-fRRUP0T/s1600/20130321_232826.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3qyuwm98MfcpjiJoQ3TZn2ItAEKJXUIcI9OjbjeQYqxk84CjwgINEmC4lwua-qgB3iz0y_Pes5bKA6Kn-oP-q5UALHM2Ss8xMrVbFF3T6ZR90wRZri27QkHNKbmaxrnBfGemU-fRRUP0T/s400/20130321_232826.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It works pretty well for now, but I suppose that the potentiometer will not live for too long in this kind of application :-)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hwmayer.blogspot.com/feeds/4698822353281163267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6225405901806401667/4698822353281163267?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/4698822353281163267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/4698822353281163267'/><link rel='alternate' type='text/html' href='http://hwmayer.blogspot.com/2013/03/making-midi-hi-hat-controller-from.html' title='Making MIDI hi-hat controller from unused bass drum pedal'/><author><name>hwmayer</name><uri>http://www.blogger.com/profile/01674352074644424782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFhcFEpSGzb8HSur6cZVemdW4DHfb6Irp_DXx85MvCNJ3d5XO6pYGWSF6D4U-AwO3iqGDZfSfj7-jk_-aOjUYDVUgn8ecnTY39hxx65-PRZ6ahEBXecK_4gnFMSWwL4bi1q5HPjJEV0ehj/s72-c/20130321_232332.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6225405901806401667.post-2072714750561270771</id><published>2011-12-11T06:41:00.001-08:00</published><updated>2011-12-11T07:29:43.425-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="electronics"/><category scheme="http://www.blogger.com/atom/ns#" term="hardware hacking"/><title type='text'>Battery powered hands warmer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
If you ever had your hands frozen in the winter, you may be glad to have this simple battery powered hands warmer made from junk.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: I take no responsibility for any injuries caused by anything you build using this guide. Everything you do is for you own responsibility. Be aware that this device may cause burns and heated batteries can explode !!!&lt;br /&gt;
&lt;br /&gt;
To build this simple, yet&amp;nbsp;useful&amp;nbsp;device you will need:&lt;br /&gt;
- old PC power supply&lt;br /&gt;
- plastic 3 x 1,5V battery pack&lt;br /&gt;
- some resistors&lt;br /&gt;
- wires, solder, soldering iron&lt;br /&gt;
&lt;br /&gt;
The most important element for the heater is the radiator with a power transistor that you should find in almost any PC power supply. You will need to&amp;nbsp;unsolder&amp;nbsp;the transistor together with the radiator. Mine was TT2140 which you can see on this image:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigOvc5L297BsgMWSjjxwwufaP5Bxh5U4Owp4FWbxtcGrilcYmCtf8v4sDgyVKXDpcMlIxhTbwwZYC9IQ9o_D0E7jbZNLo5TFJ3yb2kNp429MpG61YjqaXmPgrUttcF9606hg08n0DeFRzQ/s1600/ogrzewacz2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;203&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigOvc5L297BsgMWSjjxwwufaP5Bxh5U4Owp4FWbxtcGrilcYmCtf8v4sDgyVKXDpcMlIxhTbwwZYC9IQ9o_D0E7jbZNLo5TFJ3yb2kNp429MpG61YjqaXmPgrUttcF9606hg08n0DeFRzQ/s320/ogrzewacz2.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The circuit is very simple, it includes only the transistor and a 25 Ohm resistor. The value of the resistor may be different for different transistors. I suggest trying different values between 10 and 150 Ohm and measuring the current from the battery. The current should not be too high because the batteries will start heating instead of the transistor (and check if the temperature isn&#39;t too high for your hands). In my case I used two resistors paralleled, because I didn&#39;t had a 25 Ohm one.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnelBuqvar37a-syydWlaT3OhHz6poHQjCPLgY0QJKdrUANVY96P-bxTeEi3XAklVz94jVSARh-vG72jQ2AaSzEczmZ-WIRRTAnmvsrRHsVJYzBgoXk5qKxPV8xQQIf6YKyYxsCE4SiLau/s1600/cirrcuit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnelBuqvar37a-syydWlaT3OhHz6poHQjCPLgY0QJKdrUANVY96P-bxTeEi3XAklVz94jVSARh-vG72jQ2AaSzEczmZ-WIRRTAnmvsrRHsVJYzBgoXk5qKxPV8xQQIf6YKyYxsCE4SiLau/s1600/cirrcuit.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Some more views of the heater:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbTm9yMgC1b5W-d9y43pdjsf4A4y0kTA8sJyTGZbhGy8PBTuoDT7an9HMEo3GZXwcxyYSmEXOr2kxQWfuLyWL6yyc73uly-UH_0_12KZykYyap1LlWVtRezJlBzc3EitO-dLBam93FIBmz/s1600/ogrzewacz1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;153&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbTm9yMgC1b5W-d9y43pdjsf4A4y0kTA8sJyTGZbhGy8PBTuoDT7an9HMEo3GZXwcxyYSmEXOr2kxQWfuLyWL6yyc73uly-UH_0_12KZykYyap1LlWVtRezJlBzc3EitO-dLBam93FIBmz/s200/ogrzewacz1.JPG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg50wRlfTEfoVm4C30Yko55CnINDJkIUvR4tYW3ftbbd_xxIYVg0yJflP-1nAyKT017hcp-cZEaNSfVLIaRBFYrH4iPTauR6PTViCI1lRmB0pU0ZjIfdiizeRjhQ3OodxcZ0wpaWTZOHXCg/s1600/DSCN0542.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;161&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg50wRlfTEfoVm4C30Yko55CnINDJkIUvR4tYW3ftbbd_xxIYVg0yJflP-1nAyKT017hcp-cZEaNSfVLIaRBFYrH4iPTauR6PTViCI1lRmB0pU0ZjIfdiizeRjhQ3OodxcZ0wpaWTZOHXCg/s200/DSCN0542.JPG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Have fun and be safe !&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hwmayer.blogspot.com/feeds/2072714750561270771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6225405901806401667/2072714750561270771?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/2072714750561270771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/2072714750561270771'/><link rel='alternate' type='text/html' href='http://hwmayer.blogspot.com/2011/12/battery-powered-hands-warmer.html' title='Battery powered hands warmer'/><author><name>hwmayer</name><uri>http://www.blogger.com/profile/01674352074644424782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigOvc5L297BsgMWSjjxwwufaP5Bxh5U4Owp4FWbxtcGrilcYmCtf8v4sDgyVKXDpcMlIxhTbwwZYC9IQ9o_D0E7jbZNLo5TFJ3yb2kNp429MpG61YjqaXmPgrUttcF9606hg08n0DeFRzQ/s72-c/ogrzewacz2.JPG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6225405901806401667.post-5185824215058775359</id><published>2011-12-11T05:23:00.000-08:00</published><updated>2011-12-11T07:36:32.437-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="other"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>birdsim - bird calls simulator for 3D audio systems</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Living in a city has it pros and cons, however the main disadvantages for many people is the lack of access to the nature. Especially in winter, the view of naked trees and dirty snow may be really depressing. This situation led me to the idea of an application which could simulate bird calls (songs) using my 5.1 audio system for a 3D ambient sound-scape experience.&lt;br /&gt;
The goal was to create something different than bird calls recordings on CD. First of all, it is hard to find &quot;nature sounds&quot;&amp;nbsp;CDs &amp;nbsp;with DTS surround sound. In my idea the listener should be in the center of a &quot;virtual scene&quot;. Next I have a thought of simulating real-time&amp;nbsp;behaviours, like different bird species singing at specified hours (some birds time-perception accuracy can be measured in minutes!). Finally, in real world the sound scene is very dynamic, some birds are moving, other are flying away or closer to the listener. I wanted to include all those dynamics existing in real environment.&lt;br /&gt;
&lt;br /&gt;
The result of my work is the &lt;a href=&quot;http://sourceforge.net/projects/birdsim/&quot;&gt;birdsim&lt;/a&gt; application. It is written in Python using OpenAL and pyOpenAL wrapper for 3D sound. Unfortunately the pyOpenAL for python seems no longer to be supported, but it is still downloadable as a deb package. Also I were unable to port birdsim to windows, also because of the OpenAL lib. It could be great if someone could share pyOpenAL working on windows.&lt;br /&gt;
Birdsim is based on XML scene and bird descriptors. Each bird have some sound samples and XML description included. It was hard to find really good&amp;nbsp;quality bird calls sound samples (by good quality I mean also that the samples include ONLY sounds of one bird, which is not so common as one could imagine). I encourage you to add new birds to the database and create different scenes. Currenty there is one scene called night.xml which include some night birds and crickets. The second scene called 24hours.xml include all birds which will appear in real time of day (most of them start early in the morning).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG5IsM_UB1sRwEqr2WJ_OI3S0FsJ_g_dkOZgztYywQfaUSNzvABI4vpm2hs3BDDBTvsVoaGxTEWWlum3lsELSOG4_KoCIVrCXoZ_TSyYQmz_H9GEzPtaiRBxdspwStnAFkihCTb95ku4or/s1600/screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;247&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG5IsM_UB1sRwEqr2WJ_OI3S0FsJ_g_dkOZgztYywQfaUSNzvABI4vpm2hs3BDDBTvsVoaGxTEWWlum3lsELSOG4_KoCIVrCXoZ_TSyYQmz_H9GEzPtaiRBxdspwStnAFkihCTb95ku4or/s400/screen.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is the link to sourceforge page with the whole project:&lt;br /&gt;
&lt;a href=&quot;http://sourceforge.net/projects/birdsim/&quot;&gt;http://sourceforge.net/projects/birdsim/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Have fun !&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hwmayer.blogspot.com/feeds/5185824215058775359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6225405901806401667/5185824215058775359?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/5185824215058775359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/5185824215058775359'/><link rel='alternate' type='text/html' href='http://hwmayer.blogspot.com/2011/12/birdsim-bird-calls-simulator-for-3d.html' title='birdsim - bird calls simulator for 3D audio systems'/><author><name>hwmayer</name><uri>http://www.blogger.com/profile/01674352074644424782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG5IsM_UB1sRwEqr2WJ_OI3S0FsJ_g_dkOZgztYywQfaUSNzvABI4vpm2hs3BDDBTvsVoaGxTEWWlum3lsELSOG4_KoCIVrCXoZ_TSyYQmz_H9GEzPtaiRBxdspwStnAFkihCTb95ku4or/s72-c/screen.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6225405901806401667.post-7664693587286111942</id><published>2011-02-18T14:52:00.000-08:00</published><updated>2011-02-19T01:18:57.403-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="electronics"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Arduino + ikea box + flightgear = flykeaduino</title><content type='html'>Hello there. It&#39;s been some time since my last post. I got some new stuff and ideas meantime so it&#39;s time to share something.&lt;br /&gt;
&lt;br /&gt;
Recently I have played flightgear a lot, it is a very good open source flightsim and it has some usefull abilities. One of the most usefull things is that flightgear provides access to simulation parameters via telnet ! Using it for making own control system was really easy.&lt;br /&gt;
&lt;br /&gt;
First I&#39;ve wrote a simple app for arduino to utilize six switches and one potentiometer. Arduino sends the data about switches state using serial. You can download the &lt;a href=&quot;https://sites.google.com/site/hwmayerfiles/flightsim_test1.pde&quot;&gt;code here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZQYaPFBSIvHkuBfWP_GLkC4sWRAqETDG-WZrqEvz7KR3w0Wr7-aRRqp5AUS00nbFbpqJFOpg7iUrLtM-UfRCfYJ8KoXUfU-DhcmyBIXWPvS0dNDjJU4etFjdrSMsX8uYQt81WWacc5JX/s1600/DSCN4334.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZQYaPFBSIvHkuBfWP_GLkC4sWRAqETDG-WZrqEvz7KR3w0Wr7-aRRqp5AUS00nbFbpqJFOpg7iUrLtM-UfRCfYJ8KoXUfU-DhcmyBIXWPvS0dNDjJU4etFjdrSMsX8uYQt81WWacc5JX/s400/DSCN4334.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Next I&#39;ve used a box from ikea some wires and soldering iron to make a simple control panel. The switches are connected in the most basic way. Every switch has +5V, ground and one digital input pin connected. The potentiometer is connected in the same way except that it uses &amp;nbsp;the analog input pin.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCaOiUPogP8k35ZGs90FaMa0G0LrsPw2-6o5p7x9Ndooi5Y8PD8uowbBINZ9kV0GAFjEnnt47CLOPdbI1A9TziCLTQFLdhVrRN77vK18gmcQs2a9tOLf0iExHAoq0Zs-8QI0zW6P3IqQ-r/s1600/DSCN4333.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCaOiUPogP8k35ZGs90FaMa0G0LrsPw2-6o5p7x9Ndooi5Y8PD8uowbBINZ9kV0GAFjEnnt47CLOPdbI1A9TziCLTQFLdhVrRN77vK18gmcQs2a9tOLf0iExHAoq0Zs-8QI0zW6P3IqQ-r/s400/DSCN4333.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The data from arduino is parsed by python script which connects to flightgear by telnet and sets proper values for various controls. You can find the &lt;a href=&quot;https://sites.google.com/site/hwmayerfiles/fg_arduino.py&quot;&gt;script here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
- connect arduino, compile and flash the app&lt;br /&gt;
- run flightgear with &amp;nbsp;&quot;--telnet=5401&quot; argument&lt;br /&gt;
- run the python script&lt;br /&gt;
- done ! use switches and buttons to control flightgear&lt;br /&gt;
&lt;br /&gt;
Have fun :)</content><link rel='replies' type='application/atom+xml' href='http://hwmayer.blogspot.com/feeds/7664693587286111942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6225405901806401667/7664693587286111942?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/7664693587286111942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/7664693587286111942'/><link rel='alternate' type='text/html' href='http://hwmayer.blogspot.com/2011/02/arduino-ikea-box-flightgear-flykeaduino.html' title='Arduino + ikea box + flightgear = flykeaduino'/><author><name>hwmayer</name><uri>http://www.blogger.com/profile/01674352074644424782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZQYaPFBSIvHkuBfWP_GLkC4sWRAqETDG-WZrqEvz7KR3w0Wr7-aRRqp5AUS00nbFbpqJFOpg7iUrLtM-UfRCfYJ8KoXUfU-DhcmyBIXWPvS0dNDjJU4etFjdrSMsX8uYQt81WWacc5JX/s72-c/DSCN4334.JPG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6225405901806401667.post-1575776759781644475</id><published>2010-10-10T03:13:00.000-07:00</published><updated>2010-11-18T13:06:28.227-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="electronics"/><category scheme="http://www.blogger.com/atom/ns#" term="other"/><title type='text'>555 earrings</title><content type='html'>I&#39;ve made a pair of very special geek-earrings&amp;nbsp;for someone very special to me :). They are based on a 555 timer, LED, couple of resistors and a capacitor. All&amp;nbsp;soldered&amp;nbsp;to take as little space as&amp;nbsp;possible.&lt;br /&gt;
They will be probably knitted out or&amp;nbsp;transformed in some other way to be more girl-friendly.&lt;br /&gt;
&lt;br /&gt;
Here you got the circuit and photo:&lt;br /&gt;
(555 chip on the circuit is upside down)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg7qeJYyyXkY-5xyvV1xQu6i7xCuT9rY_Ll55yb5uEdj5Cb9-QqY5nGHnXxS2BVTfpIXJ_Hu0QE15Rahkd2qNbY_9Vfb7EF3IueNP8UkzbspPJqb0OlHSa7QfURIm50U3HLTWHbvKWgWQn/s1600/earings.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;218&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg7qeJYyyXkY-5xyvV1xQu6i7xCuT9rY_Ll55yb5uEdj5Cb9-QqY5nGHnXxS2BVTfpIXJ_Hu0QE15Rahkd2qNbY_9Vfb7EF3IueNP8UkzbspPJqb0OlHSa7QfURIm50U3HLTWHbvKWgWQn/s400/earings.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;555 timer earrings&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOVIV2szVxOEzeCshWdeKP9VYzB7PW9yOOtloRTWAA9QUS7UnRnWg80RvHk2J5tP15mIZKHmFSMkg-NdgaR2HgzrWqgzfSJSsG7UGzinNluH_pVCQGl2uYqnXAevrH9NjvqtsSnoKYWS82/s1600/circuit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOVIV2szVxOEzeCshWdeKP9VYzB7PW9yOOtloRTWAA9QUS7UnRnWg80RvHk2J5tP15mIZKHmFSMkg-NdgaR2HgzrWqgzfSJSsG7UGzinNluH_pVCQGl2uYqnXAevrH9NjvqtsSnoKYWS82/s400/circuit.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hwmayer.blogspot.com/feeds/1575776759781644475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6225405901806401667/1575776759781644475?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/1575776759781644475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/1575776759781644475'/><link rel='alternate' type='text/html' href='http://hwmayer.blogspot.com/2010/10/555-earrings.html' title='555 earrings'/><author><name>hwmayer</name><uri>http://www.blogger.com/profile/01674352074644424782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg7qeJYyyXkY-5xyvV1xQu6i7xCuT9rY_Ll55yb5uEdj5Cb9-QqY5nGHnXxS2BVTfpIXJ_Hu0QE15Rahkd2qNbY_9Vfb7EF3IueNP8UkzbspPJqb0OlHSa7QfURIm50U3HLTWHbvKWgWQn/s72-c/earings.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6225405901806401667.post-4428289574003053783</id><published>2010-09-18T05:11:00.000-07:00</published><updated>2010-09-25T11:49:09.991-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="buspirate"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>BusPirate oscilloscope python script</title><content type='html'>Some time ago I wrote a simple oscilloscope script for Bus Pirate.&lt;br /&gt;
&lt;a href=&quot;http://www.pygame.org/&quot;&gt;Pygame&lt;/a&gt; and &lt;a href=&quot;http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/scripts&quot;&gt;pyBusPirateLite&lt;/a&gt;&amp;nbsp;libraries&amp;nbsp;are needed to run it. Unfortunately the BusPirate firmware sends data&amp;nbsp;collected&amp;nbsp;by ADC very slowly so it&#39;s working rather as a live-plot than a real oscilloscope but even though it may be&amp;nbsp;useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Zbb4Cy5n80umJuSbSlC5mcP-mqj_riglCeGImFrodxDEFnW6NF55xG-Pq88QwuvphCrjKReodEiOMnsucHAKkfHIcjP0N5_7zkHNGhgkXz7uZG_NhnuiOmc-fxv-9fL1z3Af9OFtykei/s1600/bpscope.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;310&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Zbb4Cy5n80umJuSbSlC5mcP-mqj_riglCeGImFrodxDEFnW6NF55xG-Pq88QwuvphCrjKReodEiOMnsucHAKkfHIcjP0N5_7zkHNGhgkXz7uZG_NhnuiOmc-fxv-9fL1z3Af9OFtykei/s400/bpscope.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;v 1.0&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5CwfH0IJ_lweFDI0tN03-4a5V5KnJeAasj5c2coEWCnoFDVnba6bBERi4vTjXUV7Wiy07Z_AujKTq_d2sKEDD9Fks9HeqgfxQcKRDZlLsp5r3Rkv0w9DvYI7LAwNlC9GzyG5zV31WxkBc/s1600/zrzut_ekranu-1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;311&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5CwfH0IJ_lweFDI0tN03-4a5V5KnJeAasj5c2coEWCnoFDVnba6bBERi4vTjXUV7Wiy07Z_AujKTq_d2sKEDD9Fks9HeqgfxQcKRDZlLsp5r3Rkv0w9DvYI7LAwNlC9GzyG5zV31WxkBc/s400/zrzut_ekranu-1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;v 1.2&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
edit this line in oscope.py so it points to BusPirate&lt;br /&gt;
BUS_PIRATE_DEV = &quot;/dev/ttyUSB0&quot;&lt;br /&gt;
Connect ADC and GND lines.&lt;br /&gt;
Run and have fun :)&lt;br /&gt;
&lt;br /&gt;
Download here:&lt;br /&gt;
&lt;a href=&quot;https://sites.google.com/site/hwmayerfiles/oscope.py&quot;&gt;&lt;s&gt;oscope.py&lt;/s&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;EDIT&amp;lt;&amp;lt;&lt;br /&gt;
New version: &lt;a href=&quot;https://sites.google.com/site/hwmayerfiles/oscope_v1.2.py&quot;&gt;oscope_v1.2.py&lt;/a&gt;&lt;br /&gt;
Working only with modified firmware (ADC modification 20.09.2010):&lt;br /&gt;
&lt;a href=&quot;http://sites.google.com/site/hwmayerfiles/BPv3-Firmware-v5.8-adc.hex.zip&quot;&gt;BPv3-Firmware-v5.8-adc.hex.zip&lt;/a&gt;&lt;br /&gt;
New features:&lt;br /&gt;
- trigger on rising/falling slope&lt;br /&gt;
- time scaling</content><link rel='replies' type='application/atom+xml' href='http://hwmayer.blogspot.com/feeds/4428289574003053783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6225405901806401667/4428289574003053783?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/4428289574003053783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/4428289574003053783'/><link rel='alternate' type='text/html' href='http://hwmayer.blogspot.com/2010/09/buspirate-oscilloscope-python-script.html' title='BusPirate oscilloscope python script'/><author><name>hwmayer</name><uri>http://www.blogger.com/profile/01674352074644424782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Zbb4Cy5n80umJuSbSlC5mcP-mqj_riglCeGImFrodxDEFnW6NF55xG-Pq88QwuvphCrjKReodEiOMnsucHAKkfHIcjP0N5_7zkHNGhgkXz7uZG_NhnuiOmc-fxv-9fL1z3Af9OFtykei/s72-c/bpscope.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6225405901806401667.post-536594468889948895</id><published>2010-09-15T10:33:00.000-07:00</published><updated>2010-09-15T12:16:55.195-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hardware hacking"/><category scheme="http://www.blogger.com/atom/ns#" term="routers"/><title type='text'>D-link DIR-100 UART</title><content type='html'>Few days ago I&#39;ve&amp;nbsp;bought&amp;nbsp;quite old D-Link DIR-100 cable router&amp;nbsp;especially&amp;nbsp;for experimenting purposes.&lt;br /&gt;
First thing that I&#39;ve wanted to do was to add a serial port connector to see what&#39;s&amp;nbsp;running&amp;nbsp;inside it. After opening the case it was easy to find the UART pins on the PCB, as they looked similar as in other D-Link devices.&lt;br /&gt;
Here you have them described on a photo:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: auto;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx-hyW6MwNZY47gS5HdtergnILxEqb-jXSthYaq8FGgRtSQ0wBNvekHxLbZzY98xFyFd4rOi479xsqkl3c_2L-nGlwhQatnDY9NcPxn58My0ajan7seCEGMTcj87LamVWJrQkK5Fjctb5A/s1600/DSCN2499.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx-hyW6MwNZY47gS5HdtergnILxEqb-jXSthYaq8FGgRtSQ0wBNvekHxLbZzY98xFyFd4rOi479xsqkl3c_2L-nGlwhQatnDY9NcPxn58My0ajan7seCEGMTcj87LamVWJrQkK5Fjctb5A/s400/DSCN2499.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;D-Link DIR-100 UART pins&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: auto;&quot;&gt;The UART settings are: 38400 8n1&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: auto;&quot;&gt;You must use a voltage shifter (&lt;a href=&quot;http://www.6502.org/users/dieter/uart/uart_2.htm&quot;&gt;like max232&lt;/a&gt;) to connect it with a PC (I use BusPirate ). Connecting UART pins directly to a PC serial port may damage your stuff.&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: auto;&quot;&gt;As you can see the PCB is described as &quot;1DI604+EU.B1G&quot; so probably DI-604 and DIR-100 may have exactly the same hardware (perhaps only in specific revisions, as I didn&#39;t found any&amp;nbsp;matching DI-604 PCB photo)&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: auto;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: auto;&quot;&gt;BOOT UP dump:&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;color: grey; font-size: smaller;&quot;&gt;00.01.16(uClinux) (Aug 29 2006 12:52:10)&lt;br /&gt;
System Clock Rate: 180MHz, Memory Clock Rate: 130MHz&lt;br /&gt;
Detected flash size: total 2MB.&lt;br /&gt;
SDRAM MCR: E2A00000&lt;br /&gt;
SDRAM size: 16MB&lt;br /&gt;
Press &#39;w&#39; for alpha&#39;s web upgrade.&lt;br /&gt;
Press &#39;r&#39; to update run image, or &#39;a&#39; to change config,&lt;br /&gt;
or &#39;l&#39; to update loader, or &#39;g&#39; to load run image without updating Flash,&lt;br /&gt;
or &#39;2&#39; to enter L2 switch mode(50A), or &#39;3&#39; to enter L2 switch mode(50B) ...&lt;br /&gt;
ForceRunLoader=0 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loading runtime image ...&lt;br /&gt;
Imag Start Address =0xbe030000&lt;br /&gt;
Find a 7zip self-decompressed kernel image, Just GO!&lt;br /&gt;
************************************&lt;br /&gt;
Powered by Realtek RTL8650B SoC, rev 1&lt;br /&gt;
************************************&lt;br /&gt;
CPU revision is: 0000ff00&lt;br /&gt;
Init MMU (16 entries)&lt;br /&gt;
Primary instruction cache 0kB, linesize 0 bytes.&lt;br /&gt;
Primary data cache 0kB, linesize 0 bytes.&lt;br /&gt;
Linux version 2.4.26-uc0 (root@redhat9) (gcc version 3.3.3) #2 Thu Aug 24 20:15:20 CST 2006&lt;br /&gt;
Determined physical RAM map:&lt;br /&gt;
memory: 01000000 @ 00000000 (usable)&lt;br /&gt;
NOFS reserved @ 0x8030f730&lt;br /&gt;
On node 0 totalpages: 4096&lt;br /&gt;
zone(0): 4096 pages.&lt;br /&gt;
zone(1): 0 pages.&lt;br /&gt;
zone(2): 0 pages.&lt;br /&gt;
Kernel command line: root=/dev/mtdblock3 rootfstype=squashfs&lt;br /&gt;
IRR(0)=c0000000&lt;br /&gt;
Calibrating delay loop... 178.99 BogoMIPS&lt;br /&gt;
Memory: 13064k/16384k available (2121k kernel code, 3320k reserved, 100k data, 96k init, 0k highmem)&lt;br /&gt;
Dentry cache hash table entries: 2048 (order: 2, 16384 bytes)&lt;br /&gt;
Inode cache hash table entries: 1024 (order: 1, 8192 bytes)&lt;br /&gt;
Mount cache hash table entries: 512 (order: 0, 4096 bytes)&lt;br /&gt;
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)&lt;br /&gt;
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)&lt;br /&gt;
Checking for &#39;wait&#39; instruction...  unavailable.&lt;br /&gt;
POSIX conformance testing by UNIFIX&lt;br /&gt;
NEW PCI Driver...isLinuxCompliantEndianMode=False(Big Endian)&lt;br /&gt;
No PCI device exist!!&lt;br /&gt;
Linux NET4.0 for Linux 2.4&lt;br /&gt;
Based upon Swansea University Computer Society NET3.039&lt;br /&gt;
Initializing RT netlink socket&lt;br /&gt;
Starting kswapd&lt;br /&gt;
pty: 256 Unix98 ptys configured&lt;br /&gt;
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SERIAL_PCI enabled&lt;br /&gt;
Probing RTL8651 home gateway controller...&lt;br /&gt;
Initialize RTL865x ASIC and driver&lt;br /&gt;
chip name: 8650B, chip revid: 1&lt;br /&gt;
Initialize mbuf...&lt;br /&gt;
creating default 2 interfaces...eth0 IRR(6)=c0040000&lt;br /&gt;
eth1 ...OK&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;now is rome 3.4 running ........&lt;br /&gt;
DQoS module initialization success!&lt;br /&gt;
PPP generic driver version 2.4.2&lt;br /&gt;
PPP BSD Compression module registered&lt;br /&gt;
Amd/Fujitsu Extended Query Table v1.3 at 0x0040&lt;br /&gt;
number of CFI chips: 1&lt;br /&gt;
cfi_cmdset_0002: Disabling fast programming due to code brokenness.&lt;br /&gt;
Looking for mtd device mtd1:&lt;br /&gt;
Found a mtd1 image (0x20000), with size (0x10000).&lt;br /&gt;
Looking for mtd device mtd2:&lt;br /&gt;
Found a mtd2 image (0x30000), with size (0x9370c).&lt;br /&gt;
Looking for mtd device mtd3:&lt;br /&gt;
Found a mtd3 image (0xc370c), with size (0xd2000).&lt;br /&gt;
Creating 4 MTD partitions on &quot;Physically mapped flash&quot;:&lt;br /&gt;
0x00000000-0x00020000 : &quot;ldr&quot;&lt;br /&gt;
0x00020000-0x00030000 : &quot;alphafs&quot;&lt;br /&gt;
0x00030000-0x000c370c : &quot;kernel&quot;&lt;br /&gt;
0x000c370c-0x0019570c : &quot;squashfs&quot;&lt;br /&gt;
NET4: Linux TCP/IP 1.0 for NET4.0&lt;br /&gt;
IP Protocols: ICMP, UDP, TCP, IGMP&lt;br /&gt;
IP: routing cache hash table of 512 buckets, 4Kbytes&lt;br /&gt;
TCP: Hash tables configured (established 1024 bind 2048)&lt;br /&gt;
GRE over IPv4 tunneling driver&lt;br /&gt;
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.&lt;br /&gt;
VFS: Mounted root (squashfs filesystem) readonly.&lt;br /&gt;
Freeing unused kernel memory: 96k freed&lt;br /&gt;
IRR(3)=c3040000&lt;br /&gt;
initial console created on /dev/ttyS1&lt;br /&gt;
Shell invoked to run file: /etc/rc&lt;br /&gt;
Command: mount -t proc proc /proc&lt;br /&gt;
Command: mount -t ramfs ramfs  /var&lt;br /&gt;
Command: mkdir /var/tmp&lt;br /&gt;
Command: mkdir /var/ppp/&lt;br /&gt;
Command: mkdir /var/log&lt;br /&gt;
Command: mkdir /var/run&lt;br /&gt;
Command: mkdir /var/lock&lt;br /&gt;
Command: mkdir /var/flash&lt;br /&gt;
Command: #iwcontrol is required for RTL8185 Wireless driver&lt;br /&gt;
Command: #iwcontrol auth  &amp;amp;&lt;br /&gt;
Command: &lt;br /&gt;
Command: #busybox insmod /lib/modules/2.4.26-uc0/kernel/drivers/usb/quickcam.o&lt;br /&gt;
Command: &lt;br /&gt;
Command: /bin/webs -u root -d /www -i /var/run/thttpd.pid &amp;amp;&lt;br /&gt;
[9]&lt;br /&gt;
Command: &lt;br /&gt;
Command: #ifconfig wlan0 up promisc&lt;br /&gt;
Command: &lt;br /&gt;
Command: &lt;br /&gt;
Command: &lt;br /&gt;
Execution Finished, Exiting&lt;br /&gt;
&lt;br /&gt;
Sash command shell (version 1.1.1)&lt;br /&gt;
/&amp;gt; System initializing...Check the crc=0x29eccedf,file_des-&amp;gt;chksum=0x29eccedf!&lt;br /&gt;
Config info: &lt;br /&gt;
table total size[53784|0xd218] === max[196608|0x30000]!&lt;br /&gt;
rtl8651_user_pid set to 9&lt;br /&gt;
&lt;br /&gt;
WAN/LAN, Rx shift=10002&lt;br /&gt;
================runDNSProxy==================&lt;br /&gt;
session 0 do not have dns server ip...&lt;br /&gt;
[16]&lt;br /&gt;
cfg wan to dhcp client ...&lt;br /&gt;
&lt;br /&gt;
Set IGMP Default Upstream interface (eth0) ... SUCCESS!!&lt;br /&gt;
info, client (v0.9.9-pre) started&lt;br /&gt;
[22]&lt;br /&gt;
[24]&lt;br /&gt;
url filter default set to accept&lt;br /&gt;
PPPoE Passthru disabled.&lt;br /&gt;
Drop Unknown PPPoE PADT disabled.&lt;br /&gt;
IPv6 Passthru disabled.&lt;br /&gt;
IPX Passthru disabled.&lt;br /&gt;
NETBIOS Passthru disabled.&lt;br /&gt;
WebReset drule=0&lt;br /&gt;
moteAccessConfig&lt;br /&gt;
ReadPPPoESessionInfo: idx=0 id = 0&lt;br /&gt;
ReadPPPoESessionInfo: idx=1 id = 0&lt;br /&gt;
/www/Status/st_blocked.htm: No such file or directory&lt;br /&gt;
[27]&lt;br /&gt;
get lan ip c0a80001&lt;br /&gt;
enable my host is =routers.dlink.com=buffer from user space=QoSEnable=0 upLinkBand=128000!&lt;br /&gt;
Find a pair, argumenit=QoSEnable, value=0!pBuf=upLinkBand=128000!&lt;br /&gt;
Find a pair, argumenit=upLinkBand, value=128000!pBuf=!&lt;br /&gt;
tmpUpBW=128000, tmpRsBW=0!&lt;br /&gt;
get parameter: DQoS_enable= 0!&lt;br /&gt;
get parameter: upLinkBandWidth=128000 kbits!&lt;br /&gt;
get parameter: VoIP reserved bandwidth=0 kbits!&lt;br /&gt;
interface: eth1&lt;br /&gt;
config   : /var/neap.conf&lt;br /&gt;
get vendor = ALPHA&lt;br /&gt;
get model = DIR-100&lt;br /&gt;
get version = v0.5.0&lt;br /&gt;
get secret = &lt;br /&gt;
eth1: ip:192.168.0.1, mask:255.255.255.0, mac 00:17:9a:db:36:ea&lt;br /&gt;
eth1 (ip) = 192.168.0.1, (netmask) = 255.255.255.0, adapter index 3&lt;br /&gt;
adapter hardware address 00:17:9a:db:36:ea&lt;br /&gt;
Into Server listen!!&lt;br /&gt;
nothing to monitor&lt;br /&gt;
info, server (v0.9.9-pre) started&lt;br /&gt;
error, max_leases value (254) not sane, setting to 100 instead&lt;br /&gt;
error, Unable to open /var/udhcpd.leases for reading&lt;br /&gt;
[31]&lt;br /&gt;
auto ,en ,dir = /www&lt;br /&gt;
dhcpc client deconfig&lt;br /&gt;
ifCfgParam[0].ipAddr: 0.0.0.0&lt;br /&gt;
ifCfgParam[0].ipMask: 0.0.0.0&lt;br /&gt;
ifCfgParam[0].gwAddr: 0.0.0.0&lt;br /&gt;
ifCfgParam[0].dnsPrimaryAddr: 0.0.0.0&lt;br /&gt;
rtl8651_delNaptMapping: ret -6&lt;br /&gt;
rtl8651_delRoute(default): ret -3&lt;br /&gt;
rtl8651_delIpIntf: ret -2710&lt;br /&gt;
target 239.0.0.0&lt;br /&gt;
SIOCDELRT: No such process&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;As the flash memory size is only 2Mb it may be hard to fit an open-wrt or dd-wrt distro, however it&#39;s not&amp;nbsp;impossible&amp;nbsp;as I&#39;ve seen open-wrt running on Edimax BR-6104.&lt;br /&gt;
Alternatively I will try to compile and run original D-link source codes&amp;nbsp;available&amp;nbsp;here:&lt;br /&gt;
&lt;a href=&quot;ftp://ftp.dlink.co.uk/GPL/DIR-100_GPL.rar&quot;&gt;ftp://ftp.dlink.co.uk/GPL/DIR-100_GPL.rar&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://hwmayer.blogspot.com/feeds/536594468889948895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6225405901806401667/536594468889948895?isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/536594468889948895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6225405901806401667/posts/default/536594468889948895'/><link rel='alternate' type='text/html' href='http://hwmayer.blogspot.com/2010/09/d-link-dir-100-uart.html' title='D-link DIR-100 UART'/><author><name>hwmayer</name><uri>http://www.blogger.com/profile/01674352074644424782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx-hyW6MwNZY47gS5HdtergnILxEqb-jXSthYaq8FGgRtSQ0wBNvekHxLbZzY98xFyFd4rOi479xsqkl3c_2L-nGlwhQatnDY9NcPxn58My0ajan7seCEGMTcj87LamVWJrQkK5Fjctb5A/s72-c/DSCN2499.JPG" height="72" width="72"/><thr:total>6</thr:total></entry></feed>