tag:blogger.com,1999:blog-51263793209548371962024-03-18T03:03:41.995+00:00A Slice of Raspberry PiGetting to know the Raspberry Pi and what it can do...Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.comBlogger54125tag:blogger.com,1999:blog-5126379320954837196.post-51909713276961672062016-08-19T22:22:00.000+01:002016-08-20T20:12:39.471+01:00Setting up a Raspberry Pi WSPR Station In some of previous posts, I've discussed how it is possible to generate RF directly from the Raspberry Pi using the clock pin, and I've also mentioned the excellent LPF kits for the Raspberry Pi available from <a href="http://shop.languagespy.com/collections/amateur-radio-kits" target="_blank">Language Spy</a>. In this post, I'm going to bring this all together and show you how to setup a simple WSPR station using the Raspberry Pi.<br />
<br />
<a href="https://en.wikipedia.org/wiki/WSPR_(amateur_radio_software)" target="_blank">WSPR</a> is a QRP semi automatic "beacon" mode developed by <a href="https://en.wikipedia.org/wiki/Joseph_Hooton_Taylor_Jr." target="_blank">Joe Taylor</a>, K1JT and is an excellent way to determine propagation conditions, or to test the effectiveness of an antenna system<br />
<br />
I would recommend starting off with an up-to-date version of Raspbian Jessie which can be downloaded from <a href="https://www.raspberrypi.org/downloads/" target="_blank">RaspberryPi.org</a>.<br />
<br />
The first thing to do is to check your Pi has the correct date and time. You can force your Pi to update it's internal clock by typing the following at the command prompt and pressing <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo ntpd_</span></span><br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: white;"><br /></span></span>You can check the time is correct by typing "date" at the command prompt and pressing <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter.</span></strong><br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> date_</span></span><br />
<br />
Use "git" to fetch a copy of the WsprryPi code from the Git repository by typing the following at the command prompt and pressing <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> git clone https://github.com/JamesP6000/WsprryPi.git_</span></span><br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: white;"><br /></span></span>
Navigate into the folder where the WsprryPi code is by typing the following at the command prompt and pressing <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> cd WsprryPi_</span></span><br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: white;"><br /></span></span>
Compile the WsprryPi code by typing "make" at the command prompt and pressing <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter.</span></strong><br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> make_</span></span><br />
<br />
Install the code by typing the following at the command prompt and pressing <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo make install_</span></span><br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: white;"><br /></span></span>
Your WSPR station is now almost ready to go, however please note that in order to use this software and to transmit you <b><i>MUST </i></b>be a fully licenced radio amateur.<br />
<br />
Decide which band you wish to transmit on, and install an appropriate LPF filter for that band. The photo below shows my Pi with one of Language Spy's 20m LPF filters installed.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj75jp8pmby59pref7OMRNvDnbAZko-XDHU3pny-cUezQNhPfkU0hq1b26MFmoZIxG7N9VCFOBvcp3NmEL8zBqVhdLRg8R3HxWH8zxFAzPndO3y97-r3kGfljgANbjN4sZRMt3kXgUkn1UC/s1600/wsprpi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj75jp8pmby59pref7OMRNvDnbAZko-XDHU3pny-cUezQNhPfkU0hq1b26MFmoZIxG7N9VCFOBvcp3NmEL8zBqVhdLRg8R3HxWH8zxFAzPndO3y97-r3kGfljgANbjN4sZRMt3kXgUkn1UC/s640/wsprpi.jpg" width="640" /></a></div>
<br />
<br />
You can get help on the <b>wspr </b>command by typing the following at the command prompt and pressing <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> wspr -h_</span></span><br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: white;"><br /></span></span>
You need to use various options and enter some arguments when you run <b>wspr</b>. The command you'll need to enter will be in the following format:<br />
<br />
<b>sudo wspr -r -o -s <i>CALLSIGN LOXX </i></b><b>10 <i>BAND </i>0</b><br />
<br />
But you must...<br />
<br />
replace <b><i>CALLSIGN </i></b>with your amateur radio callsign<br />
<br />
replace <b><i>LOCATOR </i></b>with your 4 digit Maidenhead Locator code.<br />
<br />
replace <b><i>BAND</i></b> with the band you want to transmit on. Suitable entries would be "20m", "40m" etc<br />
<br />
The option "<b>-r</b>" tells the WsprryPi software to repeat the transmission sequence indefinitely, until you press "Ctrl-C"<br />
<br />
The option "<b>-o</b>" tells the WsprryPi software to use a random offset for each transmission<br />
<br />
The option "<b>-s</b>" tells the WsprryPi software to self-calibrate<br />
<br />
The "<b>10</b>" tells the WsprryPi software that your transmitter power is 10dBm (i.e. 10mW)<br />
<br />
The final "<b>0</b>" tells the WsprryPi software alternatively transmit for 2 minutes and then wait for 2 minutes.<br />
<br />
You can check to see who is hearing your transmission by going to the <a href="http://wsprnet.org/drupal/" target="_blank">WSPRnet </a>site and searching for your callsign. I find the "Map" feature very helpful - simply enter your callsign and the band you have been using and you will get a map of the world showing the locations of receiving stations.<br />
<br />
Here's a screenshot of my results from as few days ago.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlqb6JueSrKlOCzstcfC_JRXPJOz2a1g3y97JOyISZBoVTO6GZejNxhcEtFn_wEQZNgps7DHNwdOS6YDsYDB_cSAt5M3n6YV3a3ne4deJHU6mFXIdxq_0R-ibN2A6j6Npc6c_aNtGojhIl/s1600/wspr3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlqb6JueSrKlOCzstcfC_JRXPJOz2a1g3y97JOyISZBoVTO6GZejNxhcEtFn_wEQZNgps7DHNwdOS6YDsYDB_cSAt5M3n6YV3a3ne4deJHU6mFXIdxq_0R-ibN2A6j6Npc6c_aNtGojhIl/s640/wspr3.png" width="640" /></a></div>
<br />
It's amazing the fun you can have with just 10mW!<br />
<br />
Once you are happy that all is working as it should, you can run your Pi in "headless" mode and use SSH from another computer (or your phone) to launch the WsprryPi program.<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com30tag:blogger.com,1999:blog-5126379320954837196.post-17212824724648208012016-03-11T20:04:00.001+00:002016-03-13T23:40:48.516+00:00Running the RPi Wobbulator under Raspbian JessieIt has been a while since my last post, and the world has moved on in the meantime....<br />
<br />
Raspbian "Wheezy" has been superceeded by "Jessie", which has extra bells and whistles and is, in many ways, easier to setup. Also, the Raspberry Pi Wobbulator has evolved thanks to the efforts of Gray Remlin, who has rewritten and developed the code. In this post I'm going to assume you are starting off with a fresh Raspian Jessie image and I'm going to go through what you need to do to run the latest vesrion of the Raspberry Pi Wobbulator software.<br />
<br />
When Jessie first boots up, it will boot straight to the GUI, and you should see something very similar to the following screenshot.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj5AmBVM9V4SNWgAsKl4sCSnYSNcPJRHS5JBybdhGhWY_qKGB7NQ-XuxuAQ4FK1e6VQKy5oRyEiWQr6y68czE-CRN5pJ7J1wuOoZdLbX_NXP_BSEeu2bdtRRv10nnx96YPagG8eeZZeQKW/s1600/jessie0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj5AmBVM9V4SNWgAsKl4sCSnYSNcPJRHS5JBybdhGhWY_qKGB7NQ-XuxuAQ4FK1e6VQKy5oRyEiWQr6y68czE-CRN5pJ7J1wuOoZdLbX_NXP_BSEeu2bdtRRv10nnx96YPagG8eeZZeQKW/s640/jessie0.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
The first thing to do is to expand the file system on your newly created SD card. This can be done by clicking on Menu -> Preferences -> Raspberry Pi Configuration as shown in the following screenshot.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg4sJK9BaZvd2vyH1G23E2CmuDYJt38mfHaIu87eDF4XZkt4DRh7revWxJdxLvRHqRLavfsIIEQscmPkhM1UxIhO02BPMMZB7rDCWQE_dtdULWR-5nDx9-HDLGnzUKFUv6NltYKFWK7Kif/s1600/jessie1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg4sJK9BaZvd2vyH1G23E2CmuDYJt38mfHaIu87eDF4XZkt4DRh7revWxJdxLvRHqRLavfsIIEQscmPkhM1UxIhO02BPMMZB7rDCWQE_dtdULWR-5nDx9-HDLGnzUKFUv6NltYKFWK7Kif/s640/jessie1.png" width="640" /></a></div>
<br />
<br />
The Raspberry Pi Configuration window will open up. Click on "Expand Filesystem"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh193VT77DyT0bsRdAbKjYNVjNZGDN3gbBD6Y3Avq8glu9IGH87j7GyduC6LZ1K-1AkxJ0BhvfJSMcxJAo5ZEw7rT8ftTKblgVzTmRhzfzfoF8Q5wtv4q_tKha3DkrnMhJC7i0eQ58dJmum/s1600/jessie2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh193VT77DyT0bsRdAbKjYNVjNZGDN3gbBD6Y3Avq8glu9IGH87j7GyduC6LZ1K-1AkxJ0BhvfJSMcxJAo5ZEw7rT8ftTKblgVzTmRhzfzfoF8Q5wtv4q_tKha3DkrnMhJC7i0eQ58dJmum/s1600/jessie2.png" /></a></div>
<br />
<br />
After a short delay, you'll see the following message. Click on "OK"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMd-jovq8yGDddXOJaSawq_mxGbTgrCSMwMYiP1EAsW_2MCAuLJhRaPJ4gAuhKX6ZM8qLobk5JS8DnTYg7rqZZvbUn_Os6eVsbEs7iAv1lRsMNKAR1JIxoRajvP9nhTDyG_PBZeePfVisf/s1600/jessie3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMd-jovq8yGDddXOJaSawq_mxGbTgrCSMwMYiP1EAsW_2MCAuLJhRaPJ4gAuhKX6ZM8qLobk5JS8DnTYg7rqZZvbUn_Os6eVsbEs7iAv1lRsMNKAR1JIxoRajvP9nhTDyG_PBZeePfVisf/s1600/jessie3.png" /></a></div>
<br />
<br />
Click "OK" again on the Raspberry Pi Configuration window and you will see the following message. Click "Yes" to reboot your Pi.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGTjV7TU5P06LGyxqfUNFB64t86BWLpG0QOGXa36j-aZ8ioTnV9u4kCexxrFuvnlBn-yGlRieAhGxloI0IhM4tJD3JwllMazejvfQIRVf1cl2GQr44lAZI-BheiBcWpcLh43vFAflv-Fop/s1600/jessie4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGTjV7TU5P06LGyxqfUNFB64t86BWLpG0QOGXa36j-aZ8ioTnV9u4kCexxrFuvnlBn-yGlRieAhGxloI0IhM4tJD3JwllMazejvfQIRVf1cl2GQr44lAZI-BheiBcWpcLh43vFAflv-Fop/s1600/jessie4.png" /></a></div>
<br />
Wait for your Pi to reboot...<br />
<br />
Now, if (like me) you are used to having the task bar (or menu bar) at the bottom of the screen, this can be done by clicking on Menu -> Preferences -> Appearance Settings as shown below<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3P8Ha2ZxI4Mrigj6a-E24-51P0cBF3twzGqAApfmo61vGGXL85KEEes6uy1I9hfkEVUVIZXUQg9YC4eJ4LHiV-1wSBW0TU9UrYYEtVoN9TrjPwDtfRxQpcwkuQ2OEgBclB5xT4C3giz7j/s1600/jessie5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3P8Ha2ZxI4Mrigj6a-E24-51P0cBF3twzGqAApfmo61vGGXL85KEEes6uy1I9hfkEVUVIZXUQg9YC4eJ4LHiV-1wSBW0TU9UrYYEtVoN9TrjPwDtfRxQpcwkuQ2OEgBclB5xT4C3giz7j/s640/jessie5.png" width="640" /></a></div>
<br />
When the Appearance Settings window appears, click on the "Position" attribute and change it from "Top" to "Bottom"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZd6MzZ7e5HrLLeD6KJOYinZ8JsyNV3Q9_E_aEjpzVmEYJaNYHTwzRWQG2SbZJEBCfnNqsDtGJ0YmkO-rpJbCzBnqod2jg14xQkmaHoAN9xx9Mmj8vhx4lv2WjNXor8ycz-sKSTE0YW-j4/s1600/jessie6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZd6MzZ7e5HrLLeD6KJOYinZ8JsyNV3Q9_E_aEjpzVmEYJaNYHTwzRWQG2SbZJEBCfnNqsDtGJ0YmkO-rpJbCzBnqod2jg14xQkmaHoAN9xx9Mmj8vhx4lv2WjNXor8ycz-sKSTE0YW-j4/s1600/jessie6.png" /></a></div>
<br />
<br />
This will give you a more conventional screen layout<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm20sAWqYccD7RzKWkAKYycPEMXZzMVSt5EqRlO_4PSqlqJ3BIKkHz1SnNDkrxvGYVHNvSmv1-D6JVXrkR5ylOZBvDxTGZWyG4EjBMO_Imdn1HPAG3_s1dLvKxDTZizy4LRa1dt_9waf3x/s1600/jessie7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm20sAWqYccD7RzKWkAKYycPEMXZzMVSt5EqRlO_4PSqlqJ3BIKkHz1SnNDkrxvGYVHNvSmv1-D6JVXrkR5ylOZBvDxTGZWyG4EjBMO_Imdn1HPAG3_s1dLvKxDTZizy4LRa1dt_9waf3x/s640/jessie7.png" width="640" /></a></div>
<br />
<br />
Now you need to enable the I2C bus. Click on Menu -> Preferences -> Raspberry Pi Configuration as shown below<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKsA6kB7BQ-8Ny5ttn_SgvS6UBamptdiGZSGHKZpzAu0F4ljuDGfXa5o1IUL9Sts8WoSIE4hN7Nbx2pj-yHj1pTb0lkHAVoViRTBGOv2Z1yq38W9iPg7lRBMxkbhx9qV9guvV8kcNCH8G6/s1600/jessie8a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKsA6kB7BQ-8Ny5ttn_SgvS6UBamptdiGZSGHKZpzAu0F4ljuDGfXa5o1IUL9Sts8WoSIE4hN7Nbx2pj-yHj1pTb0lkHAVoViRTBGOv2Z1yq38W9iPg7lRBMxkbhx9qV9guvV8kcNCH8G6/s640/jessie8a.png" width="640" /></a></div>
<br />
When the Raspberry Pi Configuration window appears, click on the "Interfaces" tab and enable the I2C bus by clicking "Enabled"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglDyjLDNIekm-r9jZnIFZLOnWI8-FZcIFsSIHmgaU8PJv4PtojCOiWK1L-wLDqJpgX-_akGNIfWo5-EmLXZ7VWrR0VX_lsxa5TKOlfz1SV6LCKUzBpDETn4hRb4mPustDdbMrfWuorJHlM/s1600/jessie8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglDyjLDNIekm-r9jZnIFZLOnWI8-FZcIFsSIHmgaU8PJv4PtojCOiWK1L-wLDqJpgX-_akGNIfWo5-EmLXZ7VWrR0VX_lsxa5TKOlfz1SV6LCKUzBpDETn4hRb4mPustDdbMrfWuorJHlM/s1600/jessie8.png" /></a></div>
<br />
When you click on "OK" you will be asked if you want to reboot now. Click "Yes" to reboot your Pi.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGTjV7TU5P06LGyxqfUNFB64t86BWLpG0QOGXa36j-aZ8ioTnV9u4kCexxrFuvnlBn-yGlRieAhGxloI0IhM4tJD3JwllMazejvfQIRVf1cl2GQr44lAZI-BheiBcWpcLh43vFAflv-Fop/s1600/jessie4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGTjV7TU5P06LGyxqfUNFB64t86BWLpG0QOGXa36j-aZ8ioTnV9u4kCexxrFuvnlBn-yGlRieAhGxloI0IhM4tJD3JwllMazejvfQIRVf1cl2GQr44lAZI-BheiBcWpcLh43vFAflv-Fop/s1600/jessie4.png" /></a></div>
<br />
<div>
Wait for your Pi to reboot...<br />
<br />
Open a terminal window by clicking on the "Terminal" icon on the task bar.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJEa7xO0K2RPTn2mDGNQW0aAuQhMbKZvzgTzaxphY0bUAOUj0ET8kvOdXJcnKqVIPtk-81mAF68fpkzj7PdcRB6N7GozjegjCZBXRyHWjOIOv8V1bKQ6VYGaJimRJ_d8RXR0-2URVtZcAu/s1600/jessie9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJEa7xO0K2RPTn2mDGNQW0aAuQhMbKZvzgTzaxphY0bUAOUj0ET8kvOdXJcnKqVIPtk-81mAF68fpkzj7PdcRB6N7GozjegjCZBXRyHWjOIOv8V1bKQ6VYGaJimRJ_d8RXR0-2URVtZcAu/s640/jessie9.png" width="640" /></a></div>
<br />
<br /></div>
Now you need to install the “i2c-tools” package. Type the following at the command prompt and press <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get install i2c-tools_</span></span><br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: white;"><br /></span></span>Go and make a cup of tea or coffee.....this will take a few minutes to complete.<br />
<br />
When you get back to the command line, install the “python3-smbus” package by typing the following at the command prompt and pressing <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get install python3-smbus_</span></span><br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: white;"><br /></span></span>
Now you're ready to download the RPi Wobbulator software from GitHub. Type the following at the command prompt and press <strong><span style="font-family: "trebuchet ms" , sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> git clone https://github.com/mi0iou/RPi_Wobbulator.git_</span></span><br />
<span style="background-color: black; font-family: "courier new" , "courier" , monospace;"><span style="color: white;"><br /></span></span>
When this has finished, close the Terminal window and launch IDLE by clicking on on Menu -> Programming -> Python 3 (IDLE) as shown below<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyZYfgK4c46TkkoA4KycOTnu0KqYBpnjMFkPqj1ZiPIYfPix37wxH7MbJeltTbW61RgiHdwetoNOyw7tow04uEkl0P5au_Ae5w-GooYU1GDCMd0bAnnehH-8gJLvzeRpYu9U4_KAajGZwk/s1600/jessie10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyZYfgK4c46TkkoA4KycOTnu0KqYBpnjMFkPqj1ZiPIYfPix37wxH7MbJeltTbW61RgiHdwetoNOyw7tow04uEkl0P5au_Ae5w-GooYU1GDCMd0bAnnehH-8gJLvzeRpYu9U4_KAajGZwk/s640/jessie10.png" width="640" /></a></div>
<br />
When the "Python 3.4.2 Shell" window appears, click on File -> Open as shown below<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIgnd8mUhvw6cldE6OnlfzDlCZ4WrK9PmiaPU6iO-pDqPvtpiPi6JpXbmGoK8CXaJWfDLi7U5hULQ5Ey6yQz2zkd5n-NeT9Rd-NVWwnBL-hNLzMnoTKJZ-vR6ih4Cokh6tTsawisB9No9Y/s1600/jessie11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="626" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIgnd8mUhvw6cldE6OnlfzDlCZ4WrK9PmiaPU6iO-pDqPvtpiPi6JpXbmGoK8CXaJWfDLi7U5hULQ5Ey6yQz2zkd5n-NeT9Rd-NVWwnBL-hNLzMnoTKJZ-vR6ih4Cokh6tTsawisB9No9Y/s640/jessie11.png" width="640" /></a></div>
<br />
...and when the "Open" dialogue appears, double click on the "RPi_Wobbulator" folder...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv_TVhFM0R9xIMszaHHTpupwLg8O2_tqkWiT8uFzNHqK4wNX1JN0gNrWTZD0L-trzy-ZsK25UxwqDqTnbM_-ynShTfJsZK94Saw7_Amjf8e8ipVt0zT3vxP2ot4n8ruSQw9p_c1YmM7GqB/s1600/jessie12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv_TVhFM0R9xIMszaHHTpupwLg8O2_tqkWiT8uFzNHqK4wNX1JN0gNrWTZD0L-trzy-ZsK25UxwqDqTnbM_-ynShTfJsZK94Saw7_Amjf8e8ipVt0zT3vxP2ot4n8ruSQw9p_c1YmM7GqB/s1600/jessie12.png" /></a></div>
<br />
...and then click on the file "rpi_wobulator.py" and click "Open"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb-bt_F12RXMz1dhrENzooHKi696UNnVumO9ayqYH38OkUrr7kIozXClahRQWyr_bo0lVPM6zV7_uWRLz1mbgZb9p7GJa8UZ73FvFkfK7bFkNQ3CGSnJgbohHWNC9ihbn5vjPhyphenhyphen5NaheS7/s1600/jessie13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb-bt_F12RXMz1dhrENzooHKi696UNnVumO9ayqYH38OkUrr7kIozXClahRQWyr_bo0lVPM6zV7_uWRLz1mbgZb9p7GJa8UZ73FvFkfK7bFkNQ3CGSnJgbohHWNC9ihbn5vjPhyphenhyphen5NaheS7/s1600/jessie13.png" /></a></div>
<br />
This will load the program and display the code in a separate window. To run the software, click on Run -> Run Module at the top of the code window<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBQpbotg18YUPgGvtlZFVCQByBLlNcpucs7Y43JbeuM6RL0zSYudUiPGt09_09K1MgPt3pIAI5_j-SrRvCbUkHkHu2OwJ7Jz1JA8OqLmFs8Rs0B8vwvgz8ztAEUUeUTLeQiEFFftk4WVBP/s1600/jessie14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="626" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBQpbotg18YUPgGvtlZFVCQByBLlNcpucs7Y43JbeuM6RL0zSYudUiPGt09_09K1MgPt3pIAI5_j-SrRvCbUkHkHu2OwJ7Jz1JA8OqLmFs8Rs0B8vwvgz8ztAEUUeUTLeQiEFFftk4WVBP/s640/jessie14.png" width="640" /></a></div>
<br />
This will launch the main RPi Wobbulator window<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjahFD1VTv2z_EuDu3vw_EUrppqSlsW68lpYocZZNKXMqbQTImlhOm5593dhxQSF4JngndtxXhh68ipZtJyNHzu3TaV6464wm5DvluFx0VG13x1RQbRrjwFqwMnvTm06mTu1eeu6NxxnbgO/s1600/jessie15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjahFD1VTv2z_EuDu3vw_EUrppqSlsW68lpYocZZNKXMqbQTImlhOm5593dhxQSF4JngndtxXhh68ipZtJyNHzu3TaV6464wm5DvluFx0VG13x1RQbRrjwFqwMnvTm06mTu1eeu6NxxnbgO/s640/jessie15.png" width="631" /></a></div>
<br />
The following screenshot shows the Wobbulator being used to examine the characteristics of a 30m Low Pass Filter built from a kit supplied by <a href="http://shop.languagespy.com/collections/amateur-radio-kits" target="_blank">Language Spy</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrIoQJvSVwZ_UJ34CyaijlJpwmdhKVSQk98zDUlUNd2pfCi8au4ktcJ9s0zVPf9O3VMbc2QWOOHxjVjHeS6N_0pgoWlA4AK34W9U6pVibc7LAESAzvoZ87VMDcnzqaOMxCSKzIxjBH-GrG/s1600/jessie16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrIoQJvSVwZ_UJ34CyaijlJpwmdhKVSQk98zDUlUNd2pfCi8au4ktcJ9s0zVPf9O3VMbc2QWOOHxjVjHeS6N_0pgoWlA4AK34W9U6pVibc7LAESAzvoZ87VMDcnzqaOMxCSKzIxjBH-GrG/s640/jessie16.png" width="630" /></a></div>
<br />
Full details of the LPF kit from Language Spy are available <a href="http://shop.languagespy.com/collections/frontpage/products/pi-lpf-low-pass-filter-kit-for-the-raspberry-pi" target="_blank">here</a>, and they supply a range of Raspberry Pi related kits in their <a href="http://shop.languagespy.com/" target="_blank">shop</a>, which is well worth a visit.<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com8tag:blogger.com,1999:blog-5126379320954837196.post-22191146870321976692015-09-20T22:16:00.000+01:002015-09-20T22:25:28.313+01:00Using a Bluetooth keyboard with the Raspberry PiBluetooth is really useful for wirelessly connecting peripherals to your Raspberry Pi. I wanted to use a bluetooth keyboard with my Raspberry Pi, but to do this, first of all I needed a Bluetooth adapter like the one shown below, which is available from <a href="http://www.cutpricecables.co.uk/irpi.html" target="_blank">Cut Price Cables</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjDQWlmN3mgWdXsvvL0BlNttpMS8ZgzUQAtkU9wOfeE3LczjWBAlleOucYeVT_xRiSOFH6tl6he_YVH5aa4kbo-tRABUonXtI-4GHf3WaWe1ssB2ZaGqVXi_qyyYH_GBlchy-sQ7r1PO0i/s1600/rpiblue2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjDQWlmN3mgWdXsvvL0BlNttpMS8ZgzUQAtkU9wOfeE3LczjWBAlleOucYeVT_xRiSOFH6tl6he_YVH5aa4kbo-tRABUonXtI-4GHf3WaWe1ssB2ZaGqVXi_qyyYH_GBlchy-sQ7r1PO0i/s1600/rpiblue2.jpg" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
To configure your Raspberry Pi to use Bluetooth, first of all you need to make sure your system is up to date by typing the following at the command line prompt and pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get update_</span></span><br />
<br />
Your Raspberry Pi will now download and install the latest repository database files and will report it's progress by displaying various lines of text on your screen. When completed type "sudo apt-get upgrade" at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get upgrade_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>This will instruct your Raspberry Pi to download and install the latest updates for all the software installed on your system. This may be a large download and may take a while. Once again as it is progressing you will see a lot of text scrolling up your display screen.<br />
<br />
Now it's time to install the Bluetooth drivers. Type the following at the command line prompt and and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get install bluetooth_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>This will install Bluetooth support, and will take a few minutes. Time for a coffee...<br />
<br />
After this has completed, type "sudo apt-get install blueman" and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get install blueman_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>This will install a graphical management utility for Bluetooth.<br />
<br />
Finally, you need to add yourself (pi) to the bluetooth user group by typing "sudo usermod -G bluetooth -a pi" and pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo usermod -G bluetooth -a pi_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>
Now power down your Raspberry Pi by issuing the "sudo halt" command and pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo halt_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>
Insert your Bluetooth adapter in to a spare USB socket on your Raspberry Pi (or hub) and power your Raspberry Pi back up. Log in and start the GUI by typing "startx" at the command line prompt and pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> startx_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>
You should find that the Bluetooth manager loads automatically, as shown by the Bluetooth symbol on the menu bar.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_fEgvZ9KYsVZcbLvFLHxY4NvRW7hwsDYRO5jG7_sUzu_1bVx_DNtnJyr0UJI6elzDIRd4v38XEa8-h5TbBe4a2bB6bJbAA3B_39kjJ2ARvbAmnBw49B9v5wsFrGqqnb4AJplBKEf0_1hu/s1600/bluetooth1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_fEgvZ9KYsVZcbLvFLHxY4NvRW7hwsDYRO5jG7_sUzu_1bVx_DNtnJyr0UJI6elzDIRd4v38XEa8-h5TbBe4a2bB6bJbAA3B_39kjJ2ARvbAmnBw49B9v5wsFrGqqnb4AJplBKEf0_1hu/s640/bluetooth1.png" width="640" /></a></div>
<br />
Click on the Bluetooth Symbol to launch the graphical management utility for Bluetooth. You should see a window listing a number of Bluetooth devices.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Xn70yGrmbA0tzLiObDqj01nB8d1LXLcb0Rmw16z7QXc6JfpSV6TsXTOXSq5xIfvdd6121cprn3ZBt54NcxOUn4ia6YWYVwmfNpkGCm2z6CoeEZJLX7uLaF3frV34IMd1eGkMIAGO2lvE/s1600/bluetooth2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Xn70yGrmbA0tzLiObDqj01nB8d1LXLcb0Rmw16z7QXc6JfpSV6TsXTOXSq5xIfvdd6121cprn3ZBt54NcxOUn4ia6YWYVwmfNpkGCm2z6CoeEZJLX7uLaF3frV34IMd1eGkMIAGO2lvE/s640/bluetooth2.png" width="640" /></a></div>
<br />
<br />
If the device you wish to connect to (in my case a keyboard) is not shown, press the "pairing" button on your Bluetooth device and then click on "Search" and your Bluetooth keyboard should appear at the top of the list of devices:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHqSE31lNOHU6diApFmLIF4kzpE_Y7t6GAunro094YI0wsqcCZVzJEiwKvizTI09FHuku-WyZfQl3cBuZtSYUGZbhjjwHTEM5PXV9aKQTkfDgkUs50TBafKEekHndh3KeVBYSH2RFAvxSl/s1600/bluetooth3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHqSE31lNOHU6diApFmLIF4kzpE_Y7t6GAunro094YI0wsqcCZVzJEiwKvizTI09FHuku-WyZfQl3cBuZtSYUGZbhjjwHTEM5PXV9aKQTkfDgkUs50TBafKEekHndh3KeVBYSH2RFAvxSl/s640/bluetooth3.png" width="640" /></a></div>
<br />
Select your Bluetooth keyboard and click on "Setup". A window entitled "Pairing" should appear.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ-lPzgtqWaiPSo7gCyppdUSEvhM7exgwUaKED3BNr0NbFt2Y59J_fuN3ZW4oDiuPcyKz9Zle75x9nnJqYuXXBFYzJQ-VaaoCVzr7PD3uyH06SvGbK8BljxC6SvpkmsBTzIpb_nCNguANw/s1600/bluetooth4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ-lPzgtqWaiPSo7gCyppdUSEvhM7exgwUaKED3BNr0NbFt2Y59J_fuN3ZW4oDiuPcyKz9Zle75x9nnJqYuXXBFYzJQ-VaaoCVzr7PD3uyH06SvGbK8BljxC6SvpkmsBTzIpb_nCNguANw/s400/bluetooth4.png" width="345" /></a></div>
<br />
Leave the pairing method as "Use Random Passkey" and click "Forward". You will be prompted to enter a passkey on the Bluetooth keyboard. Enter the passkey and press <span style="font-family: Trebuchet MS, sans-serif;"><b>Enter</b></span><span style="font-family: Arial, Helvetica, sans-serif;">.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">You should now see a "Connect" window with the option "Connect to input service" preselected. Click "Forward" to continue:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBrdPZhC9wB3BNLZjUm7-i01AghZbbPhu6eFYUUsoQVzi5mtuMIGVZxC3vUV54-b_mx5BWpoSep3ZpM0n9IpaQW-X9FkZw55A24hQbsRvHp3GfZvLRHJzdvUcrNAIH4blJepRZdyP36uW9/s1600/bluetooth5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBrdPZhC9wB3BNLZjUm7-i01AghZbbPhu6eFYUUsoQVzi5mtuMIGVZxC3vUV54-b_mx5BWpoSep3ZpM0n9IpaQW-X9FkZw55A24hQbsRvHp3GfZvLRHJzdvUcrNAIH4blJepRZdyP36uW9/s400/bluetooth5.png" width="343" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">You should now receive conformation that the device has been paired and connected. </span><span style="font-family: Arial, Helvetica, sans-serif;">Click "Close" to exit setup.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIArSInp3Blci1YgmpORGhzZQavAj85WHlwhFdQUaeWq-kQkkB__sAP7OVprlwQd_mLnWl7E2_Y39XEC1m7vJRbr8R0FhLS9c6lupEQNftmG9OqLhPOClfe9IUZwW_1Zzl0LoTy7vqlnJM/s1600/bluetooth6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIArSInp3Blci1YgmpORGhzZQavAj85WHlwhFdQUaeWq-kQkkB__sAP7OVprlwQd_mLnWl7E2_Y39XEC1m7vJRbr8R0FhLS9c6lupEQNftmG9OqLhPOClfe9IUZwW_1Zzl0LoTy7vqlnJM/s400/bluetooth6.png" width="345" /></a></div>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">Finally mark the Bluetooth keyboard as "trusted" by clicking on the gold star.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwjio0HgCrr5ERQPJ9sS1ruCB4-OtcLLrKgU1MeSR8x2f2WbNt6oNhdxDSRzYtUjrgYyHsPbJDw6ofaDnMr6VNVQhHzypCWbNBZ4h4NbQom8Owgy0U8LUWpqwV2cssRdW3O425a0pn8UKF/s1600/bluetooth7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwjio0HgCrr5ERQPJ9sS1ruCB4-OtcLLrKgU1MeSR8x2f2WbNt6oNhdxDSRzYtUjrgYyHsPbJDw6ofaDnMr6VNVQhHzypCWbNBZ4h4NbQom8Owgy0U8LUWpqwV2cssRdW3O425a0pn8UKF/s640/bluetooth7.png" width="640" /></a></div>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">That's it!</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Now every time to power up your Raspberry Pi it will look for the Bluetooth keyboard you have just configured. When you come to login there may be a short delay before the Bluetooth keyboard connects, but if you wait a couple of seconds and try again it should work.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com6tag:blogger.com,1999:blog-5126379320954837196.post-49755595702679373412014-11-01T18:53:00.000+00:002014-11-01T18:54:30.504+00:00Using PiFM to transmit audio on any frequency up to 250 MHzThe first "hack" which allowed experimenters to use the Raspberry Pi's clock pin (GPIO 4) to transmit audio directly from the Raspberry Pi came from the <a href="http://www.icrobotics.co.uk/wiki/index.php/Main_Page" target="_blank">Imperial College Robotics Society</a> . Their "PiFM" module has since been modified and improved and is now capable of transmitting in 16 Bit Stereo on any frequency from about 1 MHz up to 250 MHz.<br />
<br />
It sounds too good to be true.... so I decided to try it out for myself!<br />
<br />
<b>WARNING - DO NOT</b> <b>connect your Raspberry Pi's clock pin (GPIO 4) to any kind of antenna (even a short length of wire) when performing any of these tests!</b><br />
<br />
Full details of the "PiFM" module may be found <a href="http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter" target="_blank">here</a>, and you can download it as a ".tar.gz" archive <a href="http://omattos.com/pifm.tar.gz">here</a>. Once you have downloaded the archive to your Raspberry Pi, extract the files, open a terminal window on your Raspberry Pi and go to the folder containing the extracted files (in my case the Downloads folder). The folder should contain the flollowing six files:<br />
<br />
<div style="text-align: left;">
left_right.wav - sample stereo ".wav" file</div>
<div style="text-align: left;">
sound.wav - sample music ".wav" file (Star Wars theme)</div>
<div style="text-align: left;">
pifm.c - pifm "c" source code</div>
<div style="text-align: left;">
pifm - compiled pifm module</div>
<div style="text-align: left;">
PiFm.pyc - Python bytecode for pifm</div>
<div style="text-align: left;">
PiFm.py - Python script for pifm</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Position a VHF portable radio close to your Raspberry Pi and tune it to a frequency where there is no transmission (in my case 100.0 MHz). Type the following at the command line prompt in the terminal window (but enter whatever frequency you want to use) and press <b>Enter</b>:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~/Downloads $</span><span style="color: white;"> sudo ./pifm sound.wav 100.0_</span></span><br />
<br />
Almost immediately you should hear the Star Wars theme playing on your portable radio. You can stop playback by pressing "Ctrl+C" or you can let the music play right to the end of the ".wav" file. However.....<b>PLEASE NOTE that in either case your Raspberry Pi will continue to transmit a carrier on the frequency you have chosen until it is rebooted or turned off, so please </b><b>DO NOT leave your Raspberry Pi transmitting a carrier after you have finished experimenting!</b><br />
<b><br /></b>
I decided to have a look at the spectrum of the transmitted RF signal, however my spectrum analyzer only covers up to 60MHz so I set the Raspberry Pi to generate a 30MHz signal. The spectrum is shown below:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd_a9lvYfjSBFH5TbbL6izzdht1IGkpgzmfKxRX-peUqcwyDrE_-pUyzUlatBXVLgNerQrmDvZ2YHJ-vT7c6dMJkvhM0P6XlSUvU9iLax7sk_7xFjnqcsbRl5jUVxQoSNrf1EcpMKRil54/s1600/pifm30.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd_a9lvYfjSBFH5TbbL6izzdht1IGkpgzmfKxRX-peUqcwyDrE_-pUyzUlatBXVLgNerQrmDvZ2YHJ-vT7c6dMJkvhM0P6XlSUvU9iLax7sk_7xFjnqcsbRl5jUVxQoSNrf1EcpMKRil54/s1600/pifm30.jpg" height="474" width="640" /></a></div>
<br />
You can see the "fundamental" signal at 30 MHz, but there are multiple strong subharmonic and harmonic spikes all over the RF spectrum. I also noted that if I tuned my receiver to any multiple of 30 MHz (e.g. 60MHz, 90MHz, 120MHz etc) I could clearly hear the transmitted signal, sometimes very strongly.<br />
<br />
<b>Therefore please DO NOT</b> <b>connect your Raspberry Pi's clock pin (GPIO 4) to any kind of antenna when performing any of these tests, because you will generate unwanted and potentially dangerous RF energy right across the electromagnetic spectrum.</b><br />
<b><br /></b>
Whilst it is very easy to use the Raspberry Pi's clock pin (GPIO 4) to generate an RF signal, and even transmit audio, the usefulness of this hack is severely limited by the huge amount of harmonic and subharmonic distortion in the signal (because it is basically a square wave). I've read many articles which suggest the Raspberry Pi may be a used as a low power transmitter for the amateur radio bands simply by using a low pass filter on the output, but I'd say even this is insufficient (due to the subharmonic distortion in the generated signal). To make any practical use of any RF signal generated by the Raspberry Pi in this way would require very good band pass filtering.</div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com12tag:blogger.com,1999:blog-5126379320954837196.post-52459518795966413832014-10-29T23:10:00.003+00:002014-10-29T23:10:50.220+00:00Generating Radio Frequencies using the "Clock" pin GPIO 4After many months of being busy with work, and more recently demonstrating the Raspberry Pi Wobbulator at radio rallies in Ireland and England, I have finally had the chance to return to doing what I enjoy most - experimenting with the Raspberry Pi.<br />
<br />
It has been known for some time that (with some clever coding) the Raspberry Pi can generate an FM signal in the VHF broadcast band and transmit music (from a .wav file) or the signal from a microphone over considerable distances (10's or metres) using no more than a short length of wire connected to the "clock" pin (GPIO 4). Click <a href="http://www.instructables.com/id/Raspberry-Pi-Radio-Transmitter/" target="_blank">here </a>for full details.<br />
<br />
More recently, I came across a modified version of the RPi.GPIO library which makes it very easy to generate radio frequencies using the Raspberry Pi's clock pin. Click <a href="https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/downloads/" target="_blank">here</a> for details, where you will also find many other useful tutorials.<br />
<br />
First of all, make sure your distro is up to date. For instructions on how to do this please click <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/02/updating-your-system.html" target="_blank">here</a>.<br />
<br />
To use the modified RPi.GPIO library you must first install the "python-dev" package, or the "python3-dev" package if (like me) you want to use Python 3. You can do this by using the "apt-get" command as follows:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get install python3-dev_</span></span><br />
<br />
Once this package has installed, download the modified RPi.GPIO library using the "wget" command:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> </span></span><span style="background-color: black; color: white; font-family: Courier New, Courier, monospace;">wget https://www.cl.cam.ac.uk/projects/</span><br />
<span style="background-color: black; color: white; font-family: Courier New, Courier, monospace;">raspberry</span><span style="background-color: black; color: white; font-family: Courier New, Courier, monospace;">pi</span><span style="background-color: black; color: white; font-family: Courier New, Courier, monospace;">/</span><span style="background-color: black; color: white; font-family: Courier New, Courier, monospace;">tutorials/robot/resources/RPi.GPIO-0.3.1a.zip</span><span style="background-color: black; color: white; font-family: 'Courier New', Courier, monospace;">_</span><br />
<br />
Extract the ".zip" file:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> unzip RPi.GPIO-0.3.1a.zip_</span></span><br />
<br />
Go to the "RPi.GPIO-0.3.1a" folder:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> cd RPi.GPIO-0.3.1a_</span></span><br />
<br />
And finally install the library using the following command:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo python3 setup.py install_</span></span><br />
<br />
This will take a while, but after it has finished, launch IDLE3 and enter the following few lines of Python code:<br />
<br />
<div class="MsoPlainText">
<b><span style="font-family: Courier New, Courier, monospace;">import RPi.GPIO as GPIO</span></b></div>
<span style="font-family: Courier New, Courier, monospace;"><b>
import time</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>GPIO.setmode(GPIO.BCM)</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>GPIO.setup(4,GPIO.ALT0)</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>GPIO.setclock(4,9500000)</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>GPIO.output(4,1)</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>time.sleep(10)</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>GPIO.output(4,0)</b></span><br />
<br />
These few lines of code will cause the Raspberry Pi to generate a frequency of 9.5 MHz on pin GPIO 4 for ten seconds and then turn off. In order to run the code, you will need to save the file first - I called mine "RPi_RF_Gen.py".<br />
<br />
I connected pin GPIO 4 to the input to an Oscilloscope so that I could have a look at the generated waveform, however I found that there was a DC component in the signal, so I connected pin GPIO 4 to the Oscilloscope via a small 10 pF capacitor. The waveform is shown below:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHteJXObq3m0c0bopQ_4DNbTdymqQUDfajW55MQtfjHO9JopYTO-sfvjmtfmC8_IaUszxb9_JvDvMYqvIRKkBjxfLzus-jUbdD0aLf-Sx8NiqDR06TUgiKCu8JCLVAMsu_DbuE3gUuBk6d/s1600/wave1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHteJXObq3m0c0bopQ_4DNbTdymqQUDfajW55MQtfjHO9JopYTO-sfvjmtfmC8_IaUszxb9_JvDvMYqvIRKkBjxfLzus-jUbdD0aLf-Sx8NiqDR06TUgiKCu8JCLVAMsu_DbuE3gUuBk6d/s1600/wave1.jpg" height="460" width="640" /></a></div>
<br />
"Clock" signals are square waves, but the observed waveform is slightly distorted, although some of this distortion may be down to the oscilloscope's sample rate. The Python code was run again, but this time the output from pin GPIO 4 was connected to a Spectrum Analyzer, producing the following results:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoVWN725OW8Eq1clRwbZm8xck4mkdNXaXY1B9iPqDH-GzwGxsXDPA_iumpK35me5swCkv8XCJb7TARlDy9RcaJiWoIUB17wuQ8mwvzbMk_c43-lRR6w1c7rm8PiC_L1Tw8-NwlQoVlXeiW/s1600/spectrum1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoVWN725OW8Eq1clRwbZm8xck4mkdNXaXY1B9iPqDH-GzwGxsXDPA_iumpK35me5swCkv8XCJb7TARlDy9RcaJiWoIUB17wuQ8mwvzbMk_c43-lRR6w1c7rm8PiC_L1Tw8-NwlQoVlXeiW/s1600/spectrum1.jpg" height="468" width="640" /></a></div>
<br />
The primary signal is at 9.5 MHz, but there are numerous harmonics right across the RF spectrum (which is typical of a square waveform). For some reason, the highest RF frequency I could generate with the Raspberry Pi was 9.5 MHz, even though the documentation relating to the modified RPi.GPIO library I installed stated that it was possible to generate frequencies up to 19 MHz.<br />
<br />
Therefore, using the modified RPi.GPIO library, it is possible to very easily generate RF frequencies using the Raspberry Pi clock pin GPIO 4, however the wave forms generated are square waves and as such contain multiple strong harmonics, and there appears to be an upper limit in frequency of 9.5 MHz when using this method.<br />
<br />Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com5tag:blogger.com,1999:blog-5126379320954837196.post-90193267995703046642014-07-14T10:16:00.000+01:002014-07-14T10:16:40.709+01:00Say "Hello" to the Raspberry Pi model B+The Raspberry Pi Foundation have just announced the launch of the new Raspberry Pi model B+!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilDYqXJubEhYwrNihrCIKS86o3J-pZRJvNHcmAl8Ryd-3jatJwO-OzR9jygA-UUOPHoDKx3DJ1NesoCvKQSJn3ffJJ0LSpFKaNzS1q8jqTXdjVUOMj7iDkuM2bKLtF9PXmymbwmxAQPsaS/s1600/RPi_Top.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilDYqXJubEhYwrNihrCIKS86o3J-pZRJvNHcmAl8Ryd-3jatJwO-OzR9jygA-UUOPHoDKx3DJ1NesoCvKQSJn3ffJJ0LSpFKaNzS1q8jqTXdjVUOMj7iDkuM2bKLtF9PXmymbwmxAQPsaS/s1600/RPi_Top.jpg" height="263" width="400" /></a></div>
<div style="text-align: center;">
<br /></div>
<br />
I was lucky enough to get my hands on one of the pre-production models and I've written a review of the new Raspberry Pi B+ on <a href="http://www.rs-online.com/designspark/electronics/eng/blog/introducing-the-raspberry-pi-b-plus" target="_blank">DESIGNSPARK</a>Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com3tag:blogger.com,1999:blog-5126379320954837196.post-32843311671125049952014-04-08T18:14:00.002+01:002014-04-08T21:13:42.794+01:00Back to Basics with the Raspberry Pi WobbulatorThe Raspberry Pi Wobbulator has evolved and now has many new features including X and Y scales and a continuoius sweep option. The latest version 2.7.1 is now available on <a href="https://github.com/mi0iou/RPi_Wobbulator/releases/tag/v2.7.1" target="_blank">GitHub</a> and has been uploaded to the <a href="https://groups.yahoo.com/neo/groups/rpiwobbulator/files" target="_blank">Yahoo group</a>. For those potential users new to Linux and the Raspberry Pi I thought that it might be time to recap (and update) some of the setup instructions for the Raspberry Pi.<br />
<br />
So, imagine you have just received your Raspberry Pi.You may or may not have received a preformatted SD(HC) card with it. If you have received a preformatted SD(HC) card with your Raspberry Pi, it probably contains the NOOBS OS loader software which gives you a choice of operating systems - please follow the instructions <a href="http://www.raspberrypi.org/help/noobs-setup/" target="_blank">here</a> to load Raspbian (Debian Wheezy).<br />
<br />
If you have not received a preformatted SD(HC) card with your Raspberry Pi (or you have and you don't want to use it), you'll need a blank SD(HC) card of at least 4GB capacity, like the one shown below (available from <a href="http://www.cutpricecables.co.uk/irpi.html" target="_blank">Cut Price Cables</a>):<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwY1J1YBIun6AE9z3O823JBI1s_bkGvGTFiAe_gX90BdvRObs3QFk7zabh2oIuJxI3QhsKhQhyphenhyphenELPUgznYXlVtg3NDR7VvrK-gnvQVyERZcuuExbTPiHZLY5ZVj-yWaNUHvWO2qPlekLQU/s1600/rpisd4g.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwY1J1YBIun6AE9z3O823JBI1s_bkGvGTFiAe_gX90BdvRObs3QFk7zabh2oIuJxI3QhsKhQhyphenhyphenELPUgznYXlVtg3NDR7VvrK-gnvQVyERZcuuExbTPiHZLY5ZVj-yWaNUHvWO2qPlekLQU/s1600/rpisd4g.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<br /></div>
The first thing you have to do is to download and install the latest version of Raspbian (Debian Wheezy). Go to <a href="http://www.raspberrypi.org/downloads" target="_blank">www.raspberrypi.org/downloads</a> and download the .zip file to your computer - it is quite a large download (about 780 MB) and there are various mirror sites where you can download it from.<br />
<br />
Once you have downloaded and extracted the .zip file you should have a .img file with a size of 2900000 KB (2.80 GB). This is the bootable image that you will write to your SD(HC) memory card.<br />
<br />
In order to write the bootable .img file to your SD(HC) memory card you need to download <a href="https://launchpad.net/win32-image-writer/0.6/0.6/+download/win32diskimager-binary.zip" target="_blank">Win32DiskImager</a> (I'm assuming here that, like me, you are a Windows user). Extract the .zip file in the directory (folder) you want to run it from. You can create a shortcut for Win32DiskImager on your Windows desktop by right clicking on the Win32DiskImager.exe file and selecting "Send To Desktop".<br />
<br />
Take your SD(HC) memory card - if it is brand new it should be ready formatted, but if you have previously used it in (for example) a digital camera you will need to format it in your digital camera first. If your computer has an inbuilt card reader/writer, insert the SD(HC) card into the card reader/writer slot. If your computer does not have an inbuilt card reader/writer then you will need a USB memory card reader/writer like the one shown below (available from <a href="http://www.cutpricecables.co.uk/irpi.html" target="_blank">Cut Price Cables</a>). Insert the SD(HC) card into the USB memory card reader/writer and then connect the USB memory card reader/writer to a USB port on your computer.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL3X4hBjhJFA-Faq7kiKZWnigwg99_HUPw-JFAoGxLv0IgLsX9N5k3Px_Ttv_8gMdrdqWsgITtlMajh8W1nipzwXcR3H1_c77YW7PxlrLQXt109wNx7EMM1szbipXIj9VNUQNifet8cgwQ/s1600/rpicrdrw.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL3X4hBjhJFA-Faq7kiKZWnigwg99_HUPw-JFAoGxLv0IgLsX9N5k3Px_Ttv_8gMdrdqWsgITtlMajh8W1nipzwXcR3H1_c77YW7PxlrLQXt109wNx7EMM1szbipXIj9VNUQNifet8cgwQ/s1600/rpicrdrw.jpg" /></a></div>
<br />
Double click on the Win32DiskImager shortcut on your Windows desktop and then click on "Run" if you get a Security Warning dialogue. The Win32DiskImager window should now be open.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6b-cfv0a1B_lJctlhnGQs43kZ_xRAU8zWAJRR0D_rOv-DDWmUh2F071lzdgyBYfggDT9m7F7-yo4c574L0yiaC8LNl7KxL2y0JyVMIGx_3JhqY_7TFYeLIE5o8lFqSpBLiLH0B2TYRNpV/s1600/Win32DiskImager.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6b-cfv0a1B_lJctlhnGQs43kZ_xRAU8zWAJRR0D_rOv-DDWmUh2F071lzdgyBYfggDT9m7F7-yo4c574L0yiaC8LNl7KxL2y0JyVMIGx_3JhqY_7TFYeLIE5o8lFqSpBLiLH0B2TYRNpV/s1600/Win32DiskImager.jpg" /></a></div>
<br />
Your SD(HC) card should show up under "Device" at the top right of the Win32DiskImager window - in the above screen shot the SD(HC) memory card is shown as D:\, but you may need to click on the drop down list to select the correct device.<br />
<br />
*** A word of warning - I have a Toshiba laptop with an inbuilt card reader/writer, but Win32DiskImager refuses to recognise a memory card inserted into the inbuilt card reader/writer - I don't know why! However it works fine with a USB memory card reader/writer...***<br />
<br />
Now all you have to do is click on the small folder icon to the left of the "Device" drop down list and navigate to and select the .img file you want to copy to the SD(HC) memory card. Then click on "Write" and "Yes" when asked to confirm overwrite.<br />
<br />
Writing the bootable image file to the SD(HC) memory card will take a few minutes. Once complete you should get a "Write successful" message - click "OK" and then click "Exit" to close the Win32DiskImager application. If you are using a USB memory card reader/writer you need to click on "Safely Remove Hardware" and then remove the USB device before removing the SD(HC) memory card.<br />
<br />
You should now have a bootable SD(HC) memory card for your Raspberry Pi.<br />
<br />
Connect your USB keyboard and mouse to the two USB ports on the Raspberry Pi. Connect the Raspberry Pi to a suitable display (TV or computer monitor) using an HDMI (or HDMI to DVI) cable. Insert the prepared SD(HC) memory card into the card slot on the underside of the Raspberry Pi. Finally insert the micro USB power connector (making sure that the power adapter is switched on at the mains outlet).<br />
<br />
If all goes well the red PWR (Power) LED on the Raspberry Pi board should light up and the ACT (Card Activity) LED should flash green. You will see many lines of text scrolling up on your display - this is normal. After a short time you will be presented with the Raspi-config screen:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd-DODxG_iAOb8JkDTHS-X7IB5-Z-4vH76UgQUEYDoWi7bKTqf6jD-zWJ4GdELZOu8RZw13GiQnlCB_8aJuFJc0qInPgWAEm2-woYYldY4_w5lgxDhnYveVTb0gQJwy39y3ZEPH-6vuItY/s1600/setup1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd-DODxG_iAOb8JkDTHS-X7IB5-Z-4vH76UgQUEYDoWi7bKTqf6jD-zWJ4GdELZOu8RZw13GiQnlCB_8aJuFJc0qInPgWAEm2-woYYldY4_w5lgxDhnYveVTb0gQJwy39y3ZEPH-6vuItY/s1600/setup1.png" height="223" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Select the "Expand Filesystem" command and press <span style="font-family: "Trebuchet MS", sans-serif;"><strong>Enter</strong></span>. This will expand the root partition on the SD(HC) card to use all the available space - if you don't execute this command the root partition will not use all the available space on the SD(HC) card. When you execute the "Expand Filesystem" command you will see some text scroll up your display and then you should see a dialogue confirming that the root partition has been resized:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipihnZ3s3bGGHqJ0e0oK3QjhYqo4Qw9GLcPQRIbM9y2n2Qb93SAZGelQcCEdUtgZThPd7LXMOjY1_sH3JqgOrkAJf1VputgXa8TS_FcbPRuN7meDrA4x4aX6HRWwf0_CUBRAqW9QdA2bR_/s1600/setup2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipihnZ3s3bGGHqJ0e0oK3QjhYqo4Qw9GLcPQRIbM9y2n2Qb93SAZGelQcCEdUtgZThPd7LXMOjY1_sH3JqgOrkAJf1VputgXa8TS_FcbPRuN7meDrA4x4aX6HRWwf0_CUBRAqW9QdA2bR_/s1600/setup2.png" height="222" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Press <strong><span style="font-family: "Trebuchet MS", sans-serif;">Enter</span></strong> to close this dialogue and return to the Raspi-config "home" screen. I would recommend that you don't select any of the other commands at this time - although the Raspi-config screen only appears the first time the Raspberry Pi is booted, it can be run again at any time from the command line (you'll see how to do this shortly). Use the right arrow key to move the cursor down until "Finish" is highlighted in red and then press <strong><span style="font-family: "Trebuchet MS", sans-serif;">Enter</span></strong>. You will see a dialogue asking you if you want to reboot now.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixCSsieJ1_qAPWgCC2launoc31EWQF7LL0S1u4Lqku1qzNwl0MK4avKa9hZXoE1MPrzDEiW7rrCh7D1u2WXaKpA_GNd-eeGyiL2rKQ_iLxymzBFDFVw0z5OJW5xvbo6wi9vPvVdKGYsEha/s1600/setup3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixCSsieJ1_qAPWgCC2launoc31EWQF7LL0S1u4Lqku1qzNwl0MK4avKa9hZXoE1MPrzDEiW7rrCh7D1u2WXaKpA_GNd-eeGyiL2rKQ_iLxymzBFDFVw0z5OJW5xvbo6wi9vPvVdKGYsEha/s1600/setup3.png" height="222" width="640" /></a></div>
<br />
<span style="font-family: inherit;">Press <span style="font-family: "Trebuchet MS", sans-serif;"><strong>Enter</strong></span> again to reboot the Raspberry Pi. Again you will see a lot of lines of text scroll up your display but eventually after the Raspberry Pi has rebooted you will see the following:<br /><br /><span style="background-color: black; color: white; font-family: "Courier New", Courier, monospace;">raspberrypi login: _</span><br /><br />Type "pi" and press <span style="font-family: "Trebuchet MS", sans-serif;"><strong>Enter</strong></span>. Now you will see the following:<br /><br /><span style="background-color: black; color: white; font-family: Courier New, Courier, monospace;">Password: _</span><br /><br />Type "raspberry" and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong> (note that this time as you type the letters will not appear on the screen - this is to protect the security of your password). You should see some text scroll up your display and then you should see the following prompt:<br /><br /><span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi</span><span style="color: blue;"> ~ $</span><span style="color: white;"> _</span></span><br /><br />This is the Linux command line prompt. From here you can enter commands directly - for example you can run the Raspi-config application simply by typing "sudo raspi-config" as follows and pressing </span><strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo raspi-config_</span></span><br />
<br />
Use the arrow keys to move down to the "Enable Boot to Desktop/Scratch" option and press <span style="font-family: "Trebuchet MS", sans-serif;"><strong>Enter</strong></span>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMPvJi4uMRUGxKiF2A8IhKeELIkPfZRDdnCdcYh8IRH5CxJAHUONf3DVas55aeybLEFiQ92-AzC7-WHHGpgFAj9Frw-53b4Bj4xF_UJFoyHitHjNL1vhWDehRAEAAdnDFPHDDowWsJN5k_/s1600/setup4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMPvJi4uMRUGxKiF2A8IhKeELIkPfZRDdnCdcYh8IRH5CxJAHUONf3DVas55aeybLEFiQ92-AzC7-WHHGpgFAj9Frw-53b4Bj4xF_UJFoyHitHjNL1vhWDehRAEAAdnDFPHDDowWsJN5k_/s1600/setup4.png" height="222" width="640" /></a></div>
<br />
You will see a "Choose boot option" dialogue. Choose the option "Desktop Log in as user 'pi' at the graphical desktop" and and press <span style="font-family: "Trebuchet MS", sans-serif;"><strong>Enter</strong></span>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwYu6aJqwW9tMAEijPFKU6yPq3I88SzCXPR6jSIa4s455lvfbqubeayZW7bSkDHUTyikRMRTMwo_PBKrEK8EubgtqR0wmugO87yvqhe2zjLW5gcRfsLrvPE6nkXmTk0ycr7_wEIZlzN8L-/s1600/setup5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwYu6aJqwW9tMAEijPFKU6yPq3I88SzCXPR6jSIa4s455lvfbqubeayZW7bSkDHUTyikRMRTMwo_PBKrEK8EubgtqR0wmugO87yvqhe2zjLW5gcRfsLrvPE6nkXmTk0ycr7_wEIZlzN8L-/s1600/setup5.png" height="222" width="640" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
You will see some text appear on the screen and then you will be returned to the raspi-config main window:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd-DODxG_iAOb8JkDTHS-X7IB5-Z-4vH76UgQUEYDoWi7bKTqf6jD-zWJ4GdELZOu8RZw13GiQnlCB_8aJuFJc0qInPgWAEm2-woYYldY4_w5lgxDhnYveVTb0gQJwy39y3ZEPH-6vuItY/s1600/setup1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd-DODxG_iAOb8JkDTHS-X7IB5-Z-4vH76UgQUEYDoWi7bKTqf6jD-zWJ4GdELZOu8RZw13GiQnlCB_8aJuFJc0qInPgWAEm2-woYYldY4_w5lgxDhnYveVTb0gQJwy39y3ZEPH-6vuItY/s1600/setup1.png" height="222" width="640" /></a></div>
<br />
<br />
Use the right arrow key to move the cursor down until "Finish" is highlighted in red and press <strong><span style="font-family: "Trebuchet MS", sans-serif;">Enter</span></strong>. You will see a dialogue asking you if you want to reboot now. Press <span style="font-family: "Trebuchet MS", sans-serif;"><strong>Enter</strong></span> again to reboot the Raspberry Pi.<br />
<br />
When your Raspberry Pi reboots it should go straight to the LXDE GUI desktop. Using this configuration should make the system more "user friendly" because there is no need to log in or type "startx" each time, but the command line prompt is still easily accessible via LXTerminal if you need it. It also makes shutting down your Raspberry Pi simpler because now, when you click on "Logout" you get the following options:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhenc7embBuMn3SHldkj019zz5rBOld2toacJBa1GDrxiUnDWhiunLq-1xYdhCob4nO-3E8TcSKyN0g_5fXzQIUA-E3wUKPbPPFIqdlD-kZv-B9xwGGYRieb8Pg_Tfu73kMGx3Feh15eigi/s1600/logout2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhenc7embBuMn3SHldkj019zz5rBOld2toacJBa1GDrxiUnDWhiunLq-1xYdhCob4nO-3E8TcSKyN0g_5fXzQIUA-E3wUKPbPPFIqdlD-kZv-B9xwGGYRieb8Pg_Tfu73kMGx3Feh15eigi/s640/logout2.jpg" height="640" width="626" /></a></div>
<br />
If you click on "Shutdown" the LXDE GUI will close and your Raspberry Pi will safely shut down so that the power can be safely disconnected.<br />
<br />
If you click on "Reboot" the LXDE GUI will close and the Raspberry Pi will restart and reload the GUI.<br />
<br />
If you click on "Logout" you will have the option to log in as a different user.<br />
<br />
You can of course revert to booting to the Linux command line by running the Raspberry Pi configuration utility again (in LXTerminal), selecting the "Enable Boot to Desktop/Scratch" option, and then choosing the "Console Text console, requiring login (default)" option.<br />
<br />
To connect your Raspberry Pi to a network, simply insert a ethernet (CAT 5E) cable (available from <a href="http://www.cutpricecables.co.uk/inetwork.html" target="_blank">Cut Price Cables</a>) into the ethernet socket next to the two USB ports. Provided the other end of the cable is connected to a local area network (via a router for example) your Raspberry Pi should automatically connect to the network, and the FDX (Full Duplex) LED, LNK (Link) LED and 100 (100MBit) LED should all light up (green, green and yellow respectively). You can check what the IP address of your Raspberry Pi is on the network by opening a LXTerminal window and typing "ip address show" at the command line prompt and pressing <b style="font-family: 'Trebuchet MS', sans-serif;">Enter</b>. This will give you the following information:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOKgQBNq-g9StOkKMhqqZx0MATLK5pFi81t4ryRgc-d_wr20jVbfOLVrq3hc9wDlJg40jPkO9-gOp_xDPqAoc_uAbCP9Ev6qUoG4BcBIpd8sEgzwgRXfsZ7WE07BFBHbGwT3q58omx3TT5/s1600/ipaddress.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOKgQBNq-g9StOkKMhqqZx0MATLK5pFi81t4ryRgc-d_wr20jVbfOLVrq3hc9wDlJg40jPkO9-gOp_xDPqAoc_uAbCP9Ev6qUoG4BcBIpd8sEgzwgRXfsZ7WE07BFBHbGwT3q58omx3TT5/s640/ipaddress.jpg" height="546" width="640" /></a></div>
<br />
The IP address is the sequence of numbers following "inet", so in my case it is "192.168.1.104". You'll need this information if you want to access your Raspberry Pi from another computer on your network. However please note that this IP address may not always be the same each time you connect your Raspberry Pi to a network.<br />
<div>
<br /></div>
Now that your Raspberry Pi is connected to the outside world, the first thing to do is to download the most recent updates for your Raspbian (Debian Wheezy) operating system. To do this type "sudo apt-get dist-upgrade" at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get dist-upgrade_</span></span><br />
<br />
Your Raspberry Pi will now download and install the latest updates for your operating system. This may take a while. As it is progressing you will see a lot of text scrolling up your display screen.<br />
<br />
The Raspbian (Debian Wheezy) operating system on your Raspberry Pi also gives you access to a huge library of (mostly free) software called the repository. The "apt" part of the command you just entered stands for "Advanced Packaging Tool" and this is the management tool for the software repository. The operating system maintains a database file of all the software in the repository and you can download the latest version of this database by typing "sudo apt-get update" at the command line prompt and pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get update_</span></span><br />
<br />
Your Raspberry Pi will now download and install the latest repository database files and will report it's progress by displaying various lines of text on your screen. When completed type "sudo apt-get upgrade" at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get upgrade_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>This will instruct your Raspberry Pi to download and install the latest updates for all the software installed on your system. This may be a large download and may take a while. Once again as it is progressing you will see a lot of text scrolling up your display screen.<br />
<br />
The Raspbian (Debian Wheezy) operating system and all the software installed on your Rasperry Pi should now be up to date. It is a good idea to run all three of the above commands regularly to ensure that your system has all the latest updates.<br />
<br />
The Raspberry Pi Wobbulator software was all written in <a href="http://www.python.org/" target="_blank">Python 3</a>, which seems to be the programming language of choice as far as the Raspberry Pi community is concerned, perhaps because it comes ready to use with the Raspbian (Debian Wheezy) operating system. The software was written using <a href="http://docs.python.org/3.3/library/idle.html" target="_blank">IDLE 3</a> (the Python 3 Integrated Development Environment supplied with the Raspbian (Debian Wheezy) operating system). To launch IDLE 3, double click on the IDLE 3 shortcut on the LXDE desktop. This will open the "Python Shell" window as shown below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZcC5pF9BpcX47fbgz7Icpb-TaGVWfULAOom-ltvoz0ed3ypVeUTod-HXOS2K7NPBq6vtiuNwCG67efZXxTAA8j9VQHsditmgB5FP9EtVl0YalmJ9BTrWX7TvJz3tXc-ycUuWhWHRZHGMn/s1600/pythonshell.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZcC5pF9BpcX47fbgz7Icpb-TaGVWfULAOom-ltvoz0ed3ypVeUTod-HXOS2K7NPBq6vtiuNwCG67efZXxTAA8j9VQHsditmgB5FP9EtVl0YalmJ9BTrWX7TvJz3tXc-ycUuWhWHRZHGMn/s640/pythonshell.png" height="378" width="640" /></a></div>
<br />
From here you can enter commands directly for immediate execution, or you can open a Python file to work on, or create a new file by clicking on the "File" menu and choosing the appropriate action.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhApYy1o8OrP138spe5WQ7x9kyBRFzPyoHqRqC2BvLymAhv1teXMbpQ5xcHXriJrvEz-YONcRwWLdT-c5vGvEx0w9KcAPpAZPBqj0X6zlyPr-zaJ3ncJOgg-jYPOnoXetVEAR541O8MHldX/s1600/pythonshellmenu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhApYy1o8OrP138spe5WQ7x9kyBRFzPyoHqRqC2BvLymAhv1teXMbpQ5xcHXriJrvEz-YONcRwWLdT-c5vGvEx0w9KcAPpAZPBqj0X6zlyPr-zaJ3ncJOgg-jYPOnoXetVEAR541O8MHldX/s640/pythonshellmenu.png" height="378" width="640" /></a></div>
<br />
However, please note that the Raspberry Pi Wobbulator software must be run with "root" privileges or as “sudo”. One way to do this is to <span style="font-family: inherit;">launch IDLE3 with root </span>privileges<span style="font-family: inherit;"> by typing "sudo idle3" at the command line prompt in a LXTerminal window and </span>pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong><span style="font-family: inherit;"> (but you have to do this every time you want to launch IDLE3 with "root" privileges).</span><br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo idle3_</span></span><br />
<br />
<span style="font-family: inherit;">A more convenient way to ensure that IDLE3 is always launched with "root" privileges is to edit the IDLE3 shortcut. Double click on "LXTerminal" to open a terminal window, and then type "leafpad Desktop/idle3.desktop" </span>and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong><br />
<strong><span style="font-family: Trebuchet MS, sans-serif;"><br /></span></strong>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-MzkCvkfdJpZJOhyWbRsA40ds2lDX06iKtWCtcszZo571M_rIo8YXRYQ__rdyQDXk0Tpq_Fp6DtHaiEaU5IupVu8HBS72sehk6AqcfmWHlyLRARA9jSKHEfPvsqeFshGFky-KZEiEwTNw/s1600/setup6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-MzkCvkfdJpZJOhyWbRsA40ds2lDX06iKtWCtcszZo571M_rIo8YXRYQ__rdyQDXk0Tpq_Fp6DtHaiEaU5IupVu8HBS72sehk6AqcfmWHlyLRARA9jSKHEfPvsqeFshGFky-KZEiEwTNw/s1600/setup6.png" height="376" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">This will open the file "idle3.desktop" in Leafpad (a simple text editor). Go to the line "Exec=/usr/bin/idle3" and i</span><span style="font-family: inherit;">nsert "sudo " in front of "/usr/bin/idle3" as shown below (I've highlighted the required change to make it stand out).</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBjXAjJ0IEbQmgYtB1iYKd9GjuwWIiBS1fLAOs2zjzQquLLFFQYBFVh29AfvsSBmYHaIkjiqf1TGuIAva9bvmhVnVdb1G9kUqkJ7HSeJzuFcRE0YOAnuthFjgztpDuPBcE3rlQQnCLXeuM/s1600/idle3desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBjXAjJ0IEbQmgYtB1iYKd9GjuwWIiBS1fLAOs2zjzQquLLFFQYBFVh29AfvsSBmYHaIkjiqf1TGuIAva9bvmhVnVdb1G9kUqkJ7HSeJzuFcRE0YOAnuthFjgztpDuPBcE3rlQQnCLXeuM/s1600/idle3desktop.png" /></span></a></div>
<br />
Click on "File->Save" to save the file, and then click on "File->Quit" to close Leafpad. Now every time you launch IDLE3 by double clicking on the IDLE3 icon on your LXDE desktop, you will have root privileges.<br />
<br />
Now you're ready to build your Raspberry Pi Wobbulator by following <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/12/building-raspberry-pi-wobbulator-kit.html" target="_blank">Part 1</a> and <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/12/building-raspberry-pi-wobbulator-kit_30.html" target="_blank">Part 2</a> of the construction guide, and then follow the instructions in the <a href="http://asliceofraspberrypi.blogspot.co.uk/2014/01/setting-up-and-testing-raspberry-pi.html" target="_blank">Part 1</a>, <a href="http://asliceofraspberrypi.blogspot.co.uk/2014/01/setting-up-and-testing-raspberry-pi_8.html" target="_blank">Part 2</a>, and <a href="http://asliceofraspberrypi.blogspot.co.uk/2014/01/setting-up-and-testing-raspberry-pi_9.html" target="_blank">Part 3</a> of the setup and testing guide to get your Raspberry Pi Wobbulator up and running.<br />
<br />
Raspberry Pi Wobbulator PCBs, full kits, and DDS modules are available from <a href="http://www.cutpricecables.co.uk/irpiwobbulator.html" target="_blank">Cut Price Cables</a> with free worldwide shipping, and for all the latest developments and discussion please visit the Raspberry Pi Wobbulator <a href="https://groups.yahoo.com/neo/groups/rpiwobbulator/info" target="_blank">Yahoo User Group</a>.Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com1tag:blogger.com,1999:blog-5126379320954837196.post-48623259308414953312014-01-09T21:40:00.001+00:002014-01-09T21:40:52.254+00:00Setting up and Testing the Raspberry Pi Wobbulator - Part 3With my Raspberry Pi Wobbulator powered up and ready for action the first task I decided to give it was to examine the frequency response characteristics of an RF crystal. If this sounds familiar, then it is because it is. I performed the same test using the revised Raspberry Pi prototype - see this <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/11/finalizing-design-of-raspberry-pi.html" target="_blank">previous post</a> for details. I'm repeating the same test using the "production version" of the RPi Wobbulator to provide a direct comparison.<br />
<div>
<br /></div>
<div>
The first test was performed using Channel 1 - the linear input. The frequency sweep was performed with nothing connected to the input of Channel 1 (bottom blue trace), with the output from the DDS module fed directly into the input of Channel 1 (top blue line) and finally with the RF crystal connected between the output from the DDS and the input of Channel 1 (red plot).</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7duWDEz94WB4TL6HVqnohgGGV_buRZtds-h6OIhgrF-tFc2OGYhtdSEXnyRYEZw3bm7KYb7BUvnIpmtlSTWe6y7JwO4K13agDN6ZXLFP5qbKiysTU3XmJ28F70ZPmMUZNEWsAb53TLoNF/s1600/RFCh1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7duWDEz94WB4TL6HVqnohgGGV_buRZtds-h6OIhgrF-tFc2OGYhtdSEXnyRYEZw3bm7KYb7BUvnIpmtlSTWe6y7JwO4K13agDN6ZXLFP5qbKiysTU3XmJ28F70ZPmMUZNEWsAb53TLoNF/s1600/RFCh1.png" height="610" width="640" /></a></div>
<div>
<br /></div>
<div>
The results obtained were virtually identical to those obtained when using the revised prototype.</div>
<div>
<br /></div>
<div>
The same test was then performed using Channel 2 - the logarithmic input.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDkne4Yoomj5LSJfWa0QpRc_E-Gj-Lml9udnpU1XyU4T19Rc-zwZlSo_qNXD9O01_lymagXxZG7mhWQwTV_j7LWwwBcaz0nci7mcu2_Ysm-N_p1kpyE-yojIYjmkmEUWPDxwnndnk8AFNb/s1600/RFCh2a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDkne4Yoomj5LSJfWa0QpRc_E-Gj-Lml9udnpU1XyU4T19Rc-zwZlSo_qNXD9O01_lymagXxZG7mhWQwTV_j7LWwwBcaz0nci7mcu2_Ysm-N_p1kpyE-yojIYjmkmEUWPDxwnndnk8AFNb/s1600/RFCh2a.png" height="610" width="640" /></a></div>
<div>
<br /></div>
<div>
Once again the results were very similar to those obtained using the revised prototype.</div>
<div>
<br /></div>
<div>
So, the "production version" of the Raspberry Pi Wobbulator seems to be performing very well! For details of further testing and details of other users experiences building and using the RPi Wobbulator please visit the <a href="http://groups.yahoo.com/neo/groups/rpiwobbulator/info" target="_blank">Yahoo group</a>.<br />
<br />
If you would like to purchase a Raspberry Pi Wobbulator PCB or PCB and full component kit then please visit <a href="http://www.cutpricecables.co.uk/irpiwobbulator.html" target="_blank">www.cutpricecables.co.uk/irpiwobbulator.html</a> . The PCB is priced at £12.00, and the PCB plus kit of components is priced at £40. This includes all sales taxes and free worldwide delivery. You can purchase online and pay by credit or debit card, or PayPal.</div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com1tag:blogger.com,1999:blog-5126379320954837196.post-81769367483846634862014-01-08T17:16:00.000+00:002014-01-08T17:16:59.194+00:00Setting up and Testing the Raspberry Pi Wobbulator - Part 2Before downloading and running the RPi Wobbulator software, there are a couple of small adjustments that need to be made to the Raspberry Pi hardware, and the following adjustment procedure will also serve as a check that the hardware is working as it should.<br />
<br />
I've written a small program called RPi Volt Meter to help you make the necessary adjustments. The source code for the program can be downloaded from <a href="https://github.com/mi0iou/RPi_VoltMeter/archive/master.zip" target="_blank">Github</a>, or you can you can use the "git clone" command to download a copy of the program and associated files on to your Raspberry Pi. To do this, type the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong><span style="font-family: inherit;">:</span><br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> git clone https://github.com/mi0iou/RPi_VoltMeter.git_</span></span><br />
<br />
<span style="font-family: inherit;">When you execute this command, a new folder called "RPi_VoltMeter" will be created under "/home/pi" and the source code (and other files) will be downloaded and saved in this folder. </span><span style="font-family: inherit;">Launch IDLE 3 and open the file "rpi_voltmeter.py". Run the program by selecting "Run->RunModule" or by pressing "F5".</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_2iX2CvJetlmc9GOBVhPwRBnckVbHeeA_EAjNkVsZnFRI3j9J4e6U3PaYM8S_QWbekS2hDfccznfch2fp9gSXU8GX4lyWc4LdizPaGnEjDACVxuwK_69fCsMd6e-85a-AEpFMB7lhp2Og/s1600/launchRPiVM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_2iX2CvJetlmc9GOBVhPwRBnckVbHeeA_EAjNkVsZnFRI3j9J4e6U3PaYM8S_QWbekS2hDfccznfch2fp9gSXU8GX4lyWc4LdizPaGnEjDACVxuwK_69fCsMd6e-85a-AEpFMB7lhp2Og/s1600/launchRPiVM.png" height="342" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span>
<br />
<div>
<span style="font-family: inherit;">The RPi Volt Meter window should now appear:</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsTYzhIK8mAO58reixZfS4e8zRL0KZjbxgDFcq0sNYOGmBuAkbrPi5NrA5qk0D9NhJFJB-zcGZf3KFbtuhqSalc26CvDx3GFfFHiMqiEwa1ergCJg5EZfYnaEsfrWBxs-HTNPZii658bFO/s1600/RPiVM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsTYzhIK8mAO58reixZfS4e8zRL0KZjbxgDFcq0sNYOGmBuAkbrPi5NrA5qk0D9NhJFJB-zcGZf3KFbtuhqSalc26CvDx3GFfFHiMqiEwa1ergCJg5EZfYnaEsfrWBxs-HTNPZii658bFO/s1600/RPiVM.png" /></a></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
This simple program allows the user to measure the voltage on any one of the four input channels on the ADC chip on the RPi Wobbulator PCB. Channels 1 and 2 are the two input channels for the RPi Wobbulator. Channels 3 and 4 are not used but are terminated with PCB pins so that you can measure any external voltage connected to the pins. The maximum voltage the ADC chip can measure is just over 2 Volts DC.<br />
<br />
Leave Channel 1 selected and measure the voltage by clicking on the "Measure" button. Since at this point there is no signal being fed into Channel 1 this will measure the quiescent bias voltage. When I did this, I found that the voltage was about 2 Volts. This is far too high and is causing the input to the ADC chip is totally saturated. Turn the adjustment screw on VR1 screw anti-clockwise, taking a measurement of the voltage after each adjustment is made, until the bias voltage comes down to about 0.1 Volt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYydJ_k86qR6l8eggRB-ayOgIo6KfbCZYvd9aMwYHkwSaSonZ9qvUyyUAO4AWWzCMy_Foriez03HcC5MryqZxmRD6ooU0_JrIsUFSpFZErc-fZxrduRof-ipTV8wn1YYEV49UM_tz1VNQN/s1600/RPiVMCh1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYydJ_k86qR6l8eggRB-ayOgIo6KfbCZYvd9aMwYHkwSaSonZ9qvUyyUAO4AWWzCMy_Foriez03HcC5MryqZxmRD6ooU0_JrIsUFSpFZErc-fZxrduRof-ipTV8wn1YYEV49UM_tz1VNQN/s1600/RPiVMCh1.png" /></a></div>
<br />
Now select Channel 2 and measure the quiescent voltage. I found that it was about 0.6 Volts. If the measured voltage is not around 0.6 Volts, turn the adjustment screw on VR2 until you get a value of 0.6 Volts (or just under)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCjB4F3JMCCcrjIF2m8rhDOgV7dchyphenhyphenAPIT5tdYKCr8Hxji1u9uYtLW1VLhMVOPICGolHdLF74tjZFXpvENgYbfuA8eOfJfwbHnePNeN8AL3-S_T1eyeZ62lpU5TkbGq68c58DgkwIhLQSP/s1600/RPiVMCh2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCjB4F3JMCCcrjIF2m8rhDOgV7dchyphenhyphenAPIT5tdYKCr8Hxji1u9uYtLW1VLhMVOPICGolHdLF74tjZFXpvENgYbfuA8eOfJfwbHnePNeN8AL3-S_T1eyeZ62lpU5TkbGq68c58DgkwIhLQSP/s1600/RPiVMCh2.png" /></a></div>
<br />
VR2 provides very fine adjustment of the quiescent voltage from about 0.3 Volts to just over 0.6 Volts. This corresponds to a variation in the "Slope" of the output from the AD8307 Log Amp of between about 11 mV/dB and 22 mV/dB respectively, so setting the quiescent voltage to about 0.6 Volts corresponds to Slope of about 20 mV/dB.<br />
<br />
Enough tinkering! If all has gone well you can now close the RPi Volt Meter window, and then close the source code file "rpi_voltmeter.py".<br />
<br />
Now its time to download and run the Raspberry Pi Wobbulator software. Once again, the source code for the Raspberry Pi Wobbulator software can be downloaded from <a href="https://github.com/mi0iou/RPi_Wobbulator/archive/master.zip" target="_blank">Github</a>, or you can use the "git clone" command to download a copy of the repository on to your Raspberry Pi. To do this, type the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong><span style="font-family: inherit;">:</span><br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> git clone https://github.com/mi0iou/RPi_Wobbulator.git_</span></span><br />
<br />
<span style="font-family: inherit;">When you execute this command, a new folder called "RPi_Wobbulator" will be created under "/home/pi" and the source code (and other files) will be downloaded and saved in this folder. If it isn't already running, l</span><span style="font-family: inherit;">aunch IDLE 3 and open the file "rpi_wobbulator.py". Run the program by selecting "Run->RunModule" or by pressing "F5". The RPi Wobbulator window should appear:</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC4-daKxiDPWt3vW_5wugZ7H4FDO2VeTpTtCfcPoqLs8_Et1vdXsXde7axNUo8SKzTlrJCnLoL04VmaIwjPgT5UB-1wrJ_NSwVVIJqNW-KLZiyGQ1rz_grQ9trY3R1LdH9JPXi8b9VltKj/s1600/RPiWob11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC4-daKxiDPWt3vW_5wugZ7H4FDO2VeTpTtCfcPoqLs8_Et1vdXsXde7axNUo8SKzTlrJCnLoL04VmaIwjPgT5UB-1wrJ_NSwVVIJqNW-KLZiyGQ1rz_grQ9trY3R1LdH9JPXi8b9VltKj/s1600/RPiWob11.png" height="610" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span>
<br />
The user can enter parameters for the frequency sweep along the bottom of the screen. The various buttons down the right hand side of the main window allow the user to select the input channel (Ch) on the ADC chip, the gain for the PGA (on the ADC chip), and the line colour used to plot the response curve. The user can choose whether or not to display a grid over the results area using the "Grid" check box, and the "Bias" check box activates the bias compensation feature of the software. The “CLS” button clears the results area of any previous plots and the “RUN” button initiates the frequency sweep.<br />
<br />
The response curve of the circuit under test is plotted in the “results area” (the large cyan coloured area taking up most of the main window). The X-axis on the results area represents frequency from the “start frequency” on the left to the “stop frequency” on the right and the Y-axis represents the magnitude of the signal passing through the circuit under test, as measured by the ADC chip.<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
So that's it! The Raspberry Pi Wobbulator is now ready for action...<br />
<br />
In my next post I'll explain how to use the Raspberry Pi Wobbulator to examine the frequency response characteristics of an RF crystal, and this also serves as a good way to check that the hardware is working as it should.Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com3tag:blogger.com,1999:blog-5126379320954837196.post-83515231455563732732014-01-07T16:05:00.000+00:002014-01-07T16:22:41.996+00:00Setting up and Testing the Raspberry Pi Wobbulator - Part 1Now you've built the Raspberry Pi Wobbulator kit it's time to check that it is working as it should!<br />
<br />
The ADC chip on the RPi Wobbulator uses the I2C protocol to communicate with the Raspberry Pi, but I2C is not enabled by default on the Raspberry Pi, so if you've not used an I2C device with your Raspberry Pi before then there are a few preparatory tasks you need to perform (this has been covered on a <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/10/measuring-dc-voltages-on-raspberry-pi.html" target="_blank">previous post</a>, so if you've already done this you can skip this post and go straight to part 2).<br />
<br />
Power up your Raspberry Pi, log in and then launch the LXDE desktop GUI. Open the file “/etc/modprobe.d/raspi-blacklist.conf” in Leafpad, go to the end of the file and "comment out" the last line by inserting a ‘#’ at the start of the line so that it looks like as shown below. Then save and close the file but please note that you will need root privileges to do so.<br />
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjACshP4IjFc-yQ70CNF0rOlq_J5HJNOmgkJU51pmkRzupTOPih2Js4K6TU5Ui_-3EVYPd7JzdZ1z_jLUr86u42nn9EL3w2cO-oOFta8RuzVAurFr5mOdotEPLykoxluV9zXIqUPytvaaK3/s1600/blacklist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjACshP4IjFc-yQ70CNF0rOlq_J5HJNOmgkJU51pmkRzupTOPih2Js4K6TU5Ui_-3EVYPd7JzdZ1z_jLUr86u42nn9EL3w2cO-oOFta8RuzVAurFr5mOdotEPLykoxluV9zXIqUPytvaaK3/s640/blacklist.png" height="126" width="640" /></a></div>
<br />
Open the file “/etc/modules” in Leafpad and add the line "i2c-dev" to the end of the file so that it looks like as shown below. Then save and close the file.</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiWBc1qKTdpobVvNw5cp5t8tCeNBajLRjIeItPaxT1RU0EJuueHehFjN5x1ofiCgigTLuJyMcAftzPIYT6aBWelXz-xQJ-oMkw2TcxjDHVxV1D7ZDz9LxKh7tWWkOLKSG5eRiRTurjuRsW/s1600/modules.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiWBc1qKTdpobVvNw5cp5t8tCeNBajLRjIeItPaxT1RU0EJuueHehFjN5x1ofiCgigTLuJyMcAftzPIYT6aBWelXz-xQJ-oMkw2TcxjDHVxV1D7ZDz9LxKh7tWWkOLKSG5eRiRTurjuRsW/s640/modules.png" height="180" width="640" /></a></div>
<br />
Now you need to install the “i2c-tools” package. Entering the following at the command prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get install i2c-tools_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>Add your user name to the i2c group by entering the following at the command prompt (assuming your user name is “pi”) and pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo adduser pi i2c_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>Now it's time to power down your Raspberry Pi and connect the Raspberry Pi Wobbulator. The complete assembly should now look like the following photo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhcnM5DdZVURQWABcJryD2jMdD-OlQN15qWB-Wnckf3xceH4a51oGvO_WP8eoZixFZcWwA240mEGI7Iduy20_r535ggfqZWxNxxV3BrG1VLw7LEUWw0UsiOWGTWMLUR75TnqJfHfzkIhDA/s1600/RPiWobPCBAssembly.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhcnM5DdZVURQWABcJryD2jMdD-OlQN15qWB-Wnckf3xceH4a51oGvO_WP8eoZixFZcWwA240mEGI7Iduy20_r535ggfqZWxNxxV3BrG1VLw7LEUWw0UsiOWGTWMLUR75TnqJfHfzkIhDA/s1600/RPiWobPCBAssembly.JPG" height="426" width="640" /></a></div>
<br />
Power up your Raspberry Pi, log in and then launch the LXDE desktop GUI. Open an LXTerminal window and type the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> i2cdetect -y 1_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>This should detect the presence of the ADC chip on the RPi Wobulator and display the address of the i2c bus as shown below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEvmK4j84GpqOlBNwG_cj4vyE_5dX7ZI-p4z4eJMruJxAwXn8EjIA1jxkIYxAuAkSeNOP26KCDnAlWlluseGNJpL2d11GRlMtoxcguPxuiwUp_IEpMCppmGU9Yj9afMXraTQWXGxm55v26/s1600/i2cdetect.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEvmK4j84GpqOlBNwG_cj4vyE_5dX7ZI-p4z4eJMruJxAwXn8EjIA1jxkIYxAuAkSeNOP26KCDnAlWlluseGNJpL2d11GRlMtoxcguPxuiwUp_IEpMCppmGU9Yj9afMXraTQWXGxm55v26/s1600/i2cdetect.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
You now need to install the Quick2Wire library to allow easy access to the I2C port from Python 3, but first you need to download and install Setuptools.<br />
<br />
Download the most up-to-date version of Setuptools (currently v1.1.6) from the <a href="https://pypi.python.org/pypi/setuptools/" target="_blank">Python website</a>.<span style="white-space: pre;"> </span>Extract the “.tar.gz” package, go to the folder called “/setuptools-1.1.6” and enter the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: blue;">.../setuptools-1.1.6 $</span><span style="color: white;"> sudo python3 ez_setup.py_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>Now download the Quick2Wire Python API package from GitHub. Extract the ".zip" file, go to the folder called “/quick2wire-python-api-master” and enter the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: blue;">.../quick2wire-python-api-master $ </span><span style="color: white;">sudo python3 setup.py install_</span></span></div>
<div>
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>Now you should be ready to download and run the Raspberry Pi Wobbulator software. I'll explain how to do this and how to setup the hardware in my next post.</div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com10tag:blogger.com,1999:blog-5126379320954837196.post-49586939027916795982013-12-30T19:29:00.000+00:002013-12-31T10:01:04.385+00:00Building the Raspberry Pi Wobbulator Kit - Part 2Now its time to start soldering the remaining through hole components, which are mostly connectors of one sort or another. You'll need to change the tip on your soldering iron to a thicker one, or use a soldering iron with a thicker tip.<br />
<br />
Start by soldering the three PCB mount right-angles SMA sockets J1 to J3. Each of these sockets have five terminals, four of which are ground connections and are connected directly to the metal casing of the socket, which acts as a heatsink. For this reason these sockets are quite difficult to solder - they require a lot of heat and I found that increasing the temperature of my soldering iron helped considerably. Next insert the two multiturn potentiometers VR1 and VR2 and solder them in place, remembering to trim the terminals back flush with the soldered joint.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnbNie_rH5aNyJfC8JyPrIhIWlIDVat5fUslYFNbJGLGDW-yrssJlrjF5gBrTD03hhg6WyBOYsSiY3UxbcRjAD_-JnPiyWnEmbzZgKWTKKXWOmhEXclM9rJldIdPq5EtCGR9zN4jPDawno/s1600/RPiWobPCB6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="482" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnbNie_rH5aNyJfC8JyPrIhIWlIDVat5fUslYFNbJGLGDW-yrssJlrjF5gBrTD03hhg6WyBOYsSiY3UxbcRjAD_-JnPiyWnEmbzZgKWTKKXWOmhEXclM9rJldIdPq5EtCGR9zN4jPDawno/s640/RPiWobPCB6.JPG" width="640" /></a></div>
<br />
Next attach PCB pin terminals PL2, PL4, PL5 and PL 6 (which are 5-way, 4-way, 2-way and 2-way terminals respectively) and solder in place. Then insert the two 10-way PCB sockets PL3A and PL3B and solder in place. The DDS module will be plugged into these sockets, but you can solder the DDS module directly on to the Raspberry Pi Wobbulator PCB if you prefer, in which case you won't need the sockets.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7ltlLBIGylzeBJpEqX6873aSBtlPPN7TZ5DZXToILMa99VrG39NxW6mnt7WW1bWDsdSn7XNnD2dJ4Crc3c4QXGtLa2NsnYEnSaq19PIapr96PHjqHb1amtSjuFdaSEWOFOqGu5sTO3U3p/s1600/RPiWobPCB7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7ltlLBIGylzeBJpEqX6873aSBtlPPN7TZ5DZXToILMa99VrG39NxW6mnt7WW1bWDsdSn7XNnD2dJ4Crc3c4QXGtLa2NsnYEnSaq19PIapr96PHjqHb1amtSjuFdaSEWOFOqGu5sTO3U3p/s640/RPiWobPCB7.JPG" width="640" /></a></div>
<br />
Finally, insert the 26-way GPIO header from the underside of the PCB and solder in place. The completed Raspberry Pi Wobbulator is shown below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSwk-WddZf6VwL79FGR9hXyCIqedtaFgGBDEMcNsxUtE0_unKXDTO-OEGucbinKlUNlKgGiIxsKTbYYftpyIEw7ky4mL4LVdLSmCzyxr2I7NT-T9ZXhlRs0A3YEPJAVutf2uRPxSjcObKB/s1600/RPiWobPCB8.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="470" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSwk-WddZf6VwL79FGR9hXyCIqedtaFgGBDEMcNsxUtE0_unKXDTO-OEGucbinKlUNlKgGiIxsKTbYYftpyIEw7ky4mL4LVdLSmCzyxr2I7NT-T9ZXhlRs0A3YEPJAVutf2uRPxSjcObKB/s640/RPiWobPCB8.JPG" width="640" /></a></div>
<br />
And the following photo shows what the underside of the PCB should look like. The two large holes on the Wobbulator PCB line up with the holes in the later versions of the Raspberry Pi PCB and can be used to securely connect the Wobbulator PCB to the Raspberry Pi PCB using PCB spacers if you prefer<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7VuFvtxz_msMsSCLXmB_lMKua3IthTIm0rA_hrT1OOY_reiakKwNwL9f05gR3oynF6SkS4h-2wow6A7t9evlQmDUz8UKXEKBNx8vVZudmWlQgPeDs3fGm1yFIKDEvDPgvsqN7XudMF3By/s1600/RPiWobPCB9.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7VuFvtxz_msMsSCLXmB_lMKua3IthTIm0rA_hrT1OOY_reiakKwNwL9f05gR3oynF6SkS4h-2wow6A7t9evlQmDUz8UKXEKBNx8vVZudmWlQgPeDs3fGm1yFIKDEvDPgvsqN7XudMF3By/s640/RPiWobPCB9.JPG" width="640" /></a></div>
<br />
All that remains to do is to plug your DDS module into the Wobbulator PCB and then connect the Wobbulator PCB to your Raspberry Pi by plugging it into the GPIO header. The following photo shows the final assembly, ready for testing.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhcnM5DdZVURQWABcJryD2jMdD-OlQN15qWB-Wnckf3xceH4a51oGvO_WP8eoZixFZcWwA240mEGI7Iduy20_r535ggfqZWxNxxV3BrG1VLw7LEUWw0UsiOWGTWMLUR75TnqJfHfzkIhDA/s1600/RPiWobPCBAssembly.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhcnM5DdZVURQWABcJryD2jMdD-OlQN15qWB-Wnckf3xceH4a51oGvO_WP8eoZixFZcWwA240mEGI7Iduy20_r535ggfqZWxNxxV3BrG1VLw7LEUWw0UsiOWGTWMLUR75TnqJfHfzkIhDA/s640/RPiWobPCBAssembly.JPG" width="640" /></a></div>
<br />
My next blog post will give details of the setup and testing procedures for the Raspberry Pi Wobbulator. If you are interested in getting your hands on a Raspberry Pi Wobbulator PCB or component kit then please visit <a href="http://www.cutpricecables.co.uk/irpiwobbulator.html" target="_blank">www.cutpricecables.co.uk/irpiwobbulator.html</a> . The PCB is priced at £12.00, and the PCB plus kit of components is priced at £40. This includes all sales taxes and free worldwide delivery. You can purchase online and pay by credit or debit card, or PayPal.<br />
<br />Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com2tag:blogger.com,1999:blog-5126379320954837196.post-65024162483935994892013-12-29T18:21:00.000+00:002013-12-30T01:08:28.521+00:00Building the Raspberry Pi Wobbulator Kit - Part 1I took delivery of the the Raspberry Pi Wobbulator PCBs a few days ago and I've put a kit of components together to go with the PCB. The PCB is priced at £12.00, and the PCB plus kit of components is priced at £40. This includes all sales taxes and free worldwide delivery. The PCBs and kits are available <a href="http://www.cutpricecables.co.uk/irpiwobbulator.html" target="_blank">here</a> if you are interested. You can purchase online and pay by credit or debit card, or PayPal.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW85QNhDexNrSUgbAGCPX3KGB3LSdH7v9IuW56_iQYVnrG3yYFz1aF3aOIgVKm7kysVX3vSH2y4fh7Tj-nEE6QPTMLOsRYOUSxBqRnWmLJgO_X1tp9gPFYgnq9dtVwnnPfMeVI7NPM7TIX/s1600/RPiWobPCB10.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="434" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW85QNhDexNrSUgbAGCPX3KGB3LSdH7v9IuW56_iQYVnrG3yYFz1aF3aOIgVKm7kysVX3vSH2y4fh7Tj-nEE6QPTMLOsRYOUSxBqRnWmLJgO_X1tp9gPFYgnq9dtVwnnPfMeVI7NPM7TIX/s640/RPiWobPCB10.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
The Raspberry Pi Wobbulator PCB is shown above. Assembly is fairly straight forward, but in this blog post and the next I'll go the assembly step-by-step and highlight any potential problems. This blog post deals with the surface mount components. I assume you have had some experience of soldering surface mount components, but in any case you will need a fine tipped temperature controlled soldering iron, some small diameter solder (0.5mm or smaller), a pair of tweezers and some kind of magnifier. I use a head mounted magnifier which leaves both hands free, but a good illuminated magnifier lamp would also be suitable.<br />
<br />
Start off by soldering on the five 1 nF capacitors, C1 to C5 in place. Their positions are clearly marked on the PCB and it doesn't matter what was round they are soldered. These surface mount capacitors do not have their value marked on them, so it is important not to get them mixed up with other value capacitors! So please only work with one value of capacitors at any given time. The following photo shows the PCB with capacitors C1 to C5 soldered in place.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj44T8V_9G9JpZtS_oENadgz_oJnDYRXtiQqN9w04DbeNZXstxqzfptWcFFH7zrN3PyjnoVPcE7furab09_vY9RfYMk9MMH-qC2kAIvVZvtik6QSs4_parLZiB_58M8fExX3uVi5MvAUhj/s1600/RPiWobPCB1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="428" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj44T8V_9G9JpZtS_oENadgz_oJnDYRXtiQqN9w04DbeNZXstxqzfptWcFFH7zrN3PyjnoVPcE7furab09_vY9RfYMk9MMH-qC2kAIvVZvtik6QSs4_parLZiB_58M8fExX3uVi5MvAUhj/s640/RPiWobPCB1.JPG" width="640" /></a></div>
<br />
Next, solder the five 100 nF capacitors, C6 to C10 in place. Your PCB should now look the same as shown in the following photo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdRb7OBpt9EE2yvowbqe6PIYJvaQ4eoMUF9iBJj05JhvUkKbUJ5h8Z96_dp3l0zRwSUN2NoHhOKmV9rn72-xmbMG3FpkS4vNKiT74a1IjgevMbfiAFT6-dW4BVou9L9JJot8Fot4ljMtlm/s1600/RPiWobPCB2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="434" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdRb7OBpt9EE2yvowbqe6PIYJvaQ4eoMUF9iBJj05JhvUkKbUJ5h8Z96_dp3l0zRwSUN2NoHhOKmV9rn72-xmbMG3FpkS4vNKiT74a1IjgevMbfiAFT6-dW4BVou9L9JJot8Fot4ljMtlm/s640/RPiWobPCB2.JPG" width="640" /></a></div>
<br />
Next, solder the five resistors R1 to R5 in place. Unlike the capacitors, the resistors do have their value marked on them in the form of a three digit number. The first two digits represent the value, and the third digit is the multiplier. So, for example, the 56 Ohm resistor R1 is marked "560", which means "56 followed by 0 zeros", in other words, "56". R2 is marked "105" which means "10 followed by 5 zeros", in other words 1000000 Ohms, or 1 M Ohm. Similarly R3 is marked "222", R4 is marked "470" and R5 is marked "103". The following photo shows the PCB with all five resistors in place<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguKmmQg35l74JvHz26hLMBOIGo8fpwbuax4QnYZgGtBYvHjZA7Z3lsXqdwY6xVoxJxbN2CQW-LZO3qdK-H1zO5k9fdqc7gKQ8mXRlDqEykuULiW_ZqAXqPDF6YV0QmSbmUD2WN4scz8DkG/s1600/RPiWobPCB3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="434" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguKmmQg35l74JvHz26hLMBOIGo8fpwbuax4QnYZgGtBYvHjZA7Z3lsXqdwY6xVoxJxbN2CQW-LZO3qdK-H1zO5k9fdqc7gKQ8mXRlDqEykuULiW_ZqAXqPDF6YV0QmSbmUD2WN4scz8DkG/s640/RPiWobPCB3.JPG" width="640" /></a></div>
<br />
Next it's the turn of the discrete semiconductors. There is one transistor U1, and two diodes D1 and D2. The direction in which the diodes are soldered in place is important - they are marked (all be it very faintly) with a line at one end, and this corresponds to the line on the diode symbol. A closeup view of D1 is shown below - you can just about make out the line on the left-hand end of the component.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-h79VUvMMoPUft26_Q6d0zSLYFlNpKmp9x9_9i-DjGCy-j1PrhCzHwnCSvujrr23P9OGlZEkp7jxPEiuFJF6ETNNrRJXPAkBegAqTjyM4IIrK_kkoQ9TOMFt2QVz7y2_GkexB1IFCzmVF/s1600/1n5711.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-h79VUvMMoPUft26_Q6d0zSLYFlNpKmp9x9_9i-DjGCy-j1PrhCzHwnCSvujrr23P9OGlZEkp7jxPEiuFJF6ETNNrRJXPAkBegAqTjyM4IIrK_kkoQ9TOMFt2QVz7y2_GkexB1IFCzmVF/s1600/1n5711.JPG" /></a></div>
<br />
The following photo shows the PCB with the discrete semiconductors in place.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ZYKUMNWvqNbZOLSBnlhpGIs8tCZv8wMl8SEGlUqF6M98ER_whns3BAPR-rDIYdtifVj59UZBVyHTwn0jufdlHxRB42xrWNvR9g31suCKUTexe75WN4B6Mrt1gs9bh3BjclIRJ-p0MS66/s1600/RPiWobPCB4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ZYKUMNWvqNbZOLSBnlhpGIs8tCZv8wMl8SEGlUqF6M98ER_whns3BAPR-rDIYdtifVj59UZBVyHTwn0jufdlHxRB42xrWNvR9g31suCKUTexe75WN4B6Mrt1gs9bh3BjclIRJ-p0MS66/s640/RPiWobPCB4.JPG" width="640" /></a></div>
<br />
Finally, it's time to solder the ICs in place. Both ICs are Narrow Body Standard Small Outline Package format, or SOIC_N for short. I soldered them in place by first melting a small amount of solder on each pad on the PCB and then placing the IC in position and carefully pressing each "leg" down with the tip of the soldering iron until the solder melted and attached to the leg. Use whatever method works for you! The following photo shows the PCB with the IC's in position.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-QJlagAZGIiN61lJWqs9dulZmGLpOtxeoJnrplK6CeZSupYezqgQcxvcSYxkym7tlgDyzNGgFaqF5HoJL4S1QQ2077TkSrGstiSwD6UT2y_Z0cFZJSqU9xuLoXgYPNewhBSbe3LTvGEeu/s1600/RPiWobPCB5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="429" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-QJlagAZGIiN61lJWqs9dulZmGLpOtxeoJnrplK6CeZSupYezqgQcxvcSYxkym7tlgDyzNGgFaqF5HoJL4S1QQ2077TkSrGstiSwD6UT2y_Z0cFZJSqU9xuLoXgYPNewhBSbe3LTvGEeu/s640/RPiWobPCB5.JPG" width="640" /></a></div>
<br />
Congratulations! That's all the surface mount components in place - time to lie down in a darkened room until your eyesight recovers and your hands stop shaking... hi hi!<br />
<br />
My next blog post will deal with soldering the remaining (through hole) components in place.<br />
<br />Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com11tag:blogger.com,1999:blog-5126379320954837196.post-90766092913751311182013-12-09T21:27:00.002+00:002013-12-09T21:27:18.887+00:00Raspberry PI Wobbulator PCBThe Raspberry Pi Wobbulator PCB is shown below. The PCB is double sided and is designed to be mounted directly above the Raspberry Pi motherboard. It was designed using <a href="http://www.designspark.com/eng/page/designspark-pcb-home-page" target="_blank">DesignSpark PCB</a> (which is available free from RS Components) and an initial batch of PCBs is currently being manufactured. I hope to take delivery of them some time around Christmas or the New Year.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfpojFYRN0aH26glmjIN2ZoAaSBjczgjd7sYYh-yYeV_1jZMZXWdJ233uBRNpDaduFhOWnp2ukXovjZgU1u6cE2mZFuxM1Uohz0e0o9p15nP8r7HJGBsyRj6Xw2fo0EqR9ZNQgWlXR1M1q/s1600/PCB1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="428" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfpojFYRN0aH26glmjIN2ZoAaSBjczgjd7sYYh-yYeV_1jZMZXWdJ233uBRNpDaduFhOWnp2ukXovjZgU1u6cE2mZFuxM1Uohz0e0o9p15nP8r7HJGBsyRj6Xw2fo0EqR9ZNQgWlXR1M1q/s640/PCB1.png" width="640" /></a></div>
<br />
I hope to make the PCB available on its own, or along with a kit of components for home assembly. I'm currently working on sourcing the various components at the best price possible. The bare PCB on its own will be £12 (£10 + VAT) and this price will include free delivery within the UK. Worldwide delivery is available at a small additional cost depending on your location. I'm still working on putting together the best deal I can for the kit of components.<br />
<br />
For the latest information on possible delivery date and pricing I would suggest that you join the <a href="http://groups.yahoo.com/neo/groups/rpiwobbulator/info" target="_blank">rpiwobbulator</a> Yahoo Group. I will be posting up to date information on delivery and pricing as it becomes available on the Yahoo Group rather than on this blog, but you can of course contact me directly if you wish via <a href="mailto:asliceofraspberrypi@gmail.com" target="_blank">email</a>.Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com0tag:blogger.com,1999:blog-5126379320954837196.post-37321342902614537422013-11-22T20:09:00.001+00:002013-11-23T13:36:08.184+00:00Finalizing the design of the Raspberry Pi Wobbulator PCBI've been experimenting with the AD8307 logarithmic amplifier from <a href="http://www.analog.com/en/index.html" target="_blank">Analog Devices</a> as a potential replacement for the discrete buffer amplifier / detector stage I used in the Raspberry Pi Wobbulator prototype.<br>
<br>
The following screenshot shows the frequency response of an RF crystal as measured by the AD8307 logarithmic amplifier. The horizontal line near the top of the screenshot is the plot obtained when the output from the DDS module was connected directly to the input of the AD8307 log amp.<br>
<br>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqbLQ2e3SZIIQyw0HD5Yxm50KxcReGqCC4UKTkPPgLZq70BfitBx23Cqb5xRppjY6kA_ruGZ2wxms3uvDEkfl19Z2vtpPWJngLyGGXgnGsCkJphyphenhyphenuQMhO1D3oqCWQT8zhR_VyjMGTayHSR/s1600/crystal14ad8307.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqbLQ2e3SZIIQyw0HD5Yxm50KxcReGqCC4UKTkPPgLZq70BfitBx23Cqb5xRppjY6kA_ruGZ2wxms3uvDEkfl19Z2vtpPWJngLyGGXgnGsCkJphyphenhyphenuQMhO1D3oqCWQT8zhR_VyjMGTayHSR/s640/crystal14ad8307.png" width="640"></a></div>
<br>
Compare the above plot to the plot shown below which was obtained when the same frequency sweep was performed but the response was measured by the discrete buffer amplifier /detector stage.<br>
<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjamPQwD6yWxqo9mnwRuwhLZpJs8jOZk-0PPEzWnwgZvgBr55002ppgaNp6EtmjxzwqsoIlMQj-HNn4QNGOvMWptxgmpQrRiWJD90_eiE6oGW2NMaCE4ZBAZQCqh3RgFZJ6NLK58yBKZ2dG/s1600/crystal14discrete.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjamPQwD6yWxqo9mnwRuwhLZpJs8jOZk-0PPEzWnwgZvgBr55002ppgaNp6EtmjxzwqsoIlMQj-HNn4QNGOvMWptxgmpQrRiWJD90_eiE6oGW2NMaCE4ZBAZQCqh3RgFZJ6NLK58yBKZ2dG/s640/crystal14discrete.png" width="640"></a></div>
<br>
The plot obtained when using the discrete buffer amplifier / detector stage has much more pronounced peaks, but it should also be noted that the frequency of the primary response peak is noticeably higher than when using the AD8307 logarithmic amplifier. I can only assume that the coupling capacitors used on the input to the AD8307 effectively "pulled" the resonant frequency of the RF crystal lower. The horizontal line in the above plot was obtained when the output from the DSS module was connected directly to the input to the discrete buffer amplifier / detector stage.<br>
<br>
From the results above It is clear that the AD8307 and the discrete buffer amplifier / detector stage both have their own strengths and weaknesses, so I've decided to include both on the Raspberry Pi Wobbulator PCB! The proposed schematic for the Raspberry Pi Wobbulator PCB is shown below.<br>
<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhisTgu5h0UIj6w7O-0LIEGWL_sHcG013JD82-1QtJVTwWp_uEkWZ07mR05iNSuTgt4vrrxQhqVSfsH14idbLHrIjGbZCigBcTT5QqdKigqZMJftc7h-LOoVIOxr8DiOP7BRpZFRvkdavho/s1600/RPi_Wobbulator_schematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="468" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhisTgu5h0UIj6w7O-0LIEGWL_sHcG013JD82-1QtJVTwWp_uEkWZ07mR05iNSuTgt4vrrxQhqVSfsH14idbLHrIjGbZCigBcTT5QqdKigqZMJftc7h-LOoVIOxr8DiOP7BRpZFRvkdavho/s640/RPi_Wobbulator_schematic.png" width="640"></a></div>
<br>
The proposed design has an output from the DDS module ("RF OUT"), and two inputs, one of which is connected to a discrete buffer amplifier / detector stage ("RF IN LIN") and the other of which is connected to a AD8307 logarithmic amplifier ("RF IN LOG"). All connections are in the form of PCB mounted SMA sockets, as well as PCB pins.<div><br></div><div>The outputs from the discrete buffer amplifier / detector stage and AD8307 log amp are connected to channels 1 and 2 on the MCP3424 ADC chip. The other two channels on the ADC chip are terminated in PCB pins so that these channels can be used with an external detector, or just used as general purpose analogue inputs.</div><div>
<br>
I'd welcome any comments on (or corrections to) the above schematic because I'm currently putting the finishing touches to the PCB layout, and once this is completed I will be placing an order for a batch of PCB's to be manufactured.</div>Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com6tag:blogger.com,1999:blog-5126379320954837196.post-65105074779500941612013-11-20T14:01:00.000+00:002013-11-20T14:03:02.184+00:00Bias Compensation option added to the RPi Wobbulator softwareThe Raspberry Pi Wobbulator software has been revised in line with the changes made to the hardware. As a consequence of using the onboard ADC chip instead of the ADC Pi module, the number of user selectable input channels has been reduced from 8 to 4.<br />
<br />
I've also introduced a user selectable "Bias" feature which allows the user to choose whether or not to compensate for any bias on the signal going into the ADC. In the initial version of the Raspberry Pi Wobbulator software, bias compensation was performed by default, and could not be disabled. However from my experience using the RPi Wobbulator I realized that compensating for bias is not always desirable, so decided to make it a user selectable option.<br />
<br />
When a frequency sweep is performed with the "Bias" compensation option enabled, the "bias" is measured first by measuring output from the detector stage with the DDS turned off .Then the sweep is performed, and the previously measured "bias" is subtracted from each measurement taken. When the "Bias" compensation option is not enabled, the sweep is performed and each measurement is plotted without performing any subtraction.<br />
<br />
The following screenshot shows the revised GUI and demonstrates the use of the "Bias" compensation feature. The two red plots are the result of running a sweep with PGA gain set to 1 and then again with it set to 2, <b>without </b>bias compensation selected. The two blue plots are the result of running the same sweeps but this time <b>with </b>the bias compensation selected.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkwoYOqjrs1ANEaXrID8DeI-WL0apFkRH8Bplya-W1rSddZSilIiJ65ifmjVlSXB3kNrx9-cuLP3HQbhehSIU1NzW6jW-_-V0wCWESvb56e5EWoVjGy6-jtNKQZ01vPl2zjXaFvwwNkrYQ/s1600/crystal14bias.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkwoYOqjrs1ANEaXrID8DeI-WL0apFkRH8Bplya-W1rSddZSilIiJ65ifmjVlSXB3kNrx9-cuLP3HQbhehSIU1NzW6jW-_-V0wCWESvb56e5EWoVjGy6-jtNKQZ01vPl2zjXaFvwwNkrYQ/s640/crystal14bias.png" width="640" /></a></div>
<br />
You can see that <b>without </b>bias compensation (red plots) when the PGA gain is increased from 1 to 2 the central peak doubles in height but the whole plot also moves up the screen. When the same sweeps are repeated <b>with</b> the bias compensation option enabled, the central peak doubles in height, but the bottom of the plot stays in (more or less) the same position.<br />
<br />
However, if there is a significant bias on the signal going into the ADC chip, using the "Bias" compensation option can lead to "clipping" of the frequency response plot as demonstrated in the following screenshot.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT1kg0ZUepcWchfzw4YOr-_KxHC8uei0COeqnOtituleFnSgUEnOCv5YULAXbE7dvvXMZ9FPXFpeqtnHxGA0o-vr1F5uTWr8IBg64VK7qY6DN8fzj6UoeswnwwlJqjBY99swJQofHQKeSk/s1600/clipping.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT1kg0ZUepcWchfzw4YOr-_KxHC8uei0COeqnOtituleFnSgUEnOCv5YULAXbE7dvvXMZ9FPXFpeqtnHxGA0o-vr1F5uTWr8IBg64VK7qY6DN8fzj6UoeswnwwlJqjBY99swJQofHQKeSk/s640/clipping.png" width="640" /></a></div>
<br />
<br />
This time the two blue plots are the result of running a sweep with PGA set to 4 and then again with it set to 8, <b>without </b>the bias compensation selected. The two red plots are the result of running the same sweeps but this time <b>with </b>bias compensation selected. You can see clearly that the uppermost red plot has been "clipped" quite severely - this is due to the ADC input becoming "saturated" because of the large bias on the signal.<br />
<br />
The revised source code (version 1.1) for the Raspberry Pi Wobbulator software is available on <a href="https://github.com/mi0iou/RPi_Wobbulator" target="_blank">GitHub</a>.<br />
<br />
<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com2tag:blogger.com,1999:blog-5126379320954837196.post-57642499475877370352013-11-16T19:06:00.001+00:002013-11-16T19:07:39.247+00:00Developing the Raspberry Pi Wobbulator designI've been developing the design of the Raspberry Pi Wobbulator with a view to producing a self contained plugin module for the Raspberry Pi, either as a fully assembled unit or as a PCB and kit of components. This has raised a few fundamental design issues along the way, such as:<br />
<br />
<ul>
<li>Use the off-the-shelf DDS module or design my own DDS using the AD9850 chip?</li>
<li>Use surface mount or through hole components?</li>
<li>Use an onboard ADC instead of the ADC Pi module?</li>
<li>Can the buffer amp / detector stage (currently a completely separate module) be incorporated into the Raspberry Pi Wobbulator PCB design?</li>
</ul>
<br />
I've been exploring various options and trying out different configurations in an attempt resolve these issues.<br />
<br />
<b>Use the "Off-the-shelf" DDS module or design my own?</b><br />
<b><br /></b>
The type of DDS module I use is widely available on eBay and elsewhere, and has been used in various different amateur radio related projects. The module is cheap, small, and easy to use, and quite honestly I don't think I could design and build anything as good for the money! Therefore I've decided to use the off-the-shelf DDS module instead of designing and building one from scratch. The Raspberry Pi Wobbulator PCB will be designed so that the DDS module can either be soldered in place or simply "plugged in". The plugin option opens up the possibility of being able to easily replace the DDS module with a higher spec one (based on the AD9851 or AD9852 chip) should such a module become available.<br />
<br />
<b>Use "Surface Mount" or "Through Hole" components?</b><br />
<br />
If the Raspberry Pi Wobbulator will be supplied as a PCB and kit of components, then this is an important issue. However using only "through hole" components seriously limits the choice of components available, and is also becoming an ever more expensive option. Having tried using surface mount components myself and also having conducted a (very unscientific) poll on the <a href="http://groups.yahoo.com/neo/groups/rpiwobbulator/polls/open" target="_blank">Raspberry Pi Wobbulator Yahoo group</a> I've decided to use surface mount components where possible. Some surface mount components are so small that they really aren't suitable for manual assembly, so I'll have to choose the components with care.<br />
<br />
<b>Use an Onboard ADC instead of the ADC Pi module?</b><br />
<br />
This one was a "no brainer" - using an onboard ADC is definitely the way to go! It will work out a lot less expensive and will mean that the PCB can connect direct to the GPIO pins on the Raspberry Pi rather than be "stacked" on top of another board. The ADC Pi module uses a pair of MCP3424 ADC chips, and I'm happy to stick with these, although one chip (which has 4 input channels) would suffice. These are only available in surface mount packages, but they are available as SOIC packages which are not too small for manual assembly.<br />
<br />
The Adafruit prototype board I used in the construction of the Raspberry Pi Wobbulator has a SOIC surface mount chip breakout area, so I obtained a MCP3424 chip from <a href="http://www.microchip.com/" target="_blank">Microchip</a> and had a go at soldering it in place. The result wasn't too bad for a first attempt - the ADC chip is on the bottom right of the following photo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTSvShsDeB0VtGR95LrJDSJdo_UuwVmB2B9yUfTBK2op4RIgfJPd5Xg_1FweVM889EkErDK3icI5v7aXKpGzEE-vLJlLPOrLDpLnMsb2F0JoIzSiKZyN0sDwjWCCL7I2qD4_UKYTcDN0NZ/s1600/ADCv2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTSvShsDeB0VtGR95LrJDSJdo_UuwVmB2B9yUfTBK2op4RIgfJPd5Xg_1FweVM889EkErDK3icI5v7aXKpGzEE-vLJlLPOrLDpLnMsb2F0JoIzSiKZyN0sDwjWCCL7I2qD4_UKYTcDN0NZ/s640/ADCv2.JPG" width="640" /></a></div>
<br />
<br />
I've since connected the MCP3424 up to the GPIO pins and tested it and I'm pleased to say it works perfectly with the original software. The only modification I need to make is to give the user a choice of 4 input channels instead of the 8 that were available on the ADC Pi module.<br />
<br />
<b>Can the buffer amp / detector stage be incorporated into the Raspberry Pi Wobbulator PCB design?</b><br />
<br />
The original Raspberry Pi Wobbulator prototype was constructed with the Buffer Amplifier / Detector stage completely separate from the rest of the circuit, with it's own power source (PP3 battery). It was constructed in a die-cast Aluminium box to provide good shielding (see my <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/10/adding-envelope-detector-to-convert-rf.html" target="_blank">previous post</a> for full details). I really needed to find a way of incorporating the buffer amp / detector stage into the Raspberry Pi Wobbulator PCB.<br />
<br />
In the meantime however I came across the AD8307 chip from <a href="http://www.analog.com/en/index.html" target="_blank">Analogue Devices</a>. This chip is a Logarithmic Amplifier and it produces a DC voltage at it's output which is proportional to the level of the RF signal on its input, expressed in Decibels (dB). In other words the output from this chip is proportional to the log of the RF signal strength on its input. However this is a sensitive device and needs to be well shielded.<br />
<br />
The AD8307 chip is available in through hole DIP as well as surface mount SOIC packages, so I obtained a through hole DIP device and mounted it on the Adafruit prototype board in an IC socket. I hardwired the output from the AD8307 chip to the input of Channel 1 on the MCP3424 ADC chip and tried it out by repeating the test of the RF crystal (see this <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/10/using-raspberry-pi-wobbulator-to-test_28.html" target="_blank">previous post</a> for details). The results are shown below:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxPcfpVh1hU54YJt6haZqs3EQ24XCmyM5VlnZ5t5nglcGObESuSvh5STUsDpUOZjOOv_XJ311CwIOVVr_8SqRNbFcManIQ1W8GxEwGwfsStX58s-9Mkn1fSsY4wU63vB4ea24FqhM9BBhD/s1600/crystal14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxPcfpVh1hU54YJt6haZqs3EQ24XCmyM5VlnZ5t5nglcGObESuSvh5STUsDpUOZjOOv_XJ311CwIOVVr_8SqRNbFcManIQ1W8GxEwGwfsStX58s-9Mkn1fSsY4wU63vB4ea24FqhM9BBhD/s640/crystal14.png" width="640" /></a></div>
<br />
The blue plot shows the response of the crystal on its own and shows the resonant frequency to be 14070000 Hz. The red plot is the response of the crystal with a 10pF capacitor connected in parallel across the crystal, and shows the resonant frequency to be about 14067500 Hz. I was very pleasantly surprised to see that even though the AD8307 was not shielded, noise did not seem to be a major problem. Certainly based on the results of this test, using the AD8307 warrants further investigation<br />
<br />
The following photo shows the modified Raspberry Pi Wobbulator prototype with onboard ADC chip (bottom left) and onboard logarithmic amplifier chip AD8307 (bottom right).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRy6G_il1EvtUeVXUyZvWfThY7DOrPH1uyTFvZNDVaJM2-C1gVkyx3gKvFbiiN9I2aTfnybljbepQMTIl-OrkEvYB_plONmih7v5hkzzuPfEORSvkkI2DRgftQwd4w-vmrwiJ9SeE_HqsV/s1600/wobbyv2_2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRy6G_il1EvtUeVXUyZvWfThY7DOrPH1uyTFvZNDVaJM2-C1gVkyx3gKvFbiiN9I2aTfnybljbepQMTIl-OrkEvYB_plONmih7v5hkzzuPfEORSvkkI2DRgftQwd4w-vmrwiJ9SeE_HqsV/s640/wobbyv2_2.JPG" width="640" /></a></div>
<br />
So there you have it! I believe I've developed the design of the Raspberry Pi Wobbulator to the point where it is perfectly faesible to design a PCB as a simple plugin module for the Raspberry Pi, and this is what I will be concentrating my efforts on over then next few days and weeksAnonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com2tag:blogger.com,1999:blog-5126379320954837196.post-6895772085232743972013-10-30T13:04:00.001+00:002013-11-06T11:48:49.645+00:00Using the Raspberry Pi Wobbulator to test the G6LBQ Multiband Bandpass FilterFinally, I decided to use the Raspberry Pi Wobbulator to test the frequency response characteristics of the G6LBQ multiband bandpass filter which I had built as part of a homebrew transceiver project. The fully assembled filter board is shown below (it is part of a <a href="http://cqbitx.blogspot.co.uk/" target="_blank">Bitx Transceiver</a> project I'm working on) and it covers the whole HF spectrum in 9 bands, all the way from the 160m band (1.8 - 2.0 Mhz) to the 10m band (28 - 30 MHz). Each bandpass filter uses a 3rd order Butterworth design and built using the "redeveloped" component kit from <a href="http://www.spectrumcomms.co.uk/Components.htm" target="_blank">Spectrum Communications</a>. Please note that there is a revised and improved version of the G6LBQ multiband bandpass filter due out very shortly - see the <a href="http://www.dxkits.com/" target="_blank">DX KITS</a> web site for details.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEuj788ir6J4nmisTM8qbkA3YFTonbTS8rKlwktoMAYIA2K_jalPw_2E0ZrPwC6LlFjd66DHEXVgdr9nfIqPotdXEOdm2DOVAmyKtgpkXPmKDPe7WwAbLnRVsQGNEuRLMRMwj0EYaR4yYF/s1600/bandpass2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEuj788ir6J4nmisTM8qbkA3YFTonbTS8rKlwktoMAYIA2K_jalPw_2E0ZrPwC6LlFjd66DHEXVgdr9nfIqPotdXEOdm2DOVAmyKtgpkXPmKDPe7WwAbLnRVsQGNEuRLMRMwj0EYaR4yYF/s640/bandpass2.JPG" width="640" /></a></div>
<br />
Prior to testing with the Raspberry Pi Wobbulator, each bandpasss filter was adjusted to give peak responses at the following frequencies on each band by connecting an RF signal generator to the input of the filter and measuring the output on an Oscillioscope (which is the "normal" way of adjusting such filters).<br />
<ul>
<li>160m band - adjusted for peak response at 1.9 MHz</li>
<li>80m band - adjusted for peak response at 3.6 MHz</li>
<li>40m band - adjusted for peak response at 7.1 MHz</li>
<li>30m band - adjusted for peak response at 10.1 MHz</li>
<li>20m band - adjusted for peak response at 14.2 MHz</li>
<li>17m band - adjusted for peak response at 18.1 MHz</li>
<li>15m band - adjusted for peak response at 21.2 MHz</li>
<li>12m band - adjusted for peak response at 24.9 MHz</li>
<li>10m band - adjusted for peak response at 29.0 MHz</li>
</ul>
A screen shot of the results obtained from testing the 160m bandpass filter is shown below. Channel 1 on the ADC Pi module was used and the PGA gain was set to the maximum value of 8x. The wobbulator performed a sweep from 1.8 MHz to 2.0 MHz in increments of 1000 Hz (1 KHz) and the response shows a double peak centered around 1.9 MHz.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfxoSc6wN4VMB-QzqhcCWye6566soYVWqcsox6bZjXuraPDFu-W3iFaKSDsctOCI4sojWNgWduDKSIMDfa8LHX-YrYyYC9_4WOXfR6CiRI6CAzciye6ez4D2MNPqyLdvfD6FvjDx43I5Vc/s1600/160m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfxoSc6wN4VMB-QzqhcCWye6566soYVWqcsox6bZjXuraPDFu-W3iFaKSDsctOCI4sojWNgWduDKSIMDfa8LHX-YrYyYC9_4WOXfR6CiRI6CAzciye6ez4D2MNPqyLdvfD6FvjDx43I5Vc/s640/160m.png" width="640" /></a></div>
<br />
A screenshot of the results obtained from testing the 80m bandpass filter is shown below, using channel 1 on the ADC Pi module with PGA gain of 8x. The wobbulator performed a sweep from 3 MHz to 4 MHz in increments of 10 KHz, and the response shows a nice peak around 3.6 MHz.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3y40AI3fu7VfAmSGxruhqEf7hQKuNngxBpV22cofzB6J4axLHpLAbz28Rm7KhG3IWY6dQf8bdFDCgGdSGQRscxpOQk9jbZQT1ravnldRGyvfgzy1Am0Jl8qkltxDzlmfnnqlgitG35GMY/s1600/80m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3y40AI3fu7VfAmSGxruhqEf7hQKuNngxBpV22cofzB6J4axLHpLAbz28Rm7KhG3IWY6dQf8bdFDCgGdSGQRscxpOQk9jbZQT1ravnldRGyvfgzy1Am0Jl8qkltxDzlmfnnqlgitG35GMY/s640/80m.png" width="640" /></a></div>
<br />
A screenshot of the results obtained from testing the 40m bandpass filter is shown below, using channel 1 on the ADC Pi module with PGA gain of 8x. The wobbulator performed a sweep from 6.6 MHz to 7.6 MHz in increments of 10 KHz. Although the response of the filter peaks around 7.1 MHz the response curve would suggest that the various filter elements are not well aligned.<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBDo8NE5I0qQsA8EJMCGVnA6BHt6HSLfKXy_bA2vAV-trtQXiSiApB0EtBETXu0dIhZsABqP9DL3KjdCkPU0i-xUXsHyY7gPDGvAwZG2kTkhmIdjsEDdCLr0eYjMuN7d_k_H_sQyZJB7oj/s1600/40m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBDo8NE5I0qQsA8EJMCGVnA6BHt6HSLfKXy_bA2vAV-trtQXiSiApB0EtBETXu0dIhZsABqP9DL3KjdCkPU0i-xUXsHyY7gPDGvAwZG2kTkhmIdjsEDdCLr0eYjMuN7d_k_H_sQyZJB7oj/s640/40m.png" width="640" /></a></div>
<div>
<br /></div>
<div>
A screenshot of the results obtained from testing the 30m bandpass filter is shown below, using channel 1 on the ADC Pi module with PGA gain of 8x. The wobbulator performed a sweep from 9 MHz to 11 MHz in increments of 10 KHz. The response shows a peak around 10.1 MHz, but the response has a "shoulder" around 9.8 MHz which may indicate that the filter is not perfectly aligned.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGhGkVELS947Xj_vl8OAxgXAODa3tE4Hw1KX3qbPgsxHLwhX_USBrBYPh1HHewH4mvXp4QxsoRrE4tHHd1Zov06CPAa2KnRZu7SDxN2M822H0qeTxiS8wxTq3gRMIhe-BOvijmtt8kobiy/s1600/30m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGhGkVELS947Xj_vl8OAxgXAODa3tE4Hw1KX3qbPgsxHLwhX_USBrBYPh1HHewH4mvXp4QxsoRrE4tHHd1Zov06CPAa2KnRZu7SDxN2M822H0qeTxiS8wxTq3gRMIhe-BOvijmtt8kobiy/s640/30m.png" width="640" /></a></div>
<div>
<br /></div>
<div>
A screenshot of the results obtained from testing the 20m bandpass filter is shown below, using channel 1 on the ADC Pi module with PGA gain of 8x. The wobbulator performed a sweep from 13 MHz to 15 MHz in increments of 10 KHz. The response shows a peak around 14.2 MHz, and the useable bandwith would be between 14.0 MHz and 14.4 MHz, but again the response has a distinct "shoulder" on the lower side which may indicate that the filter is not well aligned.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7A1hN6b2p_P5pDHPVXbU5b5hgiq6MO3k9pkLYEMtgyYMd1EFKX9Yq-H6CCg9N7eDk4aJM9rL3oxyO3-Pql2qEk51QHCmMKfjAnflUhBcnwQS2uNUpx66Oyb1a_mjQ6eCGx7Vud0zGw_kw/s1600/20m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7A1hN6b2p_P5pDHPVXbU5b5hgiq6MO3k9pkLYEMtgyYMd1EFKX9Yq-H6CCg9N7eDk4aJM9rL3oxyO3-Pql2qEk51QHCmMKfjAnflUhBcnwQS2uNUpx66Oyb1a_mjQ6eCGx7Vud0zGw_kw/s640/20m.png" width="640" /></a></div>
<div>
<br /></div>
<div>
A screenshot of the results obtained from testing the 17m bandpass filter is shown below, using channel 1 on the ADC Pi module with PGA gain of 8x. The wobbulator performed a sweep from 17.1 MHz to 19.1 MHz in increments of 10 KHz. The response shows a peak around 18.3 MHz, which is too high, and there is a "shoulder" around 17.9 MHz.</div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOekkXvh3QjBpmSvMuWYpcdig7NoGBpNpsjyyzyz_cNwj3vxIOA4A2JylDI_lps_Eb_JM374kk0RlG6pmKPcGXlDVwocoRH0P_-Q6tpwbrUX5WLxqQyvpPn5pDnhs5vikojEjlPmuDAJw8/s1600/17m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOekkXvh3QjBpmSvMuWYpcdig7NoGBpNpsjyyzyz_cNwj3vxIOA4A2JylDI_lps_Eb_JM374kk0RlG6pmKPcGXlDVwocoRH0P_-Q6tpwbrUX5WLxqQyvpPn5pDnhs5vikojEjlPmuDAJw8/s640/17m.png" width="640" /></a></div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br /></div>
<div>
A screenshot of the results obtained from testing the 15m bandpass filter is shown below, using channel 1 on the ADC Pi module with PGA gain of 8x. The wobbulator performed a sweep from 20 MHz to 22 MHz in increments of 10 KHz. The response shows a peak around 21.4 MHz, which is too high side for this band, and again the response if not symmetrical either side of the peak indicating possible misalignment.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ5AfT4s5j6kyc5Uql4i9OZmLWuGXTHgKkz0jQG6xSx3sbxrFnuCIYxrX8raJsH0RN8slxe1hqROE0xzT8E_QtJNGnbMnjjb_AIcj5p4k3HZjLfCYyVl-7MC85cJ6APIF3JfnTaUoQ7yBY/s1600/15m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ5AfT4s5j6kyc5Uql4i9OZmLWuGXTHgKkz0jQG6xSx3sbxrFnuCIYxrX8raJsH0RN8slxe1hqROE0xzT8E_QtJNGnbMnjjb_AIcj5p4k3HZjLfCYyVl-7MC85cJ6APIF3JfnTaUoQ7yBY/s640/15m.png" width="640" /></a></div>
<div>
<br /></div>
<div>
A screenshot of the results obtained from testing the 12m bandpass filter is shown below, using channel 1 on the ADC Pi module with PGA gain of 8x. The wobbulator performed a sweep from 24.2 MHz to 26.2 MHz in increments of 100 KHz. The response shows a broad peak around 25.2 MHz, which is too high for this band.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhheQ6dY3GZpam_MjelM8YOxpCZFoyYzd8aWx9xqfu_qrCMwBlnPiONxrjt2Zfog43ULLheMDZSYCqjL5OblD63ZfHactj4kQdNETDuQwsvJMlh9QK3a3VwfTyC9_mgY-721Ym7gtWhd2Oj/s1600/12m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="609" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhheQ6dY3GZpam_MjelM8YOxpCZFoyYzd8aWx9xqfu_qrCMwBlnPiONxrjt2Zfog43ULLheMDZSYCqjL5OblD63ZfHactj4kQdNETDuQwsvJMlh9QK3a3VwfTyC9_mgY-721Ym7gtWhd2Oj/s640/12m.png" width="640" /></a></div>
<div>
<br />
A screenshot of the results obtained from testing the 10m bandpass filter is shown below, using channel 1 on the ADC Pi module with PGA gain of 8x. The wobbulator performed a sweep from 27 MHz to 31 MHz in increments of 10 KHz. The response has a peak around 29 MHz, and a secondary peak around 28 MHz, indicating possible misalignment of the filter.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRKjAyj4PLMiYDS5ScqtxOJbQpi3oVvTk6BeccQOBrTstBYLVG5hwbRs5XK04-xH2Zyfpe1vWsFDdq6SNZjyImwD9CRn6piRdkRZoOvRHD_IfAdG9F4q9dPEsisJMDN5lQhx9376FtS8MT/s1600/10m.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRKjAyj4PLMiYDS5ScqtxOJbQpi3oVvTk6BeccQOBrTstBYLVG5hwbRs5XK04-xH2Zyfpe1vWsFDdq6SNZjyImwD9CRn6piRdkRZoOvRHD_IfAdG9F4q9dPEsisJMDN5lQhx9376FtS8MT/s640/10m.png" width="640" /></a></div>
<br />
Clearly using the Raspberry Pi Wobbulator to test the multiband bandpass filter provided much more information than could be obtained by simply peaking the response of the filter at a single frequency. The Raspberry Pi Wobbulator performed extremely well across the whole HF spectrum and produced some very useful results, however some care is required when specifying frequency sweep parameters - if a large sweep is specified with a small increment, the sweep can take a considerable amount of time to complete.<br />
<br />
For the radio amateur or electronic hobbyist, the Raspberry Pi Wobbulator provides a cost effective alternative to a “conventional” Wobbulator (or Sweep Generator, which also requires an Oscilloscope), or a Spectrum Analyser (which is beyond beyond the budget of most hobby users) for examining the frequency response characteristics of a circuit.<br />
<br />
Having shown that the Raspberry Pi Wobbulator is a viable proposition, I hope to go on to develop it into a single plugin module for the Raspberry Pi. You can follow the progress of this project <a href="http://www.elektor-projects.com/project/raspberry-pi-wobbulator.13612.html" target="_blank">here</a> and I've also setup a Yahoo Group <a href="http://groups.yahoo.com/neo/groups/rpiwobbulator/info" target="_blank">here</a> for discussion of all things Raspberry Pi Wobbulator related<br />
<br />
Also please note that I have just received a small number of the DDS modules from the manufacturer in China - if you would like one please <a href="mailto:asliceofraspberrypi@gmail.com" target="_blank">email me</a>.<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com2tag:blogger.com,1999:blog-5126379320954837196.post-76364939992938273192013-10-28T09:19:00.000+00:002013-10-28T09:19:27.527+00:00Using the Raspberry Pi Wobbulator to test a RF Crystal and an IF TransformerFirst of all I used the Raspberry Pi Wobbulator to examine the frequency response characteristics of an RF Crystal. One side of the crystal was connected to the output from the DDS module and the other side was connected to the input to the Buffer Amplifier / Detector. The outer metal casing of the crystal was grounded using a crocodile clip, and the crystal was tested with and without a small (10pF) capacitance in parallel. This capacitance was added simply by connecting the capacitor across the crystal using a pair of miniature crocodile clips.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinGSCb_Upwnl7CQCB-n9kQqtuaQHHUJWHS7BmevoKDRaqwFfLf6Nba-TrrlIQffYcw894ehd_KaR53MjGefMuH3owKq3QmZgDcZ2dkNgRZQII05Kwu7PrHN8NIlBHknCy7LiovjvCxUhqP/s1600/crystal.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinGSCb_Upwnl7CQCB-n9kQqtuaQHHUJWHS7BmevoKDRaqwFfLf6Nba-TrrlIQffYcw894ehd_KaR53MjGefMuH3owKq3QmZgDcZ2dkNgRZQII05Kwu7PrHN8NIlBHknCy7LiovjvCxUhqP/s640/crystal.JPG" width="640" /></a></div>
<br />
The nominal frequency of the crystal being tested was 14.070 MHz so the start frequency for the sweep was set to 14.060 MHz and the stop frequency for the sweep was set to 14.080 MHz and the increment was set to 100 Hz. Channel 2 was selected on the ADC Pi module and the PGA gain was set to 1x. The results are shown in the following screenshot.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLKTsuHSEpa4GhKSZWGvTDr8iAw9As-d41yTUmfnkmNTTC55eEV8WSK2uk9lBahCLa96caIxpkOrYo6UnOEhMeWedG5L3u-3hCvpdsdfdWj2k0fdTJneHo5omgf5zwRUFuicQMuZN_8ZDW/s1600/crystal14pull.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLKTsuHSEpa4GhKSZWGvTDr8iAw9As-d41yTUmfnkmNTTC55eEV8WSK2uk9lBahCLa96caIxpkOrYo6UnOEhMeWedG5L3u-3hCvpdsdfdWj2k0fdTJneHo5omgf5zwRUFuicQMuZN_8ZDW/s640/crystal14pull.png" width="640" /></a></div>
<br />
The blue plot shows the response of the crystal on its own and shows the resonant frequency to be just above 14072000 Hz. The red plot is the response of the crystal with a 10pF capacitor connected in parallel across the crystal, and shows the resonant frequency to be a little over 14068000 Hz. This demonstrates nicely how the resonant frequency of the crystal can be “pulled” by adding a small capacitance in parallel.<br />
<div>
<br /></div>
<div>
<div>
Then I decided to use the Raspberry Pi Wobbulator to test the frequency response characteristics of a small IF transformer coil (TOKO Part RMC15002A - see photo below). This is a 455 kHz RF transformer and is typical of those used in the IF stages of many HF receivers. Proper alignment of the IF stages of a Superhet receiver is critical for good performance and it was for this task that a "conventional" Wobbulator was typically used, so I considered this to be an important test for the Raspberry Pi Wobbulator.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8qARzpsPTms7xhv0e1CnqM5iCowg2MiNEP-ziriPoOHJETEJ1ATgLNyJyPyzPAa7Ag0l5eQbvrO5Ajdhyj6sIzbhjn3PPKWHPyzojouKevPveIcl8blL8L2BmAAs5LORPq0UVSgD3Ztqq/s1600/ifcoil2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="602" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8qARzpsPTms7xhv0e1CnqM5iCowg2MiNEP-ziriPoOHJETEJ1ATgLNyJyPyzPAa7Ag0l5eQbvrO5Ajdhyj6sIzbhjn3PPKWHPyzojouKevPveIcl8blL8L2BmAAs5LORPq0UVSgD3Ztqq/s640/ifcoil2.jpg" width="640" /></a></div>
<br /></div>
<div>
<br /></div>
<div>
The frequency sweep was set to start at 200 KHz and finish at 700 KHz, with an increment of 1 KHz. Channel 2 was selected on the ADC Pi module and the PGA gain was set to 1x. The results are shown in the screenshot below.</div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlDpplBGcHI-Bk4XJ_gFuNO5HWYcyhNigk6yF3yJNj5tjiu-cLZXG_-IjEaOaevLRiMoXF9-dBPfvBYXHvD0WOVfV755mt3Ng000B0KNBJSNBcAZF6bAXAm2_1ul_Qo23aNbCI9iTiwC7p/s1600/455k_coil.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="610" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlDpplBGcHI-Bk4XJ_gFuNO5HWYcyhNigk6yF3yJNj5tjiu-cLZXG_-IjEaOaevLRiMoXF9-dBPfvBYXHvD0WOVfV755mt3Ng000B0KNBJSNBcAZF6bAXAm2_1ul_Qo23aNbCI9iTiwC7p/s640/455k_coil.png" width="640" /></a></div>
<div>
<br /></div>
<div>
The results show the response to peak at just over 450 kHz as would be expected. The results from this test and from testing the RF Crystal both demonstrate the effectiveness of the Raspberry Pi Wobbulator for measuring the frequency response characteristics of a component.<br />
<br />
In my next post I'll discuss how I used the Raspberry Pi Wobbulator to test a multiband bandpass filter. </div>
<div>
<br /></div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com0tag:blogger.com,1999:blog-5126379320954837196.post-41127849503726128172013-10-26T20:51:00.000+01:002013-10-27T13:36:39.136+00:00Developing the Raspberry Pi Wobbulator SoftwareThe Raspberry Pi Wobbulator software was all written in <a href="http://www.python.org/" target="_blank">Python 3</a>, which seems to be the programming language of choice as far as the Raspberry Pi community is concerned, perhaps because it comes ready to use with the Raspbian "Wheezy" operating system. The software was written using <a href="http://docs.python.org/3.3/library/idle.html" target="_blank">IDLE 3</a> (the Python 3 Integrated Development Environment supplied with the Raspbian "Wheezy" operating system). To launch IDLE 3, double click on the IDLE 3 on the LXDE desktop. This will open the "Python Shell" window as shown below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZcC5pF9BpcX47fbgz7Icpb-TaGVWfULAOom-ltvoz0ed3ypVeUTod-HXOS2K7NPBq6vtiuNwCG67efZXxTAA8j9VQHsditmgB5FP9EtVl0YalmJ9BTrWX7TvJz3tXc-ycUuWhWHRZHGMn/s1600/pythonshell.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZcC5pF9BpcX47fbgz7Icpb-TaGVWfULAOom-ltvoz0ed3ypVeUTod-HXOS2K7NPBq6vtiuNwCG67efZXxTAA8j9VQHsditmgB5FP9EtVl0YalmJ9BTrWX7TvJz3tXc-ycUuWhWHRZHGMn/s640/pythonshell.png" width="640" /></a></div>
<br />
From here you can enter commands directly for immediate execution, or you can open a Python file to work on, or create a new file by clicking on the "File" menu and choosing the appropriate action.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhApYy1o8OrP138spe5WQ7x9kyBRFzPyoHqRqC2BvLymAhv1teXMbpQ5xcHXriJrvEz-YONcRwWLdT-c5vGvEx0w9KcAPpAZPBqj0X6zlyPr-zaJ3ncJOgg-jYPOnoXetVEAR541O8MHldX/s1600/pythonshellmenu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhApYy1o8OrP138spe5WQ7x9kyBRFzPyoHqRqC2BvLymAhv1teXMbpQ5xcHXriJrvEz-YONcRwWLdT-c5vGvEx0w9KcAPpAZPBqj0X6zlyPr-zaJ3ncJOgg-jYPOnoXetVEAR541O8MHldX/s640/pythonshellmenu.png" width="640" /></a></div>
<br />
The Graphical User Interface (GUI) for the Raspberry Pi Wobbulator was designed and programmed using Tkinter - the GUI programming toolkit supplied with Python. Although it is not a WYSIWYG GUI design tool, Tkinter is the most commonly used GUI toolkit, and can be used to create simple GUI’s fairly easily. For details of the Tkinter package and links to Tkinter documentation, please visit the <a href="http://visit%20the%20python%20website/" target="_blank">Python </a>website. There's also an excellent online <a href="http://infohost.nmt.edu/tcc/help/pubs/tkinter/tkinter.pdf" target="_blank">Tkinter reference</a> written by John W. Shipman if you're interested in learning how to use Tkinter. A screenshot of the Raspberry Pi Wobbulator GUI is shown below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH40AfFyu0aCLsnlJN_Hu20UHs8zwsWL2T5zHGEZJZrJYO72RJESodiwpqhDC97B_rNPEEHU5Z_e_OC_7G9yzAhcBdGITY7YHjmYCoXrttUCnPr0OylzW5Hmo7GNLLKJk6v15vZDNfEiOT/s1600/GUI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="634" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH40AfFyu0aCLsnlJN_Hu20UHs8zwsWL2T5zHGEZJZrJYO72RJESodiwpqhDC97B_rNPEEHU5Z_e_OC_7G9yzAhcBdGITY7YHjmYCoXrttUCnPr0OylzW5Hmo7GNLLKJk6v15vZDNfEiOT/s640/GUI.png" width="640" /></a></div>
<br />
The user can enter parameters for the frequency sweep along the bottom of the screen. The various buttons down the right hand side of the main window allow the user to select the input channel (Ch) on the ADC Pi module, the gain for the PGA, and the line colour used to plot the response curve. The “RUN” button initiates the frequency sweep, and the response curve of the circuit under test is plotted in the “results area” (the large cyan coloured area taking up most of the main window). The X-axis on the results area represents frequency from the “start frequency” on the left to the “stop frequency” on the right and the Y-axis represents the magnitude of the signal passing through the circuit under test, as measured by the ADC Pi module.<br />
The user can choose whether or not to display a grid over the results area, and the “CLS” button clears the results area of any previous plots.<br />
<br />
Event handlers were written for the various GUI “widgets” and the test code for the DDS module and ADC module was modified and incorporated into the program to implement the low level communication between the hardware modules and the Raspberry Pi’s GPIO header.<br />
<div>
<br />
The source code for the Raspberry Pi Wobbulator can be downloaded from <a href="https://github.com/mi0iou/RPi_Wobbulator" target="_blank">Github</a>, or you can use the "git clone" command to download a copy of the repository on to your Raspberry Pi. To do this, type the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong><span style="font-family: inherit;">:</span><br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> git clone https://github.com/mi0iou/RPi_Wobbulator.git_</span></span><br />
<br />
<span style="font-family: inherit;">When you execute this command, a new folder called "RPi_Wobbulator" will be created under "/home/pi" and the source code (and other files) will be downloaded and saved in this folder. You will see the following messages in the terminal window (or at the command line prompt) as this takes place.</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyjieyidS4TEUOsdY-fFWIgndTcACNrclEsAljYMtt2XQztaAZ2fFELDW9oDWJMgYQfZNfJD2Yx6nGrwOC5jLMg-LeWxp6u8AedeUadChrMcv8eB8wbxOjiMFPDnTzT6yedlOyqgt2QktK/s1600/gitclone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyjieyidS4TEUOsdY-fFWIgndTcACNrclEsAljYMtt2XQztaAZ2fFELDW9oDWJMgYQfZNfJD2Yx6nGrwOC5jLMg-LeWxp6u8AedeUadChrMcv8eB8wbxOjiMFPDnTzT6yedlOyqgt2QktK/s640/gitclone.png" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Now if you launch IDLE 3 you can open the file "rpi_wobbulator.py" and run it by selecting "Run->RunModule" or by pressing "F5".</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbowhayyvbEaWPBkJgN080JVmczekzWKi4KuucUyO_WW_o2JfP-yAWEXycARFcrPHV3LUwiaYaYpRr94v3FXk31GNdcrVvigO9rgpNzShLFbevNzXQPQ2UCmusGLeXMdeirRAZ-dCCQkSx/s1600/sourcecode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="544" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbowhayyvbEaWPBkJgN080JVmczekzWKi4KuucUyO_WW_o2JfP-yAWEXycARFcrPHV3LUwiaYaYpRr94v3FXk31GNdcrVvigO9rgpNzShLFbevNzXQPQ2UCmusGLeXMdeirRAZ-dCCQkSx/s640/sourcecode.png" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span>
<br />
<span style="font-family: inherit;">In my next posts I'll discuss some of the results obtained when the Raspberry Pi Wobbulator was used to examine the frequency response characteristics of an RF crystal, an IF transformer, and </span>a multiband bandpass filter.</div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com2tag:blogger.com,1999:blog-5126379320954837196.post-36101235659393438442013-10-24T11:12:00.001+01:002013-10-24T11:21:39.200+01:00Adding an Envelope Detector to convert an RF input to a DC output<div class="MsoPlainText">
<span lang="EN-GB"></span></div>
<div class="MsoNormal">
I connected the ADC Pi module to the GPIO header and stacked the DDS module on top. PCB support spacers were used to hold the modules together and to take the strain off the GPIO pins.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7wdjamv4ZXuppdfgxTi9BFb1XByc4Ff5WwxqEIJ6NoxNHwoYFi23Z0NRtlk71hPyhMDHCmhUk75oZuQsAfxbsVCfeIcK9P8fMqNnsxJmqIp3ZVD2i7fe6b8kNXYvq_UDzZ1XW6pP3BAub/s1600/wobby1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7wdjamv4ZXuppdfgxTi9BFb1XByc4Ff5WwxqEIJ6NoxNHwoYFi23Z0NRtlk71hPyhMDHCmhUk75oZuQsAfxbsVCfeIcK9P8fMqNnsxJmqIp3ZVD2i7fe6b8kNXYvq_UDzZ1XW6pP3BAub/s640/wobby1.JPG" width="640" /></a></div>
<br />
And here's how it looks from the other side...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEuEk5qNyoURfCLk74f3l_lMuI44q53eQ_7pzW4rJY1M8zFVT3ED83X0T1qR3oU1kr9huP94UUo_PXFBBTQVpBjw1lRorxOQ_2eTYp5TAojfeInPGFm-a603CORd74P8Qe3vzsblUD_VGx/s1600/wobby2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEuEk5qNyoURfCLk74f3l_lMuI44q53eQ_7pzW4rJY1M8zFVT3ED83X0T1qR3oU1kr9huP94UUo_PXFBBTQVpBjw1lRorxOQ_2eTYp5TAojfeInPGFm-a603CORd74P8Qe3vzsblUD_VGx/s640/wobby2.JPG" width="640" /></a></div>
<br />
All that was left to do was to use a simple envelope detector to convert the RF coming out on the circuit under test into a DC voltage that could be measured by the ADC Pi module - time for a little bit of theory...<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXLz3z0boMCfIQ9K2Z2boEarHGRs4BwDxcmI-DDta97rsjxvlPYhRXSyL7iGzznINSAUX-K8SmUsakhUmuna-TO8LMluVxXCyqD6_G69mYazid-VFdO6Nu6SduXt4Z4lGA7NXSP6Br8sEj/s1600/Simple_envelope_detector.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXLz3z0boMCfIQ9K2Z2boEarHGRs4BwDxcmI-DDta97rsjxvlPYhRXSyL7iGzznINSAUX-K8SmUsakhUmuna-TO8LMluVxXCyqD6_G69mYazid-VFdO6Nu6SduXt4Z4lGA7NXSP6Br8sEj/s640/Simple_envelope_detector.gif" width="640" /></a></div>
A simple envelope detector is shown above. It consists of only three components - a diode, a capacitor and a resistor. An RF signal (Vi) is fed into the detector and a DC signal (Vo) comes out the other end. The RF input (blue line) and DC output (red line) signals are plotted below.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4bA6uXm7_n7DAaRSIxlxY0sdmukZ6vvG5liXnxxH-z04vbiNiFNnk6ALZrVCkd_n4uEKZTq-x6OOwl7RIAr9oXwLOeXu8EOmV75dMOmnYTjZAo6cqirCt3Y1O6P5Ce0EH1iyAayFtzOcW/s1600/Analytic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4bA6uXm7_n7DAaRSIxlxY0sdmukZ6vvG5liXnxxH-z04vbiNiFNnk6ALZrVCkd_n4uEKZTq-x6OOwl7RIAr9oXwLOeXu8EOmV75dMOmnYTjZAo6cqirCt3Y1O6P5Ce0EH1iyAayFtzOcW/s640/Analytic.png" width="640" /></a></div>
When I tried using a simple envelope detector I discovered that I was getting little or no signal out of the envelope detector. So much for the theory! I measured the peak RF voltage coming out of the circuit under test I found it to be around 0.2Volts (200mV) - this was the cause of the problem! Time for some more theory...<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7yUR5s1tqshYG5tLLGSsKoAqOOwaa6pXHPZlZZHFg3Q5CAgDlcrka45wwkmgU9YqxV7JCjkY5FSnGhth0obbWiavihnPZLneSuvn5drKG3iGmgdsgI-e6Z6L_Wk-OayiTzdPCr-WmLh_/s1600/Diode_current_wiki.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="478" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7yUR5s1tqshYG5tLLGSsKoAqOOwaa6pXHPZlZZHFg3Q5CAgDlcrka45wwkmgU9YqxV7JCjkY5FSnGhth0obbWiavihnPZLneSuvn5drKG3iGmgdsgI-e6Z6L_Wk-OayiTzdPCr-WmLh_/s640/Diode_current_wiki.png" width="640" /></a><br />
<br />
With reference to the graph above, a diode needs a certain level of forward voltage "Vd" to "turn it on". For a Silicon diode this voltage is about 0.7 Volts and for a Germanium this voltage is around 0.25 Volts (250 mV), which is around the same level as (or greater than) the peak RF signal voltage I was trying to detect. Therefore the RF signal I was trying to detect and measure was insufficient to drive the simple envelope detector.<br />
<br />
<span style="font-family: inherit;">The solution was to use a buffer amplifier with
a high input impedance and a biased detector stage to convert of the RF signals
to a DC voltage. A design by <a href="http://www.zen22142.zen.co.uk/Circuits/Testgear/rfmv.htm" target="_blank">Rodney Byne</a> for the front end of a Wideband RF
Millivoltmeter was adopted and modified for use with the RPi Wobbulator.
The circuit diagram is shown below:</span><br />
<span style="font-family: inherit;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_RpWd_tz6gKrmUOKfOZ0dVMc5Iwnbq7WFvYYTXFkszTdpkxsQAwc6-_jEaNc12bgXnQuRcZRrCBNeYuJj4CKXjDV6PBgZDR59lV-DzzIBtLJPuR5i4hY7idxBY7SZec14mZQA8Up60rOk/s1600/rfmv_sch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_RpWd_tz6gKrmUOKfOZ0dVMc5Iwnbq7WFvYYTXFkszTdpkxsQAwc6-_jEaNc12bgXnQuRcZRrCBNeYuJj4CKXjDV6PBgZDR59lV-DzzIBtLJPuR5i4hY7idxBY7SZec14mZQA8Up60rOk/s640/rfmv_sch.png" width="640" /></a></div>
<span style="font-family: inherit;">The circuit uses a JFET transistor in “source follower” configuration, which has a gain of less than 1, but has a very high input impedance, therefore minimising the loading on the circuit under test. Diodes D1 and D2 are both Schottky type 1N5711 which have good RF bandwidth. </span><span style="font-family: inherit;">With no RF input, VR1 was adjusted for a quiescent bias voltage of about 0.25 V (250mV). This seemed to be a good compromise between quiescent power consumption and linear performance when dealing with small RF signals.</span></div>
<div class="MsoPlainText">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoPlainText">
<span style="font-family: inherit;">The Buffer Amp / Detector was constructed on a prototype board and housed in a diecast aluminium box. A PP3 battery was used to power the circuit. The completed Buffer Amp / Detector is shown below.</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN6hhr0WolNYJ6V06ruYfczqhHIsfplk5TR5yBAkuI13vnRuu_iuv344sAL8vKS3lQTacQr3cBdf2AmOrDhokB_JSGw71Cu0u-8LW7ncM6rkhMVUuRNyVWU9PiT2T5_wGJChvWLAaOJ7Cu/s1600/buffer.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN6hhr0WolNYJ6V06ruYfczqhHIsfplk5TR5yBAkuI13vnRuu_iuv344sAL8vKS3lQTacQr3cBdf2AmOrDhokB_JSGw71Cu0u-8LW7ncM6rkhMVUuRNyVWU9PiT2T5_wGJChvWLAaOJ7Cu/s640/buffer.JPG" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">The Buffer Amplifier / Detector was tested at
various frequencies and at various input levels, and the DC output (minus the
quiescent bias voltage) was found to be approximately equal to the peak voltage
of the RF signal applied to the input. In other words, when a 0.2 Volt (200mV) peak RF signal was applied to the input of the Buffer Amplifier / Detector, the DC output from the Buffer Amplifier / Detector was approximately 0.2 Volts (200mV), plus the </span>the quiescent bias voltage. This is well within the measurement capabilities of the ADC Pi module. Happy days!<br />
<br />
So that about wraps it up for the hardware side of the Raspberry Pi Wobbulator. In my next post I'll discuss the development of the Raspberry Pi Wobbulator software.</div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com5tag:blogger.com,1999:blog-5126379320954837196.post-42865261826523003302013-10-22T13:06:00.000+01:002013-10-22T14:47:06.998+01:00Measuring DC voltages on the Raspberry Pi using the ADC Pi moduleThe Raspberry Pi does not have a built in analogue to digital converter (ADC) so a suitable “external” ADC module had to be found. I chose the ADC Pi module from <a href="http://www.abelectronics.co.uk/default.aspx" target="_blank">Abelectronics</a> because of its multiple 18 bit input channels and its i2c interface. It also had the advantage of having a “stackable” design so that once connected to the Raspberry Pi’s GPIO header, it allowed other modules to be stacked on top.<br />
<br />
Although this post deals with how to use ADC Pi module in the context of the Raspberry Pi Wobbulator, the information contained here is applicable to ANY situation where you want to use the Raspberry Pi to measure a DC voltage (e.g. analogue sensors like LDR's, thermistors etc). The ADC Pi module is extremely versatile.<br />
<br />
All 8 input channels on the ADC Pi module have a built-in potential divider giving an effective input voltage range of approximately 0 to 5V DC. However considering the low level output of the DDS module, I decided to remove the potential divider on Channel 1 and connect the input directly to the ADC chip, thus reducing the input voltage range to approximately 0 to 2V DC. Some right angled PCB pins were also soldered to the input terminals on the ADC Pi module to provide easy connection of “flying leads”.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiB06H6JG_yx820WVGeoa_LW-oCEmTQklAbWFRwe-9VTU0nALfochbBXJFdXmkH8k8xjgD30959-IE4pvGm9zg00E4RHaudEnYStzGiyALDdla2IK4-sxkuP-qDWTs-eieI7GU1P3VXmJR/s1600/ADC.jpg" imageanchor="1"><img border="0" height="528" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiB06H6JG_yx820WVGeoa_LW-oCEmTQklAbWFRwe-9VTU0nALfochbBXJFdXmkH8k8xjgD30959-IE4pvGm9zg00E4RHaudEnYStzGiyALDdla2IK4-sxkuP-qDWTs-eieI7GU1P3VXmJR/s640/ADC.jpg" width="640" /></a></div>
<br />
<div>
In the photo above the input pins that I added are on the left and the pins on the right are the “address select” pins for the onboard ADC chip (but you really don't need to worry these - just leave the jumpers where they are). The modified input to Channel 1 can clearly be seen in the above photo - apologies for the crude soldering - I have since learned how to solder surface mount components, and bought a fine tipped iron...</div>
<div>
<br /></div>
<div>
<div>
The ADC Pi module has an onboard programmable gain amplifier (PGA) for each input channel with a user selectable gain of 1x, 2x, 4x and 8x, effectively increasing the sensitivity of the input channels by a factor of up to 8. Thus the input voltage range of Channel 1 will be approximately 0 to 250mV DC if the maximum gain is selected, which is of the same order of magnitude as the peak output from the DDS module. <a href="http://www.abelectronics.co.uk/default.aspx" target="_blank">Abelectronics</a> provide some sample Python software for communicating with and controlling the ADC Pi module. This software is available on <a href="https://github.com/abelectronicsuk/adcpiv2" target="_blank">GitHub</a> and gives examples of how to take readings from the ADC Pi module and how to specify the input channel and select the gain of the PGA. The ADC Pi module uses I2C protocol to communicate with the Raspberry Pi, and this uses GPIO pins 3 and 5 (GPIO2 and GPIO3 on the Raspberry Pi Rev 2 board). However, I2C is not enabled by default on the Raspberry Pi, so there are a few preparatory tasks you need to perform before you can connect and use the ADC Pi module:</div>
<div>
<br /></div>
<div>
Open the file “/etc/modprobe.d/raspi-blacklist.conf” in Leafpad, go to the end of the file and "comment out" the last line by inserting a ‘#’ at the start of the line so that it looks like as shown below. Then save and close the file but please note that you will need root privileges to do so.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjACshP4IjFc-yQ70CNF0rOlq_J5HJNOmgkJU51pmkRzupTOPih2Js4K6TU5Ui_-3EVYPd7JzdZ1z_jLUr86u42nn9EL3w2cO-oOFta8RuzVAurFr5mOdotEPLykoxluV9zXIqUPytvaaK3/s1600/blacklist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjACshP4IjFc-yQ70CNF0rOlq_J5HJNOmgkJU51pmkRzupTOPih2Js4K6TU5Ui_-3EVYPd7JzdZ1z_jLUr86u42nn9EL3w2cO-oOFta8RuzVAurFr5mOdotEPLykoxluV9zXIqUPytvaaK3/s640/blacklist.png" width="640" /></a></div>
<br />
Open the file “/etc/modules” in Leafpad and add the line "i2c-dev" to the end of the file so that it looks like as shown below. Then save and close the file.</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiWBc1qKTdpobVvNw5cp5t8tCeNBajLRjIeItPaxT1RU0EJuueHehFjN5x1ofiCgigTLuJyMcAftzPIYT6aBWelXz-xQJ-oMkw2TcxjDHVxV1D7ZDz9LxKh7tWWkOLKSG5eRiRTurjuRsW/s1600/modules.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiWBc1qKTdpobVvNw5cp5t8tCeNBajLRjIeItPaxT1RU0EJuueHehFjN5x1ofiCgigTLuJyMcAftzPIYT6aBWelXz-xQJ-oMkw2TcxjDHVxV1D7ZDz9LxKh7tWWkOLKSG5eRiRTurjuRsW/s640/modules.png" width="640" /></a></div>
<br />
Now you need to install the “i2c-tools” package. Entering the following at the command prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo apt-get install i2c-tools_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>
Add your user name to the i2c group by entering the following at the command prompt (assuming your user name is “pi”) and pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo adduser pi i2c_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>
Now it's time to power down your Raspberry Pi and plug the ADC Pi module into the GPIO header.<br />
<br />
After you reboot your Raspberry Pi, enter the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> i2cdetect -y 1_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>This should detect the presence of the ADC Pi module and display the address of the i2c bus as shown below.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbFJlUFN8eGsTQ370v9kJAUQx_AOxCppAV-2lBT4dXQliH2xaPiqMy8euL15x-kUzQ44vMwzTAJ0W_OeRwwUpg6MgLvzsiSlTj8pZOvaV0qn8yqB_z71Oew4gW83PagvA3fTAJ3JhOXiF2/s1600/i2c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbFJlUFN8eGsTQ370v9kJAUQx_AOxCppAV-2lBT4dXQliH2xaPiqMy8euL15x-kUzQ44vMwzTAJ0W_OeRwwUpg6MgLvzsiSlTj8pZOvaV0qn8yqB_z71Oew4gW83PagvA3fTAJ3JhOXiF2/s1600/i2c.png" /></a></div>
<br />
The ADC Pi module uses the Quick2Wire library to allow easy access to the I2C port from Python 3. You need to download and install the Quick2Wire library, but first you need to download and install Setuptools.<br />
<br />
Download the most up-to-date version of Setuptools (currently v1.1.6) from the <a href="https://pypi.python.org/pypi/setuptools/" target="_blank">Python website</a>.<span style="white-space: pre;"> </span>Extract the “.tar.gz” package, go to the folder called “/setuptools-1.1.6” and enter the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: blue;">.../setuptools-1.1.6 $</span><span style="color: white;"> sudo python3 ez_setup.py_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>
Now download the Quick2Wire Python API package from GitHub. Extract the ".zip" file, go to the folder called “/quick2wire-python-api-master” and enter the following at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: blue;">.../quick2wire-python-api-master $ </span><span style="color: white;">sudo python3 setup.py install_</span></span><br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: white;"><br /></span></span>
Download the "adcpiv2" sample code from <a href="https://github.com/abelectronicsuk/adcpiv2" target="_blank">GitHub</a>. Launch IDLE3 and open the file "adcpiv2.py" and run it by selecting "Run->Run Module (or by pressing "F5"). The program continually takes readings from channel 1 on the ADC Pi module and displays the results on the Python Shell window. The results shown in the screenshot below were obtained by connecting a “AA” battery to the input of channel 1 on the ADC Pi module while the program was running.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN1IWAMyuPa5x9OzFkdcZzSkgUVw2b7FTuZU82Y_J1YB-nQl4M3GmEvy5oE_gYFXYJ9PQAabsvmlrgCcrut9Gmx5sidkN7-mPAhYWf6FelYn9CriV_FuYIeH-ws412TB1UAhVh_y0I-4sq/s1600/ADC.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN1IWAMyuPa5x9OzFkdcZzSkgUVw2b7FTuZU82Y_J1YB-nQl4M3GmEvy5oE_gYFXYJ9PQAabsvmlrgCcrut9Gmx5sidkN7-mPAhYWf6FelYn9CriV_FuYIeH-ws412TB1UAhVh_y0I-4sq/s640/ADC.png" width="640" /></a></div>
<br />
Congratulations! You've just made the world's most complex battery tester! You can stop the program running by pressing "Ctrl + C" when the Python Shell window is active.<br />
<br />
So now we have a Raspberry Pi capable of generating an RF signal (see my <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/10/connecting-dds-module-to-raspberry-pi.html" target="_blank">previous post</a>) and measuring an analogue DC signal. The final part of hardware required for the Raspberry Pi Wobbulator is some sort of detector to convert the RF coming out of the circuit under test into an analogue DC signal. That will be the subject of my next post.<br />
<br /></div>
</div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com2tag:blogger.com,1999:blog-5126379320954837196.post-7660624110806474352013-10-19T21:42:00.001+01:002013-11-17T12:46:02.052+00:00Connecting the DDS Module to the Raspberry Pi to make a simple RF Signal Generator<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">The DDS module used to generate the RF signal for the Raspberry Pi Wobbulator is based on the AD9850 frequency synthesizer chip
and is available from a number of suppliers on eBay. There are a few variations
on the design of the module but the one used in this project is shown in below (mounted on a breadboard for initial testing).<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCFLmgzhjovBmxHin9Cc15YT3qAQQenvuHnl5pMebpHTSrhoU1t_IXz982rB4rwL7KwNgH2U4ge54CnqGwoFwGvf9B4D_YEfASKeAt6Weh2DXFSFVDU39Yhsz6UzPS-gUn-XhiZ7obHRE9/s1600/DDS.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCFLmgzhjovBmxHin9Cc15YT3qAQQenvuHnl5pMebpHTSrhoU1t_IXz982rB4rwL7KwNgH2U4ge54CnqGwoFwGvf9B4D_YEfASKeAt6Weh2DXFSFVDU39Yhsz6UzPS-gUn-XhiZ7obHRE9/s640/DDS.jpg" width="640" /></span></a></div>
<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;"></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span lang="EN-GB">The DDS module was connected directly to the GPIO header on the Raspberry Pi using “flying leads” according to the following schematic. </span>Note that the VCC pin on the DDS module is connected directly to the 3.3V pin on the Raspberry Pi to ensure compatibility with the 3.3V TTL logic levels used by the Raspberry Pi. </span><br />
<div>
<span style="font-family: inherit;"><br /></span></div>
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO_Pst171-2wmHQEQmkBWwKAznogOpK54FtXQcfERHBhJeiY8cJ6vCe1c6O-VCFfflgJ_dFcsPZ0tkkAOmwXGcKPyARLXkuI19W8A9pYtQuIyuWFFfmcLlqzlYy0ssC6VmmBWd7anaZ6D3/s1600/schematic3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO_Pst171-2wmHQEQmkBWwKAznogOpK54FtXQcfERHBhJeiY8cJ6vCe1c6O-VCFfflgJ_dFcsPZ0tkkAOmwXGcKPyARLXkuI19W8A9pYtQuIyuWFFfmcLlqzlYy0ssC6VmmBWd7anaZ6D3/s640/schematic3.png" width="640" /></a></span><br />
<span style="font-family: inherit;"><span lang="EN-GB" style="mso-ansi-language: EN-GB;"><br /></span>
<span lang="EN-GB" style="mso-ansi-language: EN-GB;">The DDS module must be loaded with a 40 bit control word and this is
achieved by programming the GPIO pins on the Raspberry Pi to communicate with
the DDS module. A quick online search resulted in a simple Python program for controlling the DDS module being found on <a href="http://m0xpd.blogspot.co.uk/" target="_blank">M0XPD’s “Shack Nasties”</a> blog.</span></span><br />
<span style="font-family: inherit;"><span lang="EN-GB" style="mso-ansi-language: EN-GB;"><br /></span>
<span lang="EN-GB" style="mso-ansi-language: EN-GB;">This code was rewritten to work with Python 3 (and also to use different GPIO pins) and a simple GUI designed and programmed to allow the user to choose the frequency and to start and stop the DDS module - effectively creating a simple and cheap RF signal generator, which I (rather unimaginatively) called the "RPi RF Signal Generator" (or "RPi RFSigGen" for short). A screenshot of the user interface of the RPi RFSigGen is shown below.</span></span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKvVgYyg0lergm6AluVaZdZOfE32Pho9b8Jxdhc_a3fJ19_Vel3yBtDo0Tzp_s5ZUpcx14SaRf6fnaNJycPd8WrRerSS1Ig6dKgVj7E4HZi8VfM0zeQsRknuiIcv-5o5JueK8c6YrboKGf/s1600/rpi_rfsiggen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKvVgYyg0lergm6AluVaZdZOfE32Pho9b8Jxdhc_a3fJ19_Vel3yBtDo0Tzp_s5ZUpcx14SaRf6fnaNJycPd8WrRerSS1Ig6dKgVj7E4HZi8VfM0zeQsRknuiIcv-5o5JueK8c6YrboKGf/s1600/rpi_rfsiggen.png" /></span></a></div>
<span style="font-family: inherit;"><br />
You can download the RPi RFSigGen Python 3 source code from <a href="https://github.com/mi0iou/" target="_blank">GitHub</a> as a "<a href="https://github.com/mi0iou/RPi_RFSigGen/archive/master.zip" target="_blank">zip</a>" archive. Extract all the files, launch IDLE3 (the Python 3 Integrated Development Environment bundled with the Raspbian "Wheezy" operating system), and open the file "rpi_rfsiggen.py". You should see the source code appear in a separate window. Select "Run -> Run Module" from the menu, or simply press "F5" to run the program, but note
that the program must be run with "root" privileges or as “sudo”. </span><br />
<span style="font-family: inherit;"><br />
The most convenient way to do this is to open the "idle3.desktop" file in Leafpad and edit it by inserting "sudo " in front of "/usr/bin/idle3" as shown below (I've highlighted the required change to make it stand out). Now every time you launch IDLE3 by double clicking on the IDLE3 icon on your LXDE desktop, you will have root privileges.</span><br />
<span style="font-family: inherit;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBjXAjJ0IEbQmgYtB1iYKd9GjuwWIiBS1fLAOs2zjzQquLLFFQYBFVh29AfvsSBmYHaIkjiqf1TGuIAva9bvmhVnVdb1G9kUqkJ7HSeJzuFcRE0YOAnuthFjgztpDuPBcE3rlQQnCLXeuM/s1600/idle3desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBjXAjJ0IEbQmgYtB1iYKd9GjuwWIiBS1fLAOs2zjzQquLLFFQYBFVh29AfvsSBmYHaIkjiqf1TGuIAva9bvmhVnVdb1G9kUqkJ7HSeJzuFcRE0YOAnuthFjgztpDuPBcE3rlQQnCLXeuM/s1600/idle3desktop.png" /></span></a></div>
<br />
<span style="font-family: inherit;">
Alternatively, you can launch IDLE3 with root </span>privileges<span style="font-family: inherit;"> by typing the following at the command line prompt in a terminal window and </span>pressing <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong><span style="font-family: inherit;"> (but you have to do this every time you want to launch IDLE3 as sudo).</span><br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo idle3_</span></span><br />
<br />
<span style="font-family: inherit;">So, I used the RPi RFSigGen program to test the DDS module at various frequencies across the HF spectrum.There are two sine wave outputs available on the DDS module (“sin A” and
“sin B”) and the waveform and spectrum of the outputs from both were examined
at various frequencies up to around 30MHz. The output from “sin B” was found to
be much cleaner than the output from “sin A” and largely free from harmonic
distortion. The output from "sin B" in the frequency domain is shown below for 21 MHz. You can see that the output at third and fifth harmonics is very low, and this was typical of the performance of the DDS module right across the HF spectrum. Please ignore the large peak at the lower end of the spectrum (around 4MHz) – this is an spurious signal that is always present (even when there's no RF input!).</span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmAtTLs35R6mwrU4eqccT6Ez2HNHzija-swAvNqR67GVWysGEWN8A4otwBiC6hMfrHbsbZQdnP_mEKbP7wJTFaAgRN9l_qZv9bhY6FXkA6pauqF6tz6AJX_MNmvXh2Zs55-SY6xKDT0mvS/s1600/FFT21.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" height="476" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmAtTLs35R6mwrU4eqccT6Ez2HNHzija-swAvNqR67GVWysGEWN8A4otwBiC6hMfrHbsbZQdnP_mEKbP7wJTFaAgRN9l_qZv9bhY6FXkA6pauqF6tz6AJX_MNmvXh2Zs55-SY6xKDT0mvS/s640/FFT21.jpg" width="640" /></span></a></div>
<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">The accuracy of the frequency output from the DDS module was also
checked using a frequency counter and was found to be within a few Hertz of the
specified frequency and also showed little or no drifting over time. </span><span style="font-family: inherit;">The level of output from the "sin B" output on the DDS module was found was found to be fairly
constant (between 0.3V peak and 0.4V peak) over the HF spectrum, although the output was found to have a DC component. Therefore I decided to use DC blocking capacitors on the DDS output.</span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span lang="EN-GB" style="mso-ansi-language: EN-GB;">I decided to mount the DDS module on an <a href="http://www.adafruit.com/products/801" target="_blank">Adafruit prototyping board</a>. PCB pins were soldered to the prototyping board for the various outputs from the DDS module, and an SMA socket was mounted on the prototyping board to provide a coax output. </span>DC blocking capacitors (1000pF or 1nF) were soldered on the "sin B" output from the DDS module to remove any DC component, but these are not visible on the photo below because they are on the underside of the prototyping board.</span></div>
<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrsRjXYWJ4YJoQRY4yFmv0V1qvotoWdpP-Z8DNHBtdX3TS2gCM-16P9qJrmB5FZkNb6WUyhunUE87xmwPdSX5O2EWwVdUhr6NH3xpxwpILjKuMxHHQF8ht4tQ3MKJxYzIIVHR418vZvp9b/s1600/DDS2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrsRjXYWJ4YJoQRY4yFmv0V1qvotoWdpP-Z8DNHBtdX3TS2gCM-16P9qJrmB5FZkNb6WUyhunUE87xmwPdSX5O2EWwVdUhr6NH3xpxwpILjKuMxHHQF8ht4tQ3MKJxYzIIVHR418vZvp9b/s640/DDS2.jpg" width="640" /></span></a></div>
<div class="" style="clear: both; text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div class="" style="clear: both; text-align: left;">
<span style="font-family: inherit;">As before, GPIO pins 22, 23, 24, and 25 are used to control the DDS module, but the wiring is now very straight forward due to the convenient location of the the "break-out" terminals for these pins on the prototyping board.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">My next post will look at how to use an ADC module with the Raspberry Pi to measure analogue voltages.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal">
<br /></div>
Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com5tag:blogger.com,1999:blog-5126379320954837196.post-83285409123247726312013-10-18T16:03:00.000+01:002013-10-19T20:41:06.102+01:00Raspberry Pi Wobbulator - Conceptual Design<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit;">The basic configuration of a “conventional” wobbulator is shown below. The wobbulator generates a “saw-tooth” waveform which is used as the
control input voltage for a Voltage Controlled Oscillator (VCO) and also as the
external trigger voltage to control the time base (X direction)on the oscilloscope. The swept frequency output
from the VCO is injected into the circuit under test and the resulting output
is fed (via a detector circuit if necessary) to the Y axis input on the
Oscilloscope. The resulting trace on the Oscilloscope shows the response of the
circuit under test over the range of frequencies.</span><br />
<span lang="EN-GB" style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDpFtUEDJyrZxM_JaC1DnPMI2jvD0EaYzt77nKgQhB7lobIqAM5sfWMsS9CwWD-sauhmhJRBLfgZb9qbHXrXCfKq9XJGWDEYRVG43nwsPrNYnVhGUTMELN_9yGbio8usQD0DJWWC91tYZO/s1600/schematic2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="335" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDpFtUEDJyrZxM_JaC1DnPMI2jvD0EaYzt77nKgQhB7lobIqAM5sfWMsS9CwWD-sauhmhJRBLfgZb9qbHXrXCfKq9XJGWDEYRVG43nwsPrNYnVhGUTMELN_9yGbio8usQD0DJWWC91tYZO/s640/schematic2.png" width="640" /></a></div>
<span lang="EN-GB" style="font-family: inherit;"><br /></span>
<span lang="EN-GB" style="font-family: inherit;">The Raspberry Pi Wobbulator achieves the same result by using a Direct Digital Synthesiser (DDS) module to
generate the frequency sweep and an Analogue to Digital Converter (ADC) module
to “measure” the response of the circuit under test. The DDS and ADC modules are controlled by and communicate with the
software running on the Raspberry Pi via a Graphical User Interface (GUI) and
the resulting frequency response curve of the circuit under test is be
plotted by the software and displayed on the GUI.</span><br />
<span lang="EN-GB" style="font-family: inherit;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><span style="font-family: inherit;"><span lang="EN-GB"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcdhGE8odqv6V5SDOcTKVxxGYDUYSecwlI0RSTszL5GaDPbjSMZd2gQALVEaIGvNEGRwHNvjQFsTU-wCYPR8C1dVFl1s4PaDaH7D3DIChlGCXPM1H1Z8G69bogapV4XJc_En0gcV3eYXo/s1600/schematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcdhGE8odqv6V5SDOcTKVxxGYDUYSecwlI0RSTszL5GaDPbjSMZd2gQALVEaIGvNEGRwHNvjQFsTU-wCYPR8C1dVFl1s4PaDaH7D3DIChlGCXPM1H1Z8G69bogapV4XJc_En0gcV3eYXo/s640/schematic.png" width="640" /></span></a></span></span></span></div>
<span style="font-family: inherit;"><span style="font-family: inherit;"><span lang="EN-GB">
</span></span></span>
<br />
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="font-family: inherit;"><span lang="EN-GB"><span style="font-family: inherit;"><br /></span></span></span></span></div>
<span style="font-family: inherit;"><span style="font-family: inherit;"><span lang="EN-GB">
</span></span></span>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="font-family: inherit;"><span lang="EN-GB"><span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">The Raspberry Pi Wobbulator offers the following
advantages over a conventional wobbulator.<o:p></o:p></span></span></span></span></div>
<span style="font-family: inherit;"><span style="font-family: inherit;"><span lang="EN-GB">
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span></div>
<ul style="margin-top: 0cm;" type="disc">
<li class="MsoNormal"><span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">Easy to use<o:p></o:p></span></li>
<li class="MsoNormal"><span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">Multiple ADC
input channels available<o:p></o:p></span></li>
<li class="MsoNormal"><span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">Precise
control of frequency sweep limits and sweep rate<o:p></o:p></span></li>
<li class="MsoNormal"><span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">Allows very
slow sweep rates to be used (important for testing some kinds of RF filters)<o:p></o:p></span></li>
<li class="MsoNormal"><span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">No need for a
VCO<o:p></o:p></span></li>
<li class="MsoNormal"><span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">No Need for
an Oscilloscope<o:p></o:p></span></li>
<li class="MsoNormal"><span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">Inexpensive
to Build<o:p></o:p></span></li>
</ul>
<div>
<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">The Raspberry Pi Wobbulator was developed on a Raspberry Pi Model B Rev 2 (512 MB RAM) running
the Raspbian “Wheezy” v7.1 (Linux kernel v3.6.11+) operating system.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-GB" style="font-family: inherit; mso-ansi-language: EN-GB;">In my next post I'll explain how the Raspberry Pi is connected to the DDS module in order to generate the RF frequency sweep.</span></div>
</div>
</span></span></span>Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com0tag:blogger.com,1999:blog-5126379320954837196.post-55437578961238911502013-10-17T13:48:00.000+01:002013-10-17T13:48:07.075+01:00Raspberry Pi Wobbulator - An IntroductionI know that I've been silent for a while, but with good reason....<br />
<br />
I have been developing the Raspberry Pi Wobbulator, also known as the Raspberry Pi Sweep Generator & Measurement Device. A wobbulator (or sweep generator) is a piece of test equipment which is used in conjunction with an Oscilloscope to measure the frequency response characteristics of a circuit. It uses a “ramp” or “sawtooth” function generator connected to a Voltage Controlled Oscillator (VCO) to produce an output sweep over a defined range of frequencies. The response characteristics of the circuit under test can then be displayed on an Oscilloscope. A wobbulator is a useful tool for aligning the intermediate frequency (IF) stages of superhet receivers, but can also be used to measure the frequency response characteristics of RF filters and other circuits.<br />
<br />
The RPi Wobbulator implements the functionality of a conventional wobbulator by using a Raspberry Pi, a Direct Digital Synthesiser (DDS) module and an Analogue to Digital Converter (ADC) module. The Raspberry Pi’s General Purpose Input Output (GPIO) interface is programmed to control the DDS module to generate the frequency sweep and to communicate with the ADC module to measure the response of the circuit under test. The Graphical User Interface (GUI) allows the user to choose the parameters for the frequency sweep and also displays the results.<br />
<br />
The completed Raspberry Pi Wobbulator prototype is shown below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV6rIQzJ9t8jVaWRFOm6_vDkQ0FWS8RDOIn95CbcJl-aBOp_ejPh6MzMCs699qGrJ69LKkuty0hlkjeeQFqwJw86ZGkm37lKVNhW0Gb8CQpv47pJfdyxyyAuYJSnFR35g7Xn1dzQfLobhT/s1600/wobby1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV6rIQzJ9t8jVaWRFOm6_vDkQ0FWS8RDOIn95CbcJl-aBOp_ejPh6MzMCs699qGrJ69LKkuty0hlkjeeQFqwJw86ZGkm37lKVNhW0Gb8CQpv47pJfdyxyyAuYJSnFR35g7Xn1dzQfLobhT/s640/wobby1.JPG" width="640" /></a></div>
<br />
The Raspberry Pi Wobbulator was designed and built as my entry into the <a href="http://www.rsgb.org/" target="_blank">RSGB </a>Centenary Construction Competition. One of the conditions of entry into the competition was that the work must not have been already published - hence the reason for my recent silence. Anyway, I'm very pleased to say that my entry won the "Pi Users" category! Here is a photo of "yours truly" receiving my prize from none other than Raspberry Pi Foundation founder and overall visionary Eben Upton (he's the good looking one on the left) at the RSGB's Centenary Convention last weekend.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-2lhH800R-pEYdiV6Nk1iw64jBOuyh5ARSuiqNi7f_pLJSVvAB6nQBXGYV9MIsYpA_7oZvNA5YIEP6obkjMxClzHw-50R4jX3SW8ZS0I_8IQueP2ayeJqzUGJQcmDCp1fyvAlc_rZ5bMt/s1600/presentation2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="538" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-2lhH800R-pEYdiV6Nk1iw64jBOuyh5ARSuiqNi7f_pLJSVvAB6nQBXGYV9MIsYpA_7oZvNA5YIEP6obkjMxClzHw-50R4jX3SW8ZS0I_8IQueP2ayeJqzUGJQcmDCp1fyvAlc_rZ5bMt/s640/presentation2.jpg" width="640" /></a></div>
<br />
Full details of the design of the Raspberry Pi Wobbulator's hardware and software will be revealed very shortly, so please "stay tuned"!Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com0tag:blogger.com,1999:blog-5126379320954837196.post-65001875405772621292013-08-21T12:27:00.000+01:002013-08-21T12:27:18.141+01:00Wireless Serial Communication with the Raspberry Pi - Part 2Now I'm going to go through how to set up the other end of the wireless serial link. In my case it is a laptop computer on which runs Linux and Windows (and I'll go through how to set up both) but it could be another Raspberry Pi or practically any other computer system.<br />
<br />
I'll be using a SFR Stick (available from <a href="http://shop.ciseco.co.uk/rf-module-range/" target="_blank">Ciseco</a>) to provide the wireless link on the laptop:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh07-G2hMo5NTXkJRNqtWqeAU0EOycWtPzRlHn8sIv-0m8-gAo0y6ZhpCtT8g57slv7i2oN0nkWDL_l1qjrq9IfnmNLbAHiniV7oWzGotlK86ZIma9Yct5wk6CR509r2n7WZX1L0ksUjpxm/s1600/radio4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh07-G2hMo5NTXkJRNqtWqeAU0EOycWtPzRlHn8sIv-0m8-gAo0y6ZhpCtT8g57slv7i2oN0nkWDL_l1qjrq9IfnmNLbAHiniV7oWzGotlK86ZIma9Yct5wk6CR509r2n7WZX1L0ksUjpxm/s640/radio4.jpg" width="346" /></a></div>
<br />
The SRF Stick is a small plug in USB module, similar in size to a USB flash drive. It can be fitted with a wire antenna to improve the range, but this means taking the case apart and drilling a hole for the wire to pass through.I decided to fit a quarter wavelength wire antenna, which in for 868 MHz is only 82mm long. <a href="http://openmicros.org/index.php/articles/84-xrf-basics/289-adding-antennas-to-ciseco-radios" target="_blank">This article</a> provided guidance on fitting the antenna.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqQRDepgV1pr28YRBDFezF9PsLxbtYe7CvnlXatQq1QM39hkargnZeZlGuv4g4wS1fe_nNXRqFZPXrl6c3C45NkZczmJyP1eayULsrLaMeIHamD2oAW6wk_Rl_r7FD9p1NAuncXbCL_MGT/s1600/radio5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqQRDepgV1pr28YRBDFezF9PsLxbtYe7CvnlXatQq1QM39hkargnZeZlGuv4g4wS1fe_nNXRqFZPXrl6c3C45NkZczmJyP1eayULsrLaMeIHamD2oAW6wk_Rl_r7FD9p1NAuncXbCL_MGT/s640/radio5.jpg" width="542" /></a></div>
<br />
<b>For Linux Users...</b><br />
<br />
I'll start off by considering how to set the hardware up under Linux, because it is simpler than under Windows and no drivers are required.<br />
<br />
Simply plug the SRF Stick into a spare USB port on your computer. You should see a flashing red LED. Now if you followed my blog post on how to connect to the Raspberry Pi remotely via a wired serial link then you should already have PuTTY installed and working - if not have a look at <a href="http://asliceofraspberrypi.blogspot.co.uk/2013/06/running-raspberry-pi-from-another-pc.html" target="_blank">this blog post </a>under the "For Linux users..." heading about two thirds of the way down.<br />
<br />
Launch PuTTY (the application is called "PuTTY SSH Client"). Click on "Terminal" down the left hand side of the PuTTY Configuration window and select the "Implicit LF in every CR" option, and the "Local Echo: Force on" option (this should be very familiar to you because it's exactly what you did previously on the Raspberry Pi). Your configuration screen should look like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdQJW8uLD3q1Jmc8fbHxNB4s1NOzBCwt0txdwd6qyiA5NWaA7I0ySyhDVXr21JE97yNePMIcsmNYNXxfRGfTZqbh8URtRnCp2Py08KpVjFMfkh-7b-J1jmb_vWQyknCURxsyY9SzdPkq7d/s1600/radio20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdQJW8uLD3q1Jmc8fbHxNB4s1NOzBCwt0txdwd6qyiA5NWaA7I0ySyhDVXr21JE97yNePMIcsmNYNXxfRGfTZqbh8URtRnCp2Py08KpVjFMfkh-7b-J1jmb_vWQyknCURxsyY9SzdPkq7d/s1600/radio20.jpg" /></a></div>
<br />
Then click on "Session"down the left hand side of the PuTTY Configuration window and select the "Serial" and specify the Serial line as "/dev/ttyACM0" and the speed as "115200". Then click on "Default Settings" and click on the "Save" button on the right. Your configuration screen should now look like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs1kO7HiogRXwlQfUV6KRiKL6aLNA0r5YDXKUwwxC_yB-SZ4G5illIHjio5ODfbp18IQSGlWrHH-2u_JmMtGi1wdfy6FFZYsB3I_JT85JR8UDWHITDLt3SLgXGzr4ms0BLQtRGoYwteqQJ/s1600/radio21.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs1kO7HiogRXwlQfUV6KRiKL6aLNA0r5YDXKUwwxC_yB-SZ4G5illIHjio5ODfbp18IQSGlWrHH-2u_JmMtGi1wdfy6FFZYsB3I_JT85JR8UDWHITDLt3SLgXGzr4ms0BLQtRGoYwteqQJ/s1600/radio21.jpg" /></a></div>
<br />
Now click on the "Open" button and you should get a blank console window. Now, in the blank console window, type "+++" , but do not press <b style="font-family: 'Trebuchet MS', sans-serif;">Enter</b>. After a short delay you should get the reply "OK". This puts the SRF Stick into "command mode" so that you can change the configuration.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYL-MVxVtBmylwUnJzd1C7MRXzYbMfFV1GL-n4i8Bz8aNMEctt-plUiguhmicKXfHeAfky1TF557iwkdmw20GOQnhLvltkaEzXLqNYk3BmwuyJzb4KWzPxrS710Lgja0-ExSRZpX00ir_T/s1600/radio23.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYL-MVxVtBmylwUnJzd1C7MRXzYbMfFV1GL-n4i8Bz8aNMEctt-plUiguhmicKXfHeAfky1TF557iwkdmw20GOQnhLvltkaEzXLqNYk3BmwuyJzb4KWzPxrS710Lgja0-ExSRZpX00ir_T/s1600/radio23.jpg" /></a></div>
<br />
However, please note that (unlike with the Slice of Radio module installed in the Raspberry Pi) I was able to communicate with the SRF Stick straight away at a baud rate 115200, and did not have to go through the whole process of changing the baud rate, applying the changes, rebooting and then writing the changes to flash memory, but if you find that you can not communicate with the SRF Stick straight away at 115200 bps, you may have to go through the same process for it as you did for the Slice of Radio module...<br />
<br />
Leaving the console window open on your Linux system (in my case my laptop), launch PuTTY on the Raspberry Pi and open a console window. Type some text on the console window on the Raspberry Pi. As if by magic, the text will also appear on the console window on your Linux system, and the reverse is also true - if you type into the console window on your Linux system, the same text will appear in the console window on your Raspberry Pi.<br />
<br />
The following screenshot was taken from my Linux system. I typed "Hello Laptop" on my Raspberry Pi, and then replied by typing "Hello Raspberry PI" on my Linux system (my laptop).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiienPAut9C4AUTRVTrruqjwUD8cdpHiH78H9pCYDM838e35JOjypn5-L6g7G0cx7N63Aje4rROwgOMwIZHs6wr9-aLpUtdJ-vtzlBlx-7YuijN-AIyBwGfkVb0sAA1iQat94PFAYQZIFd8/s1600/radio22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiienPAut9C4AUTRVTrruqjwUD8cdpHiH78H9pCYDM838e35JOjypn5-L6g7G0cx7N63Aje4rROwgOMwIZHs6wr9-aLpUtdJ-vtzlBlx-7YuijN-AIyBwGfkVb0sAA1iQat94PFAYQZIFd8/s1600/radio22.jpg" /></a></div>
<br />
Congratulations, you've just created a very simple "instant messaging" system... Now close PuTTY on both the Raspberry Pi and the Linux system. Then relaunch PuTTY on the Linux system and change the Terminal settings so that the "Implicit LF in every CR" option is not selected, and set the "Local Echo" option to Auto. The PuTTY configuration screen on your Linux system should look like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6-PIz3LipraPWcBJufAPhT5iBww86Lm4l7y1NTNW__aqG3IDBTydO2dSflmUQSkozpq3jq-spVuHu6DbSTBTPQbkn4SPoewMAkL_vjBLYoBNkUpIiAdWVdO1WaUyQncMW_MTO00wWSNUW/s1600/radio24.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6-PIz3LipraPWcBJufAPhT5iBww86Lm4l7y1NTNW__aqG3IDBTydO2dSflmUQSkozpq3jq-spVuHu6DbSTBTPQbkn4SPoewMAkL_vjBLYoBNkUpIiAdWVdO1WaUyQncMW_MTO00wWSNUW/s1600/radio24.jpg" /></a></div>
<br />
Save these settings by clicking on "Session", then "Default Settings" and finally "Save". Then click "Open" to start a new session on the Linux system. You should see a blank console window as before.<br />
<br />
Now, reboot your Raspberry Pi, and as it reboots, keep an eye on the console window on your Linux system. As the Raspberry Pi boots up the bootup information should appear in the console window on the Linux system. It should look something like this, but may be slightly different depending on how your Raspberry Pi is setup and what peripherals you have connected to it.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9K9VqvfgU3cxirzzwoIMi_TefOUDiIuMQKfBy1jSPxK8XTmMbDHWfE5kaoyl6GzSLhSjFCTQqO5lJ-t_Ci0xgtPk2hS6RAKX6CrpIUj4rWxBPNJRfVayOR6vfXzM5fddUJTxSK3zYYhTm/s1600/radio25.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9K9VqvfgU3cxirzzwoIMi_TefOUDiIuMQKfBy1jSPxK8XTmMbDHWfE5kaoyl6GzSLhSjFCTQqO5lJ-t_Ci0xgtPk2hS6RAKX6CrpIUj4rWxBPNJRfVayOR6vfXzM5fddUJTxSK3zYYhTm/s1600/radio25.jpg" /></a></div>
<br />
Leave the console window open on your Linux system, and log on to your Raspberry Pi. Go into the GUI and open an LXTerminal window. Type "sudo leafpad /etc/inittab" at the command line prompt and press <strong><span style="font-family: Trebuchet MS, sans-serif;">Enter</span></strong>:<br />
<br />
<span style="background-color: black; font-family: "Courier New", Courier, monospace;"><span style="color: lime;">pi@raspberrypi </span><span style="color: blue;">~ $</span><span style="color: white;"> sudo leafpad /etc/inittab_</span></span><br />
<br />
Scroll down to the end of the file and reinstate the very last line by deleting the "#" at the beginning of the line. Your file should now look like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizLCmFN236r_k111-RO1BDCGh31yRw7w9b6NpGBQ-SdfgtP3oye97OiQgiFrOp30cL5bGAtVla1qzVfC2UVtKqD9FgEfUbeKjcKCEZxvryyOszy5G9r_GbZVCmLf8ZNFbzqFeKWQ-QCszX/s1600/radio26.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizLCmFN236r_k111-RO1BDCGh31yRw7w9b6NpGBQ-SdfgtP3oye97OiQgiFrOp30cL5bGAtVla1qzVfC2UVtKqD9FgEfUbeKjcKCEZxvryyOszy5G9r_GbZVCmLf8ZNFbzqFeKWQ-QCszX/s1600/radio26.jpg" /></a></div>
<br />
Save the file, quit Leafpad and reboot your Raspberry Pi. This time, the console window on your Linux system should present you with a login prompt:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0fd-sIUDOPiGXvdAZ3_uOgUxWGccIBa49VvrhokZtYifY0KlueUz1MVdbwu9iNHuibyqQJXIkeSIocrAVxHxmLaxweqSpbdGDPLjpNu782KXDwX1HEZh4O9CKSO4qsp5Z7jYieJ3jxIqT/s1600/radio27.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0fd-sIUDOPiGXvdAZ3_uOgUxWGccIBa49VvrhokZtYifY0KlueUz1MVdbwu9iNHuibyqQJXIkeSIocrAVxHxmLaxweqSpbdGDPLjpNu782KXDwX1HEZh4O9CKSO4qsp5Z7jYieJ3jxIqT/s1600/radio27.jpg" /></a></div>
<br />
Go ahead and login!<br />
<br />
You should now be able to access your Raspberry Pi remotely, and wirelessly. With this configuration, the only thing the Raspberry Pi needs to operate is a source of power, which opens up all sorts of possibilities for portable operation, and by using the Ciseco RF modules the range should be much greater than would be possible using WiFi or Bluetooth.Anonymoushttp://www.blogger.com/profile/11488906443227944136noreply@blogger.com3