STEbus Servo Motor Controller

Based on the Galil GL2000/GL2010/GL1000 controller chip set.
Professional design by me.

Similar projects worth following
The chipset is a 40-pin microcontroller and a 24-pin ASIC driving the servo interface. Communication was through a serial port or a 1-byte parallel port, so it was actually very easy to interface. I have the manual and a prototype, but annoyingly I lost the circuit diagram. The chipset was very expensive in 1986, and completely obsolete since 1990.

This board was developed with a servo motor the size and power of a car starter motor. The power amplifier was the size of a huge book, and had a big power resistor to dump braking energy.


Someone had dumped a treadmill by the bins (instead of taking it to the recycling centre) so I dismantled it to take the steel to the scrap metal dealer. As a bonus, I salvaged the massive 2 horsepower (1500 W) 180V permanent magnet motor. Which sounds exactly like a servo motor to me!

Now I need a windfall high-power amplifier and a feedback encoder...


PAL16L8 fusemap.

plain - 2.70 kB - 04/08/2022 at 18:51



PAL16L8 equations, reverse engineered from fuse map.

plain - 1.53 kB - 04/08/2022 at 18:51


  • STDbus equivalent

    Keith04/10/2022 at 18:13 0 comments

    An STDbus version. Probably the design that was ported to STEbus.

  • Programmable logic

    Keith04/08/2022 at 23:26 0 comments

    The STEbus writes output port bytes to an edge-triggered latch, and reads input port through an 8-bit buffer.

    The STEbus writes command bytes to an edge-triggered latch.

    The microcontroller writes response bytes an edge-triggered latch.

    The actions set flags to say a latch is full, and clear them when a latch is read.

    This communication through one-byte back-to-back latches is extremely simple and can easily be used for communicating with any other slave processor. There are six in the BBC Micro's Tube interface. To keep things simple, I would look at J.G. Harston's tube-through-a-single-channel software.

  • Catalogue page

    Keith11/04/2021 at 12:34 0 comments


    The SEMC and SEMC-10 use an intelligent LSI chip set which provides all the functions required to drive a servo motor without interaction from the host computer. It has inputs for an encoder and resolver, and produces a control voltage and pulse signals to drive a servo amplifier.

    The SEMC accepts motion commands and position information over the STEbus or via an RS232 link. Commands, which may be repeating sequences, are in a simple ASCII format. The SEMC can perform a complex command sequence and interrupt the main STEbus CPU when it has finished.

    There are two limit switch inputs, 8 general-purpose TTL inputs which may optionally be used as resolver inputs and 8 general-purpose TTL outputs on the 50-way connector, which conforms to the Arcom standard signal-conditioning scheme. In addition this connector also carries the control voltage out and inputs for right and left limit switches, direction and stop/start signals. The SEMC and SEMC-10 occupy 3 I/O locations on the STEbus.

    SEMC-10 has all the features of the but has additional motion and position commands allowing complex profiles to be generated in systems.

    Power consumption:

    (from STEbus): 0.8A typical at 5V


    • analogue and PWM control output
    • encoder or resolver feedback options
    • STEbus or RS232 communication option
    • STEbus interrupts on sequence completion
    • LEDs for debugging

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates