My “mostly printed” CNC

Model in Fusion 360
“Finished maschine”

In my on going efford to produce more precise parts, it was time to build a CNC machine. Yes I know, I could have bought one, would have been a better, (maybe) more precise machine, but where is the fun in that?

But how big should I go? 200×150 like those small ones you always see in facebook ads? No, I thought: “Go big and stay home!” (yes this was a 2020/1 COVID project)

The final dimensions of this machine are 1020x1020mm with a work area of 640x640x150mm. It is moved by two 1.9 Nm Nema 23 stepper motors for Y, one 1.26 Nm Nema 23 for X and one 59 Ncm Nema 17 for the Z axis connected to T8 lead screws with 2mm pitch.

All 3D printed parts took about 100 hours to print. I used 2 Ender 3. All parts are printed in PLA from Geetech. Maybe not the best, most durable material but for now it’s good enough.

Parts list

Base frame

3090 extrusion 1000mm long
3060 extrusion 1000mm long
Corner piece
Corner plate to mount the stepper to
Nema 30
Bearing holder plate
Bearing centering plate
22mm bearing


3090 extrusion 1000mm long
X axis holder connects the roller plate to the X axis
Y roller outer plate
Y roller inner plate
3030 200mm
Platic wheel with insert bearing
Connects the spindel to the gantry
The X axis motor mount
The X axis spindel guide
T8 insert
Nema 23
22mm bearing

Z axis assembly

Outer assembly plate.
Grinder mount plate
Assembly wheel guide
Nema 17
3030 500mm
Z axis spindel block
T8 insert
The router mount

Miscellaneous parts

M6 impact sleeve

The EMI problem

After a little bit of testing I noticed the machine sometimes went into a fail state randomly without running into any end stops. When I turned on the router or switched a light an alarm would pop up. I did some research and found that some other people have had the same problems before. The problem seemed to be that by turning on the router and the steppers turning, the end stop pins would be getting a false input induced by electromagnetic effects. I tried to filter them with ferrite cores, that helped a little but was still too unreliable. The solution was to change all end stop cables for shielded microphone wires. I also swapped the china counterfeit Arduino CNC board for the real one by Protoneer.

I also tried to bring all metal parts and the wire shielding down to one electrical potential by connecting them to the ground of the power supply. What resulted in even more unpredictable fail state.

When the end stop shielding were attached to the frame the machine would go to fail state immediately. Which seems to be counter intuitive. If you know why this could be, please leave a comment.

The router problem

I originally planned to use the Katsu M1DP-x7-10A-01 but in testing it showed a noticeable deviation when turning the spindle by hand with a 1/8″ tool blank in it. I swapped it for my 35 year old Bosch rotary tool. This has only one speed setting of 26000 rpm but is completely plumb. This will be replaced in the future by a Makita RT0700CX2J, to have the option to change speeds.

First cuts

Time to make some chips. I cut some 7,5mm holes 10mm deep with adaptive clearing and a 3mm cutter. The machine seemed rigid and all went smooth until I inspected the result.

First holes

The holes were egg shaped, not round. This was the result of too much slack in the T8 nuts on both axis. These were temporarily changed for some platic ones with almost no slack, but I think I’ll replace them again for more durable metal ones in the future.

Slack in the Y axis
Plastic T8 nuts

After getting that problem out of the way it was time to cut the waste board holes for the M6 inserts.

I took some time because I’m not that good with feeds and speeds yet and was affraid I would ruin this thing by going to fast.

Under side of the waste board

If you interested in what I’m doing with this machine subscribe to my Instagram @sourcreammitschnittlauch and my youtube channel. There will be more videos and pictures in the future.


A few months have passed and I decided to add an enclosure to bring the noise level down a bit. Its build from 3mm plywood. You can just open the 2 front doors or open half of each side and half of the top to better thinker with the machine. I managed to lower the noise from 98 db to around 70db.


You can download the complete (messy) fusion 360 file here or check out the thingyverse page for this project (which seems to be broken right now).

Posted in Hardware | Tagged , | Leave a comment


In the last year I recived over 100 spam calls on my land line so I decided to finally do something about it and have a little fun with them.

Bringing you “PhoneSpamBlock”.

It’s not much but its pretty effective. With a few lines of code and the help of the linephone SDK and the C# wrapper I managed to build a neat little tool.

You can find the code here or a compiled version here as a installer or here with the call manager as a file collection.

To use it you just have to create an VOIP device on your fritzbox or other router.

Then call PhoneSpamBlock.exe

  • -api [Apiurl like]
  • -keyword [String to find a bad scored number]
  • -regex [regex to filter numbers]
  • -server [Your VOIP server]
  • -user [Username]
  • -pw [Password]

You can set comma/new line separated white and a black lists in txt files. (Change requires application restart)

These lists can contain numbers with *. 0049* blocks all calls from Germany for example.

If the bot answers the call a random file from the sounds directory (not included for copy right reasons) is played and the call is recorded.

You can create folders inside the Sounds directory named like the start of a number to play certain files for special numbers only. \Sounds\0049 for media for calls from Germany only.

To connect the call manager to the server call it like: [pathtothemanager]\callmanager.exe -[server name]


Virtual cable to reroute the sound output to the input so the caller can hear the audio clips.

Posted in Software | Leave a comment


Be in control

Houston formally known as “LauchPadForOBS” is a controller software for MDI devices

It enables you to control your OBS with any MIDI controller e.g Launchpad. But also supports virtual clients so basically every browser can be your controller.

If you don’t use OBS you can still use it as an freely programmable macro keyboard/soundboard

Feature list

  • Control OBS with your MIDI device
    • Support for studio mode
    • Preview scenes
    • Switch between scenes
    • Show/hide scene items
    • Volume control
    • Control stream/recording status
  • Soundboard
  • Launch keyboard macros
  • Launch CMD commands
  • Open urls


  • If you had “LaunchPadForOBS” installed, please remove it before installing Houston.
  • In order to comunicate with OBS you need to install OBS-websocket.
  • You have to have .net framework 5 installed
  • An SSL certificate is created during the installation, this process may fail. To still use the virtual keys, please execute the following command: dotnet dev-certs https –trust


You can download Houston here

If you like the application:

Buy Me A Coffee

Posted in Software | 3 Comments