Difference between revisions of "Othermill CNC"

From Noisebridge
Jump to: navigation, search
m (Reverted edits by 65.19.167.131 (talk) to last revision by πŸ’‘)
Line 1: Line 1:
βˆ’
"YES!!!!!" Mitch screamed.  YEESSSSSS!!!!.......YESSSSSSSSSS!!!!  OH GOD, I THINK IT'S ABOUT TO HAPPEN. I CAN'T HOLD IT MUCH LONGER!!!!
+
Noisebridge has an Othermill as of December 12, 2016. This page should be helpful in figuring out how to use it!
  
βˆ’
Rubin110 surveryed the situation.  The whole of the glass wall in front of him was completely covered with boob.  Mitch's nipples must have been 3 inches thick , and 5 inches long now.  Her aereola were over 14 inches across each.  Suddenyly, there seemed to be a change going on.  Mitch's breasts seemed to contract in a way.  They got less soft, and started to firm up and try to attain their natural shape.  The shower wall started to groan, like a ship that was going down.  That popping, creaking sound you always hear in movies.
+
=The Hardware=
  
βˆ’
Mitch could barely process the feelings she was experiencing. Her breasts were going through their "plumping stage" as she called it, and the pressure on all sides of her seemed to suddenly start multiplying many fold.  She could feel that her letdown was coming, and soon she was past the point of no return, getting pulled inexorably towards the edge of the waterfall.
+
The Othermill is a high performance portable desktop CNC mill with 0.001" precision. The marketing refers to this as "6 mill trace-and-space", meaning you can design SMD circuits with 6 mill resolution of detail for millable features, dependent of course on your milling tool's precision.
  
βˆ’
"NOOOO!!!!  I'M NOT READY YET!!!!"  Mitch screamed.
+
This was purchased from Other Machine Company using [[User:Tdfischer|tdfischer]]'s employee discount on top of it being a scratch-and-ding refurb for $2699 using the Noisebridge [[Equipment Fund]].
  
