The mLink 12-Channel Servo Controller allows you to independently control up to 12 servos per module via a microcontroller's serial I²C interface. It supports standard PWM-controlled servos from popular brands like Tower Pro, Futaba, JR, Hitec, Emax, and more.
Servo Connection Features
- 12 Headers: Each servo connects to a dedicated 3-pin header (0.1” pitch) providing: - GND - 5V power - PWM signal External Power Support: External 5V power for servos can be supplied via a screw terminal for increased current handling.
PWM Control Capabilities
- Independent Channels: Generates 12 unique PWM signals. - 20 ms Duty Cycle: Each signal is refreshed every 20 ms. - On-Time Range: PWM on-time adjustable between 10 µs and 2.55 ms, divided into 256 steps. - Servo Precision: For standard servos (requiring 1 to 2 ms on-time), this provides up to 100 steps of resolution per servo, ensuring smooth and accurate movement.
mLink I²C Interface
- Microcontroller Compatibility: Works with any microcontroller or development board with an I²C interface. - Expandable System: Part of the mLink ecosystem, allowing seamless daisy-chaining with other mLink modules (e.g., LCD displays, keypads, sensors, relays) through a single I²C connection. - Simple Software Integration: Only one compact library is needed to control the entire mLink system.
Arduino & Raspberry Pi Support
- Arduino: A dedicated mLink library simplifies servo control with intuitive functions. - Raspberry Pi: A Python module is available for easy integration. - Resources: Examples and library links are provided to help you get started quickly.
This controller offers a robust, scalable, and user-friendly solution for projects involving multiple servos.
Module Specifications
Module code: HCMODU0263 Module supply voltage: 4.5V to 5.5V (via mLink header) Supply current (module only): 4.6mA (normal) ~300uA (sleep) Number of servo outputs: 12 Servo output type: PWM Servo duty cycle: 20ms Servo PWM on time (min): 10µs Servo PWM on time (max): 2.55ms Servo step resolution: 10µs Servo interface: 12x 3-pin 0.1” pitch pin header (PWM, 5V, GND) Servo supply input: 5V @ 5A max via screw terminal I²C Interface speed: 400kbits/s (fast mode) I²C default address (HEX): 0x60 Maximum number of modules: 5 with pullups fitted, 112 with pullups removed* Module dimensions: 52mm x 21.5mm x 11.5mm (excluding headers)
*Note the maximum number of connected modules will depend on cable lengths and power requirements of each module. Do not exceed 5 mLink modules connected in series with I2C pullups fitted to all modules. For disconnecting pullups see forum post.
When connecting to a Raspberry Pi the mLink modules I2C pullup resistors should be removed. See the 'Removing the modules I2C pullup resistors' section below for more information.
Dimensions:
Factory Reset:
Should you wish to restore the module back to its factory default configuration, this can be done by manually forcing a factory reset. All mLink modules include a set of pads labelled clear:
To perform a factory reset carefully link the two pads together with a piece of wire or with something conductive such as a paperclip. Whilst linked, connect power to the module via the VCC and GND connections. Wait a few seconds and then remove the short from the pads. The module's settings, including its I2C address, should now be restored back to factory defaults.
Removing I2C pullups:
If your development board already has pullups for its I2C interface fitted, or you wish to connect more than 5 mLink boards to the same I2C interface, then you can remove the pullups for the additional boards by cutting the tracks between the solder pads shown below.
mLink Arduino library
viewtopic.php?f=58&t=3001
Please note that you will need at least V2.2.0 (18 Dec 2024) of the library to support this module. If you have an older version already installed please update it to the latest version.
mLink Raspberry Pi Python module
The mLink python module can be installed with the following terminal command:
- pip install hc-mlink
Alternatively the library can be manually installed by downloading it from the forum and unzipping it to your project folder. See the Python module forum thread for more information and download link:
viewtopic.php?f=131&t=3062&p=8592#p8592
Please note that in some cases there may be additional configuration required. If you have issues getting your Raspberry Pi to communicate with the mLink module then please see the Python module forum thread here: viewtopic.php?f=131&t=3062
mLink Specifications and Register Map
https://hobbycomponents.com/downloads/m ... er_Map.pdf
Libraries, example code, and diagrams are provided as an additional free service by Hobby Components and are not sold as part of this product. We do not provide any guarantees or warranties as to their accuracy or fitness for purpose.