Asked

Converting Motor To Digital Signal

Are there any small boards available that can convert a two-wire motor into a digital signal? I have a motor with two wires, one red and one black, and I would like to use this motor with the Synthiam ARC software. It's a continuous rotation motor. Is this integration possible?



Related Hardware (view all EZB hardware)
EZ-B V4 by EZ-Robot
EZ-B v4/2 robot controller: dual Cortex ARM, Wi-Fi, audio/video, 24 servo/digital ports, I2C/UART, camera and Synthiam ARC control for custom robots
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skills (view all robot skills)
Dual H-Bridge w/PWM movement panel: control two DC motors' direction and speed via EZ-B PWM for responsive forward/reverse/turning.
Arduino UNO wheel encoder: reads left/right ticks, provides counts, configurable ticks, wheel & pivot sizes, optional pose telemetry to ARC NMS.

ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

Author Avatar
PRO
Canada
#1  

Short answer: Yes - but you don’t convert a raw twowire DC motor into an "EZB digital/servo" port directly. You use a small motor driver (Hbridge or similar) that accepts logic-level direction + PWM inputs from the EZB/ARC. If you also want rotation feedback (pulses), add an encoder or hall sensor to the shaft.

What you need and why

  • Control (direction + speed): a dual Hbridge (or single-channel Hbridge) accepts logic signals from the EZB and powers the two-wire motor from a separate motor battery. ARC will control the driver via digital pins (IN1/IN2 = direction) and a PWM pin (ENA) for speed.
  • Feedback (digital pulses to measure rotation): use a wheel encoder (optical encoder disk, magnetic hall sensor, or encoder-equipped motor) to produce digital pulses you can feed into a digital input or an Arduino that pushes counts to ARC (Wheel Encoder Counter skill).

Small motor driver boards you can use (common choices)

  • TB6612FNG (small, dual Hbridge, ~1A continuous) - good for small DC motors.
  • DRV8833 (dual Hbridge, low voltage, twin motor driver).
  • L298N (older, larger, up to ~2A with heat; can be used but bulkier).
  • Pololu TB6612 / VNH5019 / DRV8871 modules (Pololu has a wide range for different current needs).
  • BTS7960 or VNH3SP30 (high current, for larger motors).
  • Sabertooth (simpler control options, serial/analog/PWM, used for bigger robots).
  • Adafruit/Pololu motor shields (I2C or SPI boards for convenience if you prefer shield-style).

Important: don’t connect the motor directly to EZB digital pins - the EZB cannot supply motor current and will be damaged. Always use a proper motor driver.

How to integrate with ARC (stepbystep)

  1. Pick a motor driver sized for your motor voltage/current.
  2. Wire motor power:
    • Motor battery to motor driver VIN/V+ and GND.
    • Connect motor driver GND to EZB ground (common ground).
  3. Wire motor outputs: motor driver OUTA/OUTB -> your motor red/black.
  4. Wire logic control pins from driver to EZB digital ports:
    • IN1, IN2 (direction pins) -> EZB digital ports (e.g. d0, d1).
    • ENA (PWM enable) -> EZB digital port that supports PWM (e.g. d4).
    • (If dual motor) IN3/IN4 + ENB for second motor.
  5. In ARC: Project Add robot skill Movement Panels Dual HBridge w/PWM.
  6. Open the Dual HBridge w/PWM skill, click the kebab (three lines) Settings, and map the ports to the same EZB ports you used.
  7. In the skill main window, raise the PWM sliders to test. Then press Forward/Reverse/Left/Right.

Initialization script (optional)

  • Many projects set initial speed on connection. Add to the Connection skill -> kebab menu -> Scripts -> 0 - Connection Established:
// Initialize global movement speed (0-255)
SetSpeed(200); // adjust to taste

If you want rotation/distance feedback

  • Add an encoder to the wheel shaft (optical or magnetic) or use an encoder motor.
  • Use the Wheel Encoder Counter skill (Project Add robot skill Navigation Wheel Encoder Counter).
  • If you use an external microcontroller (Arduino) for encoders, install the Wheel Encoder firmware and connect it to ARC; the skill populates $LeftWheelCount and $RightWheelCount and can push pose to NMS.
  • Docs: Wheel Encoder Counter - https://synthiam.com/Support/Skills/Navigation/Wheel-Encoder-Counter?id=17591

If you want the motor to behave like a servo (position control)

Useful Synthiam docs

Questions so I can help further

  • What are the motor specs? (voltage, stall/current rating)
  • Do you want closedloop position/distance (encoders) or just direction + speed control?
  • Do you already have a driver board or would you like a specific recommendation for small/lowpower vs highpower motors?

If you tell me the motor voltage/current and whether you need encoders, I’ll recommend a specific driver board and provide exact port wiring and ARC skill settings (including the kebab menu steps) and a short startup script.


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.
Author Avatar
PRO
Belgium
#2   — Edited

@athena

ignore this question .

Author Avatar
PRO
Canada
#3  

Understood - I’ll ignore that question.

If you need anything else (wiring help, driver recommendations, ARC skill setup, or converting EZ-Script to JavaScript/Python), tell me what you want and I’ll help.


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.