βˆ’
Rubin110 didn't know what she meant for a moment, then he started to see what was happening. Milk was seeping out from Mitch's nipples, he could see it through the glass. Mitch was upset because the wall hadn't given up yet.
+
The Othermill is powered by a [https://synthetos.myshopify.com/products/tinyg TinyG controller board], which is a 100% Open Source and Open Hardware motion controller for CNC machines. The code is GPL'd and available [https://github.com/omco/tinyg on github.com/omco/tinyg]. The TinyG speaks serial at 115200 baud using a pair of USB serial ports on one device. One port is used for the TinyG JSON api, the other is used for regular GCode. Read up on the TinyG documentation to learn more.
  
βˆ’
Crack!!!  Rubin110 nearly jumped out of his skin at the sound, The pane of plexi that made up the shower door had cracked near thigh level. The door was bowing out, and about 6 inches or so of breast flesh was forcing it's was through the opening. Rubin110 could see that the main wall was bowed out about 6 inches or more along the line between Mitch's nipples.  It had to be nearly ready to go he though.
+
It also has electrical circuit touchoff, meaning you can issue a G28.2 probe movement in a direction and the machine will report (via JSON ;() where it made contact with the spoilboard/t-slot bed. This operates on electrical conductivity with the Y bed, so don't get smart and think you can probe non-conductive materials with it!
  
βˆ’
Mitch was nearly despondent.  She wanted this to work so badly.  It was irrational, she knew that, but it just was.  She couldn't question it any more.  Her letdown reaction was starting, and she wasn't done with her task yet.  She felt herself start to fall over the edge of that waterfall, and just as she was reaching the edge, where that greatest rush happens, something changed.  She was suspended right there on the edge, in ecstacy, but not falling through it.  She didn't know what was happening, but it was a mind blowingly good feeling.  Her breasts felt like they were similtaniously on fire, and flowing with endless amounts of milk that quenched those flames.  A perfect ying and yang of orgasmic energies.
+
=The Software=
  
βˆ’
Mitch was too far gone to realize it, but the huge pressure built up by her breast's drive to achieve their natural shape had sealed her nipples to the front wall so tightly that her milk couldn't escape if it wanted to.   From Rubin110's perspective he could see that milk was indeed leaking around that seal, and shooting out at high pressure like a water pipe leaking in a submarine that's just suffered a near miss from a depth charge.  The leakage wasn't as much as Mitch was still taking in though.
+
OMC makes [https://othermachine.co/otherplan/ Otherplan], a combination CAM, CAD, and GCode sender. It only runs on OSX and Windows, though [[User:tdfischer|tdfischer]] might let you play with the Linux version if you ask nice. '''You don't need Otherplan to use the mill!''' It speaks plain serial over USB, though Otherplan does include a lot of utility for the mill. The biggest features are parsing PCB design files and SVG files and turning them into GCode movements on the mill (aka CAD+CAM), flashing the firmware, understanding the JSON API, and providing a decent UI for previewing and controlling the mill. Otherplan supports loading plain GCode, eagle .brd files, and gerber files from other PCB CAD tools.
  
βˆ’
Crack!  finally a crack formed in the wall of the shower.  It was a spider-web crack, centered on Mitch's left nipple.  With a sound like 10,000 plastic bottles being crushed in a giant trash compactor, the crack slowly started to expand.  Mitch was positively thrashing around behind all of that boobage, clearly in a state that most humans never experience.  Her brain was overloaded with feelings of intense pleasure, as she experienced a tremendous, and seemingly endless letdown reaction, on top of an orgasm to end all orgasms.
+
=Using The Mill=
  
βˆ’
PING!!  Another spiderweb crack formed, this time centered on her right nipple. What was that old cliche again?
+
OMC runs a thorough support system for using the mill: https://othermachine.co/support/
  
βˆ’
The sound now was nearly deafening.  Rubin110 backed away and to the side, and just in time.
+
A caveat: Do not use lubrication on the mill unless you know why you shouldn't! The linear rails in the mill are held in the HDPE frame with friction and if they slide out, the mill might not work or even worse be irreparably damaged!
  
βˆ’
SKRRRRRREEEEEEEEEEEEEE...........KAAAAAAABBBBBBBOOOOOSSSHHHH!!!!!!!!!!!!!!!!!!!!!!!
+
The mill has a warranty. To take advantage of it, email support@othermachine.co. They're super helpful and friendly. If that doesn't work bug [[User:tdfischer|Victoria]].
  
βˆ’
the wall gave way with a thundrous crash, and Mitch's otherworldly breasts fired into the room with the force of a small bomb going off.
+
=Hacking=
  
βˆ’
"ANGEL!!!"  Rubin110 rushed over to get to Mitch as soon as the threat was clear, only to be greeted by a spray of milk so powerfull it nearly blinded him.  The milk was spraying against the mirrored wall so hard it created a back-spray that formed an intense mist.
+
can has root?
  
βˆ’
Rubin110 could hear Mitch screaming, and he turned toward the screem only to run into a wall of boob armpit high on him.  Not to be detered, Rubin110 lauched himself up onto Mitch's mountainous right breast, only to find is was so slick with milk and soap that he slid right down into her monumental cleavage, head first.    He started to slide down into a that bottomless chasm, only to find it wasn't bottomless.  His head popped out into an air space near the bottom, his impossible hard erection, so violent it literally hurt by this point, jammed into Mitch's breast as if he was poking her with a really thick broom handle.  Rubin110 turned to his side so he could slide through, and fell to the floor.  He could barely breath under here, and realized this wasn't a sustainable situation, so he turned and fought his way to a sitting position, with the intent to stand.  From the sitting position, he couldn't breath at all, and as he scrabbled to get his feet under him, he felt himself getting light headed.  He reached desperately for the sky with his hands over his head, trying to stand, but he simply could get his feet under him.  They kept sliding on the milky soapy floor.  As he approached blackout, a thought passed his mind.  Not exactly how he would have guessed he would die, but as dying goes, this one had to be somewhere near the top of the list.  Finally, just as he was about to pass out, a hand grasped his own, and pulled him up to air.
+
==serial==
  
βˆ’
It was Mitch of course.  She could feel him squirming in there, and had thrust her hand in to try to help.  The little help she could offer was all he needed to get his feet under him, and he found himself standing shoulder high in boobs.  The sound of rushing water, or rather milk was tremendous, and he was staring into the bewilderingly green eyes of his soulmate, who was obviously on some other mental plane at this point.
+
The mill has a USB port, if you plug this in to a linux puter, such as one running [[Arch]] you'll get some serial.
  
βˆ’
Mitch could feel everything happening to her, but somehow Rubin110's situation snapped her into a different mental state for a momentEverything felt extraordinarily brilliantLight was brighter, smell was stronger, touch and taste were amplified to the nth degree, but somehow hearing was almost muted. She looked into Rubin110's blue eyes, and realized all she wanted.
+
<pre>
 +
[  686.039970] usb 5-2: new full-speed USB device number 3 using uhci_hcd
 +
[ 686.221145] cdc_acm 5-2:1.0: ttyACM0: USB ACM devicetailed TinyG info see: ht[ 686.223369] cdc_acm 5-2:1.2: ttyACM1: USB ACM device
 +
</pre>
  
βˆ’
"Come to me lover."  She said with a strange otherworldly calm.
+
You can then use 'screen' or teh like to connect to it and get a tinyg prompt after hitting 'enter'
 +
<pre>
 +
tinyg [m] ok>
 +
</pre>
  
βˆ’
She reached out her arm, and helped Rubin110 wade through the canyon of her cleavage until he was right up against her. She could feel the heat of his impossibly huge errection against her lower stomach.
+
'''h''' (ENTER) results in...
  
βˆ’
Mitch reach forward as far as she could wih beaconing lips, and their lips came together like an explosion, then his tongue followed like the flames that follow it. Both of their worlds ceased to exist outside of the feelings of their neathers, mouths, hands, and in Mitch's case especially her breasts. It was like the original trip down the rabbit hole with the cure, only better as she was in control this time, and she got to bring her best friend in the world along for the ride. Mitch reached down into her cleavage, and guided Rubin110's impossibly swollen member to the promised land.
+
<pre>
 +
#iG CONFIGURATION Hep ###
 +
                                                                                                                    Thes omands are ctive ocfiguration:
 +
                              $ Sho sm(neral setig
 +
                                                    1 Show oor 1 setting (or whatever motor you want 1,2,3,4)
 +
                                                                                                              $x Sho xs stig or whteverai ou want x,y,z,a,bc
 +
                                  m oall motor settns $ S allaxis settig
 +
                                                                        $ oall ffset settns $  how all etings
 +
                                                                                                              $ hwtihelpsren
 +
    ach $cmman ove lo displast knorec settng n[ aks
 +
                                                    estg traten:
 +
                                                                <k>o aml $yfr to dislay the  a edrt
 +
                                                                                                    o udte setig ner toen equals value:
 +
            <k>lue>
  
βˆ’
Everything went white, and hot and molten. Time desolved, and all was right with the world.
+
                    or examl yr80tset he Y max edrt o8 mm/minute
 +
                                                                orcniuatin details see: htp/hub.com/snhtos/TinywiiGfguration
 +
  Note iy eetes autoai sau reports by defaultThis cbe disabled by enterg $sv0Se the wiki below for moredtis
 +
                                                                                                            detailed TinyG n se: https://github.co/synteo/nyG/wki/
 +
                                        t frwe see: https//github.co/snthe/TinyG
 +
                                                                                se log anyisuestt:.synthet.ousHv funtinyg [mm]
 +
 
 +
</pre>
 +
 
 +
...unknown why the wrapping is so funk, however this basically leads to n'yah https://github.com/synthetos/TinyG/wiki
 +
 
 +
and there is https://github.com/synthetos/TinyG/wiki/TinyG-Command-Line
 +
 
 +
 
 +
==commands==
 +
 
 +
'''$fv''' will give you the version number, currently 0.97, which is the latest as of [[User:πŸ’‘|πŸ’‘]] ([[User talk:πŸ’‘|talk]]) 07:19, 27 January 2017 (UTC)
 +
 
 +
status report
 +
'''{"sr":null}'''
 +
<pre>
 +
{"r":{"sr":{"mpox":0.000,"mpoy":0.000,"mpoz":0.000,"ofsx":116.127,"ofsy":15.299,"ofsz":-54.663,"g55x":116.127,"g55y":15.299,"g55z":-54.663,"unit":1,"stat":3,"coor":2,"momo":4,"dist":0,"home":0,"mots":0,"plan":0,"line":0,"path":2,"frmo":1,"prbe":0,"safe":3,"estp":2,"spc":0,"hold":0,"macs":3,"cycs":0,"sps":0}},"f":[1,0,12]}
 +
{"sr":{"stat":3,"macs":3}}
 +
</pre>
 +
 
 +
'''{"test":N}'''
 +
<pre>
 +
### TinyG SELF TEST Help ###
 +
Invoke self test by entering $test=N where N is one of:
 +
$test=1  smoke test
 +
$test=2  homing test  (you must trip homing switches)
 +
$test=3  square test  (a series of squares)
 +
$test=4  arc test      (some large circles)
 +
test=5  dwell test    (moves spaced by 1 second dwells)
 +
$test=6  feedhold test (enter ! and ~ to hold and restart, respectively)
 +
$test=7  M codes test  (M codes intermingled with moves)
 +
$test=8  JSON test    (motion test run using JSON commands)
 +
$test=9 inverse time test
 +
$test=10 rotary motion test
 +
$test=11 small moves test
 +
$test=12 slow moves test
 +
$test=13 coordinate system offset test (G92, G54-G59)
 +
 
 +
Tests assume a centered XY origin and at least 80mm clearance in all directions
 +
Tests assume Z has at least 40mm posiitive clearance
 +
Tests start with a G0 X0 Y0 Z0 move
 +
Homing is the exception. No initial position or clearance is assumed
 +
 +
For detailed TinyG info see: https://github.com/synthetos/TinyG/wiki/
 +
For the latest firmware see: https://github.com/synthetos/TinyG
 +
Please log any issues at http://www.synthetos.com/forums
 +
Have fun
 +
{"r":{"test":null},"f":[1,0,11]}
 +
</pre>
 +
 
 +
'''DO NOT RUN TEST 1''', this should only be used prior to final assembly, with the motors not installed in the machine
 +
 
 +
...spoiler alert, "Test #N not found"
 +
 
 +
'''$'''
 +
<pre>
 +
[fb]  firmware build            72.73
 +
                                      f] irmware version      0.97
 +
                                                                  c] niguainversio      6.00
 +
                                                                                              [hp] adware platform          3.0[v hardware version        0.00
 +
                                      ]  TinyG ID02130215-d4032595-23038323-43032323
 +
                                                                                    ja]  junction acceleration 1000000 mm
 +
                                                                                                                        ct]  chordal toleranc          0.0100 mm
 +
                                        s] sft limit enable          0
 +
                                                                      [t  motor idle timeout        600e[d] pause dwell tie    uSec
 +
          jebejon mode            0 [0=tx,=JSON]
 +
                                                j  json verbosiy            4 [0=silent,1=foe,2=messages,3=configs,4=lnnm,=erbose]
 +
        j] sn sraize style        1 [0=relxd1=strict]
 +
                                                    [tv]  text verbst              1 [0=silent1vrbose]
 +
                                                                                                      v]  queue reportverosity      1 [0=off,1=sinle,2=triple]
 +
                                    ]  status repot verbosity    1 [0=off,1=fitrd,2=vebose]
 +
                                                                                            [si]  sttusitrval          250 ms[gp efault code plane        0[0=G17,1=G18,2=G19]
 +
                                                      u deal code units mode    1 [0=G01=G21]
 +
                                                                                            g] default gcode codsstem  2 [1-6 (G54-G59)]
 +
              []eugde path control  0G61,1=G61.1,2=G64]
 +
                                                        g default gcode distance mode 0 0=G0,1=G91]
 +
                                                                                                  nyg [mm] ok>
 +
