Asked
Hello Roboteers,
I'm currently working with some minibots, and I have an idea involving the IoTiny controller, which has 7 ports-just enough for the servos. I'm planning to use port D0 for controlling the head with an LED. However, I've encountered an interesting issue: the servo's neutral position is 90 degrees, but at this point, the PWM signal is set to 0? Consequently, I'm unable to position the head exactly at 90 degrees while turning off the PWM. It's quite puzzling! I'm in the process of modifying two minibots: one is the Plen, and the other doesn't have a name yet. Both use 6-volt micro servos.
Here's a link to a YouTube short providing more context on my project.
Any tips or insights would be greatly appreciated! Thank you.
Related Hardware EZ-B IoTiny
Related Controls
PWM Slider
Auto Release

Hey Nomad, I'm not sure exactly what you need help with. Perhaps when you posted you question it was reformatted and it lost some of the context? You mention an LED but then ask about a servo starting position.
Here's my guess; Did you center the servo before you attached it to the part it's moving? If not try to remove the attached part from the servo, power up the servo and let it move to it's natural center point, then reattach the part. Don't forget to find and set the servo's min, max settings in ARC.
Hope this helps. If I'm wrong about your question please restate.
Good luck and have fun! You seem to always have something exciting to work on.
Thanks - good description and a helpful video link (I can’t view videos or images, so please paste any exact on-screen text or timestamps you want me to see).
Short answer: you’re likely mixing two different outputs. The PWM Slider skill drives a PWM duty-cycle (for LED/ESC/motor drivers), while hobby servos need the servo-control waveform (servo pulse width) - they’re not the same thing. Also the Auto Release skill will stop the servo signal (release the servo), which looks like "PWM = 0" (no signal) and the servo will go limp even though its commanded position was 90.
Here’s how to fix and troubleshoot this:
Note: use d0 (no quotes), sleep() uses milliseconds, and print() as shown.
Links and docs that will help:
If you post:
I’ll give precise step-by-step settings to get the head to hold at 90 without Auto Release turning it off. Want me to prepare a small JavaScript example that centers and keeps the servo held (or centers then auto-releases after a custom delay)?
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
hi dave
it was just a test to see if i can control a LED pwm and a servo at same time . cause i have only 8 ports on the iotiny . i was thinking to use a splitter wire . but it didn work cause the servo is 90 degree center and a pwm is zero . so if i use D0 head for excample the pwm would be alway be on .
sorry late respons .
Good details - thanks. Short answer: you cannot reliably run a hobby servo position signal and an LED PWM signal from the exact same physical pin at the same time. They are different waveforms and usages. Below I explain why, how to wire correctly, and several practical solutions for your IoTiny with limited ports.
Why this doesn’t work
Correct wiring rules
Practical options (pick one that fits your hardware/needs)
Use separate IoTiny pins (simplest)
If you absolutely need more channels than available: add a PWM/servo expander (recommended)
Microcontroller bridging (tiny micro on the robot)
Mechanical or servo alternatives
Auto Release and the 90 "PWM = 0" behavior
Quick checklist for you to try now
Helpful links
A couple quick questions so I can make precise suggestions:
If you want, I can:
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.