top of page

Allison 1000 Automatic Transmission Model

Model for 3D printing

I made a 3D model of the Allison 1000 automatic transmission for 3D printing, and on this page I will give you information and tools to help you make it work.

This model is intended to be use as a learning tool and for entertainment, so the idea is that you connect a motor (with additional gear reduction, or directly) to the input and see everything move.


For information on how to assemble the models, go to the model page:


This model is design to work with solenoids to apply the clutches and the parking pawl. You can control the clutches electrically with manual switches or a microcontroller like Arduino.


Arduino is my choice to control the transmission, but you can use any other microcontroller. Since we are dealing with too much current for the Arduino to handle by itself, we need some additional parts, shown on the diagram.




Sketch is the program (set of instructions) Arduino runs. I made two sketches depending on the purpose of the transmission.

Note: Pay attention to the pin and calibration sections on the top of the sketch so you know where to connect everything and calibrate everything for your needs. Calibration parts include things like: potentiometer value when pass from one mode to another, delay times, etc.


Sketch for slow speeds: It uses a potentiometer to select between P-R-N-D, and a switch to select manual mode. Drive mode will select all gears in sequence automatically. In manual mode you can change gears UP and DOWN moving the selector back and forward.


[Download] Simple sketch.ino


Sketch for real speeds and real automatic mode: This sketch is intended to function as a real automatic transmission. Additional to the potentiometer for the selector and the switch for manual mode, it uses a speed sensor in the output to change gears automatically depending on the speed. It also has a pedal potentiometer to change the point where it changes gears depending on how much the throttle pedal is depress.

[Download] Realistic sketch.ino

Output speed sensor: You need to put an IR LED close to a receiver in the parking gear, so the teeth interrupt the light and the sensor will output pulses to the Arduino (pin 2). Is critical to put a Non-symmetrical Schmitt Trigger in the output of the sensor to prevent noise to mess with our reading. I tried to have a simpler sensor with 2 pulses per revolution, but was not accurate enough nor fast enough. That's why I prefer to use the parking gear to create 16 pulses per revolution, which has a lot more accuracy.

Input RPM Calculator for the Arduino sketch: The sketch for the real automatic mode has a part in the calibration section where you can set the output RPM when is going to up-shift or down-shift in Drive (D), depending on the pedal position. Those values are output RPM (we only need an output sensor), but sense we already know the gear ratios, we can calculate the speed of the input, and set the up-shift and down-shift values base on the wanted input speed. For example, if we want the transmission to up-shift from 1st to 2nd when the input reach 4000 RPM, we know that the output should be going at 1250 RPM (4000 divided by the gear ratio in 1st that is 3.2) and we set that value in the calibration section of the sketch. To facilitate this calculations I made an Excel file where you only need to write the input values when the pedal is fully depress and fully released. After that you just write those output values in the calibration section.

[Download] Input RPM Calculator.xlsx (Excel file)

bottom of page