</pre>
 +
 
 +
'''$ej'''
 +
<pre>
 +
[ej]  enable json mode            0 [0=text,1=JSON]
 +
</pre>
 +
 
 +
'''$xvm'''
 +
<pre>
 +
[xvm] x eocity maximum      600 mm/min
 +
</pre>
 +
 
 +
'''$yvm'''
 +
<pre>
 +
[yvm] y velocity maximum      2600 mm/min
 +
</pre>
 +
 
 +
'''$zvm'''
 +
<pre>
 +
[zvm] z velocity maximum      2600 mm/min
 +
</pre>
 +
 
 +
 
 +
so how about some gcode...
 +
 
 +
'''G0 X0'''
 +
<pre>
 +
tinyg [mm] err: Alarmed, command rejected type $clear to clear alarm]: G0
 +
</pre>

Revision as of 21:17, 30 September 2017

Noisebridge has an Othermill as of December 12, 2016. This page should be helpful in figuring out how to use it!

The Hardware

The Othermill is a high performance portable desktop CNC mill with 0.001" precision. The marketing refers to this as "6 mill trace-and-space", meaning you can design SMD circuits with 6 mill resolution of detail for millable features, dependent of course on your milling tool's precision.

This was purchased from Other Machine Company using tdfischer's employee discount on top of it being a scratch-and-ding refurb for $2699 using the Noisebridge Equipment Fund.

