Saturday, December 15, 2018

AMC1280USB Firmware v3.5 release


After some issues with the firmware release v3.0 I had to do some major rework on the serial communications for the AMC1280USB new firmware. This rework also included changes in the motion software side. The new v3.5 firmware changes, now prevent non motion data packets to enter the AMC entirely and it uses a combination of counting and checks for presence of LF/CR bytes in the end to prevent wrong ID detection.

The data packet string now is 20 bytes long and includes additional spare motion data slots for up to 8axis ( applicable to newer Servomotor controllers variations only ).
The ID is byte values 0xFF + 0xFF
Each Axis is 16bit wide.
LF+CR is required in the end (0x0A + 0x0D)


There was already verification from many beta testers verifying the stability of the new firmware, but as always, if there is anything that was missed, let me know to fix asap.

Download the 7z file that contains the latest AMC1280USB_v3.5_rev1a Firmware:

*UPDATE 2/16/2019* Newer release is the v3.5_rev1b:

In the 7z file there are also updates for the following motion software:
Ian's BFF 6DOF
Hexpod driver

The software updates are also separate available here:

Here are some instructions for the software fixes:

1. Ian's BFF 6DOF:

Copy the "BFF_6DOF_Background_v102.exe" into the BFF motion driver folder
and remove the existing "BFF_6DOF_Background_v100.exe"

Make sure to enter these settings in the ".bff" profile file you use:

Port=COM7   (or any other COM port number your AMC has, MUST be COM1 to COM9)

2. Simtools:
Simply drag and drop the "AMC1280USB_InterfacePlugin.dll" into the Simtools PluginUpdater
Start Simtools, you should see 8axis available now for the AMC1280USB interface plugin.

3. Hexpod Driver:
Copy and paste over the "6DOF.exe" into the Hexpod driver directory.
Drag and drop the "AMCHexpod_InterfacePlugin.dll" into the Simtools PluginUpdater.
Start Simtools, you should see the Axis7 and Axis8 to also appear in the interface page.

San Diego, California  2018

Tuesday, February 6, 2018

Using linear AC Servomotor actuators without external position sensor - Encoder2Position

Update 2/19/2019: 
Scroll to the end of the post...

We all dream of using those powerful industrial linear servomotors we keep seeing around being used on 6dof motion platforms. Their prices are dropping and are getting more and more wide available. But they can be hard to use as they do not provide any easy way of reading the position feedback from them...

Some of the solutions the past years for adding position sensors to the control loop needed for the AMC1280USB included Linear Potentiometers or String potentiometers. The linear potentiometers a great stable solution that can be placed in parallel to the actuator but may cost too much at times with prices range from $90 to $300 depending on the length they can extent! The String Potentiometers on the other hand, although are in the same cost range as the linear ones, you can easily make your own using inexpensive 10-turn or 5-turn potentiometers and 3dprint your own case for it.

After many requests I indulged to create my own solution of reading instead the actual servomotor encoder signals (quadrature pulses) and convert them to normal analog 0-5v position signal that the AMC1280USB can read easily. The culprit is that Encoder2Position it needs more than just reading the quadradure signals as they only provide reference information. It needs to know the limits of the actuator to now where is the low position of the rod (fully retracted) and the high position of the rod (fully extended) to be able to assign correctly the 0-5v output to the full stroke of the actuator. This is done using magnetic reed switches attached on the actuator cylinder that inform the Encoder2Position module that the actuator reached low or high position and it can set these readings of the quadrature signal counter to 0% or 100%. Some automatic calibration is also needed during power up so the Encoder2Position can get familial with the actuator that is attached to.  This allows the use of the Encoder2Position module to any length of actuator or type of encoder that the servomotor may have (from 32 CPR to 2500CPR).

After a few iterations of the Encoder2position module board, I made some tests on actual linear servomotor set that was lent to me by a customer.

That unit included brake function which I didn't activate properly on my first videos so excuse any loud screeching noises you may hear... In the first two videos I do some manual movement of actuator, to observe the counter values of the quadrature encoder of the servomotor, displayed on a small OLED attached on the Encoder2Position.

Manual testing at 25% speed

PID loop motion testing at 75% speed

More servomotor testing... wiring fixed and all functions enabled

Fast acceleration setting for servomotor - 20ms to full speed

How well it works when connected to motion software? See this video:

Test on motion software


Setting up the Servo drive was easy, only a few parameters needed to be adjusted in its operation panel. One setting that enables external commands on the CN2 connector, one to set the servo in analog input speed mode, one setting to enable the external CWL and CCWL limit inputs, and last set the acceleration ramp up/down timing to 20ms (can be lower but 20ms gives a good space for safe braking). Extra settings I'll be using is the automatic enable of the external electromagnetic brake when the motor is in zero speed to hold position without the load back-driving it down.

Simplified representation of the position control loop

The wiring before the CN2 connector however might look a little intimidating, but its not so bad. The AMC1280USB provides only 3 outputs, Analog speed control (-11v to +11v using the Signal Conditioner), Sink output Servo Enable signal and Zero Speed signal to completely stop the motors when the "Kill motors" emergency switch is pressed.

This is a different servo example that uses C-mode to select analog input

Generic schematic of connections between servomotor and the AMC1280USB controller

The Encoder2Position module however has lots of connection to the CN2 connector like the four connections to the Differential Encoder Outputs and two more Sink outputs that connect to the CWL and CCWL (Forward or Backward rotation prohibited inputs of the CN2). Also the Encoder2Position encoder is interfaced to the two magnetic reed limit switches that needed for the automatic calibration of the actuator during power up. The sink inputs are reversed logic that means they need to be HIGH to detect that the limit switch was activated.

Simplified schematic of the Encoder2Position inputs-outputs
The R1 potentiometer checks and sets the calibration speed once on power up.

The Encoder2Position module features a STM32 F1 processor running at 72Mhz, allowing capture of the fast quadrature encoder pulses, and handles automatically the limit switches of the actuator so you don't have to worry for much except just use the 12-bit analog position signal it outputs (0-5v). On the current linear servomotor I have it measures about 30000 positions for the 200mm stroke, and with the actuator having 500mm/s speed, it means it can capture about 60000 pulses in 500ms time with no problem,

The Encoder2Position module will be available soon on Tindie as soon I finalize the firmware on the test unit. Working on getting the 12-bit (or 16bit) SSI output faster without blocking the quadrature encoder counter interrupts.

For often updates you can subscribe to my YouTube channel:

You could also contact me by email, although you may have to wait sometimes for days for reply (depending on my spare time and the backlog of messages). If you keep it short to one or two questions I might be able to answer right away:


San Diego, California  2018

Friday, October 27, 2017

New firmware release and kickstarter update


New stable firmware v2.4 update is now available:

-Added Max Motor speed control in Unidirectional output modes for 8-bit and 12-bit outputs. This means you can now control the max motor speed on Sabertooth that use 0-5v analog (with 2.5v center), or Servomotors that use -11v to +11v (with 0v center).
-The direction pins now are active when the PID takes control, so you can use them to enable motor drives that support that function (AC servomotor drives).
-Fixed PID issues (wrong assignment of values in calculations).

This firmware is one of the series of updates pending that will add more functions to the AMC1280USB controller. I'll be releasing new firmware updates adding one function at the time so we can verify each added feature does not undermining existing functions.

Update 11/14/2017
New revision:
-Fixed max motor speed for 12-bit outputs as it was missing

In other news, the kickstarter PCB's were received from manufacturing and currently undergo final assembly (connectors, LCDs, MCU, 3D print cases parts fit). This involves soldering and manual assembly by hand.

Testing of all controllers will be performed before they are shipped to ensure functionality and quality.

I hope the shipping of the kickstarter rewards will start very soon. Again I apologize for any delays but you will have to understand that is huge effort to manage such project involving a complete product (hardware and firmware).

Here is a video I took a few days ago after I verified the shipment of the PCB's for damages during transport:

Subscribe to my youtube channel for faster updates on the project as well for guides I'll be posting regularly.



San Diego, 2017

Monday, September 11, 2017

AMC1280USB Deluxe Enclosure Colors

Hi all,

The following colors will be available, for the 3D printed enclosure for the AMC1280USB Deluxe to select from:

1. Black
2. Silver
3. Gray
4. Blue (Gray Blue)

Enclosure colors *Blue might be a little Gray-ish

The color of the buttons or the knob will be random but chosen to better fit each enclosure color.

Some cosmetic changes might be implemented on the cases on the front like additional outlines etc, but the basic color will be limited to one of the above. See following video:

Front panel outline example

Virtually any color will still look great, even transparent colors!

Transparent color enclosures

If you need different color enclosure contact me for availability.
tronicgr @ gmail .com  (without the spaces)


Sunday, September 10, 2017

Kickstarter update - PCB boards are in production!

Hi all,

The manufacturing order of the PCB's for the rewards for the Kickstarter was placed and are in production. All parts are shorted out now, and waiting to have all together for final assembly and testing before they are ready for shipping.

Said that, you can always contact me for ordering more of the new AMC1280USB controllers  and check for availability prices. I'll be making extra controllers along the kickstarter rewards but will be available for shipping after all kickstarter rewards are shipped first.

Contact email for orders and inquiries: tronicgr @ gmail .com    (without the spaces)


Saturday, August 5, 2017

Extending Pre-orders for Kickstarter rewards


I received numerous emails from people that either kickstarter could not process their credit cards or missed the kickstarter deadline but were still interested in the kickstarter offer.

I'll be giving the opportunity to get the almost the same low prices as in kickstarter for a few reward options. The prices will be a few dollars higher to accommodate for the paypal fees.

THIS OFFER is only valid for pre-orders THROUGHOUT AUGUST!!

You have two options to choose from: