Skip to content
Snippets Groups Projects
Commit 53e9efd8 authored by Jake Read's avatar Jake Read
Browse files

some doc

parent 7546dcaa
Branches master
No related tags found
No related merge requests found
......@@ -2,54 +2,24 @@
![stepper](/images/onmachine.jpg)
Uses TMC2660
Uses ATSAMD51
Uses AS5147D
Does networked control of stepper motors w/ up to 2.8A current. Plans for closed loop step-servo control.
See [circuit chatter](/circuit) and [programming chatter](/embedded).
## Commands
Position:
key: 129, units: int32_t, steps
Speed:
key: 130, units: uint32_t, steps/s
Block:
key: 131, entry speed, acceleration, cruise speed, exit speed, steps
Block (defines one trapezoid)
- key: 129, steps to make (signed int32), entry speed (uint32) mm/min, acceleration rate (uint32) mm/min/s, acceleration steps (uint32), steps until deceleration (uint32)
- careful, it's possible to specify a block that will not terminate (zero speed while still having steps to make)
- returns an ack when the block is complete
# Todo
Redo doc as if it's a real project. Update board for AEAT6600 Encoder.
- working on next boards, one for NEMA17s (board is out to fab) and one for NEMA23s (board is being designed)
- if necessary, more accurate step ticker, rather than current polling technique
## MKStepper17
- is out to fab
## MKStepper23
p/n pairs FDD8424HCT-ND
### Step Driver
I'm using the TMC2660 - this driver is 'fully integrated' as in it has current control circuitry, microstepping logic etc *as well as* a set of MOSFETS to drive the motor. I like this one because it has all of the modern step-driver bells and whistles, and has a counterpart - the TMC262 - that contains only the gate-driving circuitry, which will (later on) let me make a board for *really big* stepper motors, using external MOSFETS rated to however-many-amps-I-want.
### Microcontroller
This stepdriver is part of another project on networked machine control (I am calling this MachineKit, although I may have to change this as I am now realizing that machinekit.com is taken). My favourite new microcontroller for those endpoints is the ATSAMD51, so it's the stand-in. I would also consider the ATSAMD21 (these are both very well supported by 'the community') and the 51 is newer, faster, etc, at a price increase from $2 -> $4. But, in the interests of only dealing with one set of registers, bootloaders, packages, etc - I am just going to not think too hard and pick the ATSAMD51 for this bb, as well. Future firmware-writing self will thank me.
### To Encoder or not to Encoder?
[Mechaduino](http://tropical-labs.com/index.php/mechaduino) is a really excellent project that Sam and I are fond of. They use an AS5047 encoder to resolve more-steps-than-should-be-possible-with-a-stepper. In combining this with the fancy drive technology in the TMC chip, we can basically arrive at a low cost closed-loop motion control solution, so that's pretty rad. I'm familiar with this chip and use it in my brushless motor controller, so it's feeling quite likely I will implement it here as well. My one quam is the added complexity, etc. I could mount it right in dead-center of the board, use side-mount leds for indication and then have a nice clean backplate... (I am trying to avoid a two sided board). I had also thought I would perhaps have the possibility for an external encoder-only board... but, again, less complexity the better. Backplate mounter. OK.
Also [smartstepper](https://hackaday.io/project/18468-smart-stepper)
## Form Factor
A-la [Mechaduino](http://tropical-labs.com/index.php/mechaduino) and many other solutions, this beckons to be mounted on the arse-side of the motor it is responsible for... that way, it looks neat, and we can just glue a magnet on the back of the shaft to read position with our encoder. In the future, I really want to also control NEMA8 and NEMA11 motors (because they're cute as heck) but for the immediate future NEMA17s are OK and I can always use a laser-cut adapter to mount the same board onto a NEMA23. OK, again, simplicity wins, we go for the NEMA17 board, but spec drivers to NEMA23 size.
# Currently
Ready for MKXMods network integration.
![fabbed](https://gitlab.cba.mit.edu/jakeread/mkstepper/raw/master/images/routed.png)
- schemtatic
- nc all: stlrs
- route logic, power looks siiiik
......@@ -37,17 +37,17 @@ UsedLibrary="C:/EAGLE 8.3.2/lbr/ltspice/rload.lbr"
UsedLibrary="C:/EAGLE 8.3.2/lbr/ltspice/sym.lbr"
[Win_1]
Type="Library Editor"
Number=3
File="D:/Dropbox (Personal)/CBA/doc/libraries/eagle/power.lbr"
View="-53.139 -66.5683 99.0171 62.7644"
WireWidths=" 0.0762 0.1016 0.15 0.2 0.2032 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524 0.254 0.127"
Type="Schematic Editor"
Number=1
File="mkstepper17.sch"
View="97.0363 109.963 325.663 272.577"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.27"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
......@@ -57,7 +57,7 @@ DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=0
WireBendSet=0
WireBendSet=31
WireCap=1
MiterStyle=0
PadShape=0
......@@ -78,18 +78,20 @@ SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=94
Layer=91
Views=" 1: 97.0363 109.963 325.663 272.577"
Sheet="1"
[Win_2]
Type="Schematic Editor"
Number=1
File="mkstepper17.sch"
View="48.7773 86.9926 323.129 282.129"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
Type="Board Editor"
Number=2
File="mkstepper17.brd"
View="10.5097 0.492931 54.8965 46.4287"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.254 0.3048 0.4064 0.508 0.6096 1.016 2.54 1.27 0.8128 0.1524 0.2032"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
ViaDrills=" 0.2 0.25 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.3"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
......@@ -100,14 +102,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=0
WireBendSet=31
WireBend=1
WireBendSet=0
WireCap=1
MiterStyle=0
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=0
PolygonRank=1
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
......@@ -122,22 +124,20 @@ SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=91
Views=" 1: 48.7773 86.9926 323.129 282.129"
Sheet="1"
Layer=1
[Win_3]
Type="Board Editor"
Number=2
File="mkstepper17.brd"
View="10.5097 0.492931 54.8965 46.4287"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.254 0.3048 0.4064 0.508 0.6096 1.016 2.54 1.27 0.8128 0.1524 0.2032"
Type="Library Editor"
Number=3
File="D:/Dropbox (Personal)/CBA/doc/libraries/eagle/power.lbr"
View="-53.139 -66.5683 99.0171 62.7644"
WireWidths=" 0.0762 0.1016 0.15 0.2 0.2032 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524 0.254 0.127"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.3"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.27"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
......@@ -146,14 +146,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=1
WireBend=0
WireBendSet=0
WireCap=1
MiterStyle=0
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=1
PolygonRank=0
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
......@@ -168,7 +168,7 @@ SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=1
Layer=94
[Win_4]
Type="Control Panel"
......
......@@ -39,8 +39,8 @@ UsedLibrary="C:/EAGLE 8.3.2/lbr/ltspice/sym.lbr"
[Win_1]
Type="Library Editor"
Number=3
File="D:/Dropbox (Personal)/CBA/doc/libraries/eagle/power.lbr"
View="-53.139 -66.5683 99.0171 62.7644"
File="D:/Dropbox (Personal)/CBA/doc/libraries/eagle/motors.lbr"
View="-37.2261 -32.5557 39.2933 43.9638"
WireWidths=" 0.0762 0.1016 0.15 0.2 0.2032 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524 0.254 0.127"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
......@@ -78,18 +78,19 @@ SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=94
Layer=21
Package="NEMA23"
[Win_2]
Type="Board Editor"
Number=2
File="mkstepper23.brd"
View="4.43603 16.6642 41.6965 54.8187"
Type="Schematic Editor"
Number=1
File="mkstepper23.sch"
View="145.746 67.6478 430.941 309.902"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.3"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
......@@ -100,14 +101,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=1
WireBendSet=0
WireBend=4
WireBendSet=31
WireCap=1
MiterStyle=0
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=1
PolygonRank=0
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
......@@ -122,18 +123,20 @@ SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=1
Layer=91
Views=" 1: 145.746 67.6478 430.941 309.902"
Sheet="1"
[Win_3]
Type="Schematic Editor"
Number=1
File="mkstepper23.sch"
View="129.891 175.056 225.402 256.187"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
Type="Board Editor"
Number=2
File="mkstepper23.brd"
View="6.90462 -2.72817 71.291 63.2032"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.254 0.3048 0.508 0.6096 0.8128 1.016 1.27 2.54 0.2032 0.4064 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
ViaDrills=" 0.2 0.25 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.3"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
......@@ -145,13 +148,13 @@ DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=4
WireBendSet=31
WireBendSet=0
WireCap=1
MiterStyle=0
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=0
PolygonRank=1
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
......@@ -166,9 +169,7 @@ SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=91
Views=" 1: 129.891 175.056 225.402 256.187"
Sheet="1"
Layer=16
[Win_4]
Type="Control Panel"
......
This diff is collapsed.
This diff is collapsed.
v0-3.md 0 → 100644
# Notes from V0.3 Driver
### Step Driver
I'm using the TMC2660 - this driver is 'fully integrated' as in it has current control circuitry, microstepping logic etc *as well as* a set of MOSFETS to drive the motor. I like this one because it has all of the modern step-driver bells and whistles, and has a counterpart - the TMC262 - that contains only the gate-driving circuitry, which will (later on) let me make a board for *really big* stepper motors, using external MOSFETS rated to however-many-amps-I-want.
### Microcontroller
This stepdriver is part of another project on networked machine control (I am calling this MachineKit, although I may have to change this as I am now realizing that machinekit.com is taken). My favourite new microcontroller for those endpoints is the ATSAMD51, so it's the stand-in. I would also consider the ATSAMD21 (these are both very well supported by 'the community') and the 51 is newer, faster, etc, at a price increase from $2 -> $4. But, in the interests of only dealing with one set of registers, bootloaders, packages, etc - I am just going to not think too hard and pick the ATSAMD51 for this bb, as well. Future firmware-writing self will thank me.
### To Encoder or not to Encoder?
[Mechaduino](http://tropical-labs.com/index.php/mechaduino) is a really excellent project that Sam and I are fond of. They use an AS5047 encoder to resolve more-steps-than-should-be-possible-with-a-stepper. In combining this with the fancy drive technology in the TMC chip, we can basically arrive at a low cost closed-loop motion control solution, so that's pretty rad. I'm familiar with this chip and use it in my brushless motor controller, so it's feeling quite likely I will implement it here as well. My one quam is the added complexity, etc. I could mount it right in dead-center of the board, use side-mount leds for indication and then have a nice clean backplate... (I am trying to avoid a two sided board). I had also thought I would perhaps have the possibility for an external encoder-only board... but, again, less complexity the better. Backplate mounter. OK.
Also [smartstepper](https://hackaday.io/project/18468-smart-stepper)
## Form Factor
A-la [Mechaduino](http://tropical-labs.com/index.php/mechaduino) and many other solutions, this beckons to be mounted on the arse-side of the motor it is responsible for... that way, it looks neat, and we can just glue a magnet on the back of the shaft to read position with our encoder. In the future, I really want to also control NEMA8 and NEMA11 motors (because they're cute as heck) but for the immediate future NEMA17s are OK and I can always use a laser-cut adapter to mount the same board onto a NEMA23. OK, again, simplicity wins, we go for the NEMA17 board, but spec drivers to NEMA23 size.
# Currently
Ready for MKXMods network integration.
![fabbed](https://gitlab.cba.mit.edu/jakeread/mkstepper/raw/master/images/routed.png)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment