Ok, ready for another WALLOFTEXT? I've been thinking about this for the last couple of weeks, and I'm not really sure why it wouldn't be doable. It seems like a sticking point I've seen frequently is with the Open Hardware circuitry we have going on. Not to say that isn't a valuable service- @openhardwarecoza is sending me one of his new laser boards soon, which I'm looking forward to- but that it doesn't seem like it should be necessary given the array of corporate-backed (ie. warrantied, returnable, professionally supported) open source boards we have the choice of now. Even just the main three- Arduino, RasPi and BeagleBoard, which all provide different solutions at different price points- seem theoretically sufficient to span the array of our CAM controller needs. Note that I'm not trying to say we should wholeheartedly replace one with the other, since I think that the only reason the corporate boards exist to begin with is thanks to the continued efforts of electronics guys working on open source options to simplify the tasks for the less technically-inclined. Arduino was made for artists, after all. And keeping them on their toes with continued development of other options is good for everyone. However... Even providing the circuit layout and BOM to source locally, custom hardware (outside of a scale manufacturing situation, obviously) isn't necessarily the easiest way for beginners to jump in- finding a local or online custom PCB fabricator that ships and does small enough minimum orders, plus soldering and testing, which a beginner may or may not have the equipment for or be any good at. It seems unfair to restrict use to either plug-and-play through $400 of USB controller and Mach3, or experimentation with Arduinos and soldering. There's a whole swathe of people- the majority, in reality- who aren't necessarily technically inclined- or can put together flat-pack furniture but aren't exactly electronic engineers- and don't have a fortune to spend. That's who I'm looking at. Until they can be targeted- and people like MakerBot are trying- the home 3D fabrication movement is going to stay low-key, depriving it of many people who could potentially be useful to the FOS side of things. Software, on the other hand, can be infinitely, freely copied and pasted without any understanding of how it works (just look at some of my recent YouTube comments). It can be put onto the afore-mentioned mass-produced microcontroller/microPC boards which are reasonably priced, and the same custom control created for substantially less than $100. I believe, anyway. So, the question becomes, how is this software created? I don't know how many "software guys" there are on the forum, but I'm hoping that even those who aren't will be able to have some kind of input, certainly early on and during testing. My initial high-level flow concept is this: 1) Take STL or OBJ and slice. 2) Create toolpaths from those slices 3) Understand the difference between undercuts and overcuts regardless of the surface angle! (calculus, I guess, from what I recall of second year math lectures) 4) convert toolpaths to GCode 5) write GCode to memory (SD card for stand-alone units?) 6) access GCode a line at a time and, if necessary 6a) send to controller 7) convert coordinates to sequence of motor steps for all three axes 8) determine frequencies (or, pulse widths) to deliver steps per axis over time based on shape of line being followed- constant for straight lines, equal for unity-proportional lines, quadratic for curves. 9) deliver pulses to stepper controllers according to predetermined parameters. 10) Goto 6. This is compiled from what I've found over the last week or two. I don't think I've missed anything, though the research I've done into CNC controllers is fairly light, so it's altogether possible. That's where the hardware guys come in! Options: a) GCode- is it the best solution? It's the current industry standard, as far as I'm aware, but it seems outdated and bloated. Is it time for a new Open CNC standard? b) Other control: servos, motors, feedback, etc. This is designed to run steppers, but later versions should allow switchability. c) Acceleration. I keep hearing it's a thing, but I haven't quite determined exactly how so yet. d) Language- I'm thinking Python for ease of interfacing via Ethernet to a BeagleBone Black, which I hear supports simultaneous switching of GPIO pins and will run Android 4.0 or Ubuntu, software generally somewhat familiar even to the less technically inclined. It should be fairly straightforward to update or change to different ARM microPCs, or switch to say, C++ as necessary. Is this just another FOSS reinvention of the wheel? Does LinuxCNC do all of this already? My issue with that is its precompilation with Ubuntu LTS. I want something that can be downloaded onto WinPC, Mac or Linux and a Git with, say, an Android app to sideload onto a Beaglebone, and an Ethernet cable later it's ready to go. Minimal technicality, maximum flexibility. I'm not expecting this to all come together inside the next 3 months, but it seems like a valuable direction to go in. Thoughts?