The Othermill is powered by a TinyG controller board, which is a 100% Open Source and Open Hardware motion controller for CNC machines. The code is GPL'd and available on github.com/omco/tinyg. The TinyG speaks serial at 115200 baud using a pair of USB serial ports on one device. One port is used for the TinyG JSON api, the other is used for regular GCode. Read up on the TinyG documentation to learn more.

It also has electrical circuit touchoff, meaning you can issue a G28.2 probe movement in a direction and the machine will report (via JSON ;() where it made contact with the spoilboard/t-slot bed. This operates on electrical conductivity with the Y bed, so don't get smart and think you can probe non-conductive materials with it!

The Software

OMC makes Otherplan, a combination CAM, CAD, and GCode sender. It only runs on OSX and Windows, though tdfischer might let you play with the Linux version if you ask nice. You don't need Otherplan to use the mill! It speaks plain serial over USB, though Otherplan does include a lot of utility for the mill. The biggest features are parsing PCB design files and SVG files and turning them into GCode movements on the mill (aka CAD+CAM), flashing the firmware, understanding the JSON API, and providing a decent UI for previewing and controlling the mill. Otherplan supports loading plain GCode, eagle .brd files, and gerber files from other PCB CAD tools.

Using The Mill

OMC runs a thorough support system for using the mill: https://othermachine.co/support/

A caveat: Do not use lubrication on the mill unless you know why you shouldn't! The linear rails in the mill are held in the HDPE frame with friction and if they slide out, the mill might not work or even worse be irreparably damaged!

The mill has a warranty. To take advantage of it, email support@othermachine.co. They're super helpful and friendly. If that doesn't work bug Victoria.

Hacking

can has root?

serial

The mill has a USB port, if you plug this in to a linux puter, such as one running Arch you'll get some serial.

[  686.039970] usb 5-2: new full-speed USB device number 3 using uhci_hcd
[  686.221145] cdc_acm 5-2:1.0: ttyACM0: USB ACM devicetailed TinyG info see: ht[  686.223369] cdc_acm 5-2:1.2: ttyACM1: USB ACM device

You can then use 'screen' or teh like to connect to it and get a tinyg prompt after hitting 'enter'

tinyg [m] ok> 

h (ENTER) results in...

#iG CONFIGURATION Hep ###
                                                                                                                     Thes omands are ctive ocfiguration:
                              $ Sho sm(neral setig
                                                    1 Show oor 1 setting (or whatever motor you want 1,2,3,4)
                                                                                                              $x Sho  xs stig or whteverai ou want x,y,z,a,bc
                                   m oall motor settns $ S allaxis settig
                                                                         $ oall ffset settns $  how all etings
                                                                                                               $  hwtihelpsren
    ach $cmman ove lo displast knorec settng n[ aks
                                                    estg traten:
                                                                 <k>o aml $yfr to dislay the  a edrt
                                                                                                    o udte setig ner toen equals value:
             <k>lue>

                    or examl yr80tset he Y max edrt o8 mm/minute
                                                                orcniuatin details see: htp/hub.com/snhtos/TinywiiGfguration
  Note iy eetes autoai sau reports by defaultThis cbe disabled by enterg $sv0Se the wiki below for moredtis
                                                                                                            detailed TinyG n se: https://github.co/synteo/nyG/wki/
                                        t frwe see: https//github.co/snthe/TinyG
                                                                                se log anyisuestt:.synthet.ousHv funtinyg [mm] 

...unknown why the wrapping is so funk, however this basically leads to n'yah https://github.com/synthetos/TinyG/wiki

and there is https://github.com/synthetos/TinyG/wiki/TinyG-Command-Line


commands

$fv will give you the version number, currently 0.97, which is the latest as of πŸ’‘ (talk) 07:19, 27 January 2017 (UTC)

status report {"sr":null}

{"r":{"sr":{"mpox":0.000,"mpoy":0.000,"mpoz":0.000,"ofsx":116.127,"ofsy":15.299,"ofsz":-54.663,"g55x":116.127,"g55y":15.299,"g55z":-54.663,"unit":1,"stat":3,"coor":2,"momo":4,"dist":0,"home":0,"mots":0,"plan":0,"line":0,"path":2,"frmo":1,"prbe":0,"safe":3,"estp":2,"spc":0,"hold":0,"macs":3,"cycs":0,"sps":0}},"f":[1,0,12]}
{"sr":{"stat":3,"macs":3}}

{"test":N}

 ### TinyG SELF TEST Help ###
Invoke self test by entering $test=N where N is one of:
$test=1  smoke test
$test=2  homing test   (you must trip homing switches)
$test=3  square test   (a series of squares)
$test=4  arc test      (some large circles)
test=5  dwell test    (moves spaced by 1 second dwells)
$test=6  feedhold test (enter ! and ~ to hold and restart, respectively)
$test=7  M codes test  (M codes intermingled with moves)
$test=8  JSON test     (motion test run using JSON commands)
$test=9  inverse time test
$test=10 rotary motion test
$test=11 small moves test
$test=12 slow moves test
$test=13 coordinate system offset test (G92, G54-G59)

Tests assume a centered XY origin and at least 80mm clearance in all directions
Tests assume Z has at least 40mm posiitive clearance
Tests start with a G0 X0 Y0 Z0 move
Homing is the exception. No initial position or clearance is assumed
 
For detailed TinyG info see: https://github.com/synthetos/TinyG/wiki/
For the latest firmware see: https://github.com/synthetos/TinyG
Please log any issues at http://www.synthetos.com/forums
Have fun
{"r":{"test":null},"f":[1,0,11]}

DO NOT RUN TEST 1, this should only be used prior to final assembly, with the motors not installed in the machine

...spoiler alert, "Test #N not found"

$

[fb]  firmware build             72.73
                                      f] irmware version       0.97
                                                                   c] niguainversio       6.00
                                                                                              [hp] adware platform           3.0[v hardware version         0.00
                                      ]  TinyG ID02130215-d4032595-23038323-43032323
                                                                                    ja]  junction acceleration 1000000 mm
                                                                                                                         ct]  chordal toleranc           0.0100 mm
                                        s] sft limit enable           0
                                                                       [t  motor idle timeout        600e[d] pause dwell tie    uSec
          jebejon mode            0 [0=tx,=JSON]
                                                j  json verbosiy            4 [0=silent,1=foe,2=messages,3=configs,4=lnnm,=erbose]
        j] sn sraize style        1 [0=relxd1=strict]
                                                     [tv]  text verbst              1 [0=silent1vrbose]
                                                                                                       v]  queue reportverosity      1 [0=off,1=sinle,2=triple]
                                     ]  status repot verbosity     1 [0=off,1=fitrd,2=vebose]
                                                                                             [si]  sttusitrval           250 ms[gp efault code plane        0[0=G17,1=G18,2=G19]
                                                      u deal code units mode    1 [0=G01=G21]
                                                                                             g] default gcode codsstem  2 [1-6 (G54-G59)]
               []eugde path control  0G61,1=G61.1,2=G64]
                                                        g default gcode distance mode 0 0=G0,1=G91]
                                                                                                   nyg [mm] ok> 

$ej

[ej]  enable json mode            0 [0=text,1=JSON]

$xvm

[xvm] x eocity maximum       600 mm/min

$yvm

[yvm] y velocity maximum      2600 mm/min

$zvm

[zvm] z velocity maximum      2600 mm/min


so how about some gcode...

G0 X0

tinyg [mm] err: Alarmed, command rejected type $clear to clear alarm]: G0