<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Building a Hobby Servo Controller – Part 1</title><link>/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><description>IntroductionWorking on a recent Pi project, I needed to use some servo&amp;#39;s. This blog post discusses a servo controller project that can be used for toy and model cars, planes, model robots and so on. There are existing controllers out there, but I did</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Mon, 09 Apr 2018 06:21:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>balearicdynamics</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Finally, I had the time to read this first part in depth. You are my official tutorial-man! The plus - observing pragmatically this post - is your ability to explain the thing no by your personal point of view (obviously having the proper needed knowledge) but by the point of view of the reader, that find all the information he needs to find the answers before the questions &lt;span&gt;[View:/resized-image/__size/16x16/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-60cf87df-ad6e-4b93-a4d4-f3904efe852b/2211.contentimage_5F00_1.png:16:16]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank you for sharing. Enrico&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Sun, 08 Apr 2018 20:24:20 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>three-phase</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Very useful information on servomotors, thanks for posting.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Kind regards&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Sun, 08 Apr 2018 19:04:22 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>14rhb</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Wow - great little board, they look great.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I do like your use of the DIP packaged MCU - useful if those output pins get misconnected and you need to swap it out.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Rod&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Sun, 08 Apr 2018 16:32:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The PCBs arrived last week, so I did assemble a few, but still need to test them! (slightly blurry pic from mobile..)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/1206x900/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-60cf87df-ad6e-4b93-a4d4-f3904efe852b/contentimage_5F00_186747.jpg:1206:900]&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Fri, 23 Mar 2018 17:40:10 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>fmilburn</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Hi &lt;span&gt;[mention:b0bc65b9ecdc4307bd967592f00e340a:e9ed411860ed4f2ba0265705b8793d05]&lt;/span&gt; I noticed that Adafruit linked to your post:&amp;nbsp; &lt;a class="jive-link-external-small" href="https://blog.adafruit.com/2018/03/23/building-a-hobby-servo-controller-with-raspberry-pi-raspberry_pi-piday-raspberrypi/" rel="nofollow ugc noopener" target="_blank" title="https://blog.adafruit.com/2018/03/23/building-a-hobby-servo-controller-with-raspberry-pi-raspberry_pi-piday-raspberrypi/"&gt;https://blog.adafruit.com/2018/03/23/building-a-hobby-servo-controller-with-raspberry-pi-raspberry_pi-piday-raspberrypi/&lt;/a&gt; &lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Wed, 14 Mar 2018 18:12:42 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>fmilburn</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;OK, got it.&amp;nbsp; I have examined the clock in the past on the G2553 without crystal but not extensively and such things are not my area of expertise by a long shot anyways.&amp;nbsp; Thanks for the insight and looking forward to how it works out. &lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Wed, 14 Mar 2018 15:10:08 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I discovered a couple of issues last night : ( I ordered a different servo to test with, HS-A5076HB, and noticed it has its PWM input at the middle of the supply voltage : ( From my measurements, it has maybe a 25k resistor to the supply, and 25k resistor to ground. That messes with my detection on the SERVO7/ANASEL pin to detect if a servo is connected, or if the pin is pulled high with a jumper. There are a couple of solutions:&lt;/p&gt;&lt;p&gt;(1) have a 3.3k pull-down resistor wired to the ANASEL pin. It won&amp;#39;t burn a lot of current, since the PWM pin is high for such short periods, and have the ANASEL jumper be a 680 ohm resistor pull to 3.3V via a 680 ohm resistance max. That should cater for up to 20k resistances in a servo. But since it&amp;#39;s not a standard, I can&amp;#39;t be sure if some servos have an even lower resistance.&lt;/p&gt;&lt;p&gt;(2) ditch the SERVO7/ANASEL mode selection idea. Instead, use the A0 pin to become a dedicated ANASEL pin (so people can use it without I2C at all if required), and if they are using I2C and a different I2C address is needed, just reconfigure it to a new address via I2C, using the user-defined capability we&amp;#39;ve discussed.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I much prefer option (2) I think!&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The other issue is that even with the sub-1usec jitter, I still do occasionally hear a brief sound out of the servo. So, I&amp;#39;ll test to see if reducing the jitter further makes any difference (it could be that even with near-zero jitter on the PWM pin, the servo has inaccuracy in its local timing circuitry, and could always still briefly think there is an error in position to correct.&lt;/p&gt;&lt;p&gt;I can&amp;#39;t go below 1usec jitter without an xtal : ( I did add the pads for that possibility on the PCB, but it reduces the amount of servos to 6. I&amp;#39;m hoping the servo is only behaving this way because of bad power supply (I&amp;#39;m not using any PCB or stripboard, and little supply decoupling - anyway I can test with the PCB in a week or two when it arrives.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Mon, 12 Mar 2018 20:02:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>DAB</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Very good post.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;DAB&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Mon, 12 Mar 2018 08:55:37 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>beacon_dave</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;Just a thought but how about setting up A0 as a &amp;#39;factory default&amp;#39; vs &amp;#39;user defined&amp;#39; address setting ?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Have a command that can be sent via the I2C bus from the host which allows the user defined address to be stored on the controller without the need to completely re-flash the controller code.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The user can then add as many driver boards as they like. e.g. Enrico and his amazing &amp;#39;dynamic surface&amp;#39; art displays which can use in the order of 64 motors (although steppers in the last case) at a time&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pi-iot/b/blog/posts/piiot---the-perfect-reading-place-19-tech-dynamic-surface-design-and-simulation"&gt;PiIoT - The perfect reading place #19 [tech]: Dynamic surface, design and simulation&lt;/a&gt;&amp;nbsp; &lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Mon, 12 Mar 2018 06:04:35 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>jw0752</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hi Shabaz,&lt;/p&gt;&lt;p&gt;Thanks for another great project. I have printed it up for future reference.&lt;/p&gt;&lt;p&gt;John&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Sun, 11 Mar 2018 23:36:23 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>genebren</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Very nice write-up on hobby servo control.&amp;nbsp; Servo controllers are very handy things.&amp;nbsp; I have used these for small robots and also for animatronic controllers.&amp;nbsp; The concept is simple, but as you have pointed out, there is zero tolerance for jitter in the pulse width.&amp;nbsp; Good luck with your coding and further design.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Gebe&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Sun, 11 Mar 2018 20:17:37 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>fmilburn</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Thanks Shabaz, great info as usual.&amp;nbsp; I look forward to your next writeup as I am a fan of the MSP430.&amp;nbsp; &lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Building a Hobby Servo Controller – Part 1</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-hobby-servo-controller-part-1</link><pubDate>Sun, 11 Mar 2018 19:43:29 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:60cf87df-ad6e-4b93-a4d4-f3904efe852b</guid><dc:creator>14rhb</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;An excellent one-stop reference for any future servo work - thanks &lt;span&gt;[mention:b0bc65b9ecdc4307bd967592f00e340a:e9ed411860ed4f2ba0265705b8793d05]&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=4414&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>