<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Help needed with SERVO Module Board 12 Channels]]></title><description><![CDATA[<p dir="auto">Does anyone have a working example for the SERVO Module Board 12 Channels? I'm using the code below with single servo on port 1 and all I get when I run this code is "Servo Example" written across the M5Core screen but no movement whatsoever from the servo. Note the ports on the module are 0 thru 11 and my servo is plugged into 1 because the pins on port zero are too close to the module case to get my servo plug in anywhere on that row.</p>
<p dir="auto">Also, for the to  Servo_write_angle(uint8_t number, uint16_t us) and Servo_write_us(uint8_t number, uint16_t us) is number the port number (0..11)?</p>
<p dir="auto">Thanks in advance.</p>
<p dir="auto">#include &lt;Arduino.h&gt;<br />
#include &lt;M5Stack.h&gt;<br />
#include &lt;Wire.h&gt;</p>
<p dir="auto">#define SERVO_ADDR 0x53<br />
void setup() {<br />
M5.begin(true, false, true);<br />
M5.Power.begin();<br />
M5.Lcd.setTextFont(4);<br />
M5.Lcd.setCursor(70, 100);<br />
M5.Lcd.print("Servo Example");</p>
<pre><code>Wire.begin(21, 22, 100000UL);
</code></pre>
<p dir="auto">}<br />
// addr 0x01 mean control the number 1 servo by us<br />
void Servo_write_us(uint8_t number, uint16_t us) {<br />
Wire.beginTransmission(SERVO_ADDR);<br />
Wire.write(0x00 | number);<br />
Wire.write(us &amp; 0x00ff);<br />
Wire.write(us &gt;&gt; 8 &amp; 0x00ff);<br />
Wire.endTransmission();<br />
}</p>
<p dir="auto">// addr 0x11 mean control the number 1 servo by angle<br />
void Servo_write_angle(uint8_t number, uint8_t angle) {<br />
Wire.beginTransmission(SERVO_ADDR);<br />
Wire.write(0x10 | number);<br />
Wire.write(angle);<br />
Wire.endTransmission();<br />
}</p>
<p dir="auto">void loop() {<br />
for (uint8_t i = 0; i &lt; 12; i++) {<br />
//Servo_write_us(i, 700);<br />
Servo_write_angle(i, 0);<br />
}<br />
delay(1000);<br />
for (uint8_t i = 0; i &lt; 12; i++) {<br />
//Servo_write_us(i, 2300);<br />
Servo_write_angle(i, 90);<br />
}<br />
delay(1000);<br />
}</p>
]]></description><link>https://community.m5stack.com/topic/5798/help-needed-with-servo-module-board-12-channels</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 22:16:31 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/5798.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Nov 2023 01:59:35 GMT</pubDate><ttl>60</ttl></channel></rss>