3D Printer Auto-Calibration

So, I built my 3D printer several years ago when SainSmart offered to sponsor my build with their new line electronics. They sent me a RAMPS
1.4 board, Arduino Mega 2560, endstop switches, Smart LCD control panel, and four A4988 cards.

I opted to build the more rigid Ord Bot Hadron because I like the stability and the design. I found the mechanical frame on eBay for $25 from Switzerland and some NEMA 17 stepper motors from the US for $7 each.

I wanted to get fancy and make a dual-extruder printer. At the time, dual extrusion wasn’t quite as common. I designed an adapter plate that allowed me to mount the two extruders to the carriage and spent some time adjusting the Z position on both to keep them even. I had to tweak the Marlin firmware and do some calibration, but I got it to work.

This was great, but I found that the build-plate adjustments were very crucial. Finally, four years later, I decided to put in an auto calibration function to eliminate the need for tweaking the level adjustment of the build plate. I’ve done a lot of research on sensors and considering the fact that I have a mirror as my build plate, I opted for a micro-switch attached to a servo. I also decided to remove one of the extruders to reduce the weight, which allows for faster print speeds.

I picked up a cheap MK8 extruder on eBay and installed it. I grabbed one of my cheap 9g servos that I had laying around and designed a switch mounting bracket that fit one of my spare micro-switches and the servo horn. I had to be careful to keep it slim enough to mount near the extruder without hitting anything. I have posted the .dxf file here for anyone that has access to a laser cutter and want to make one of their own.  Servo micro switch mount (94 downloads)

For testing, I mounted the servo to the underside of the carriage and played with the position values to figure out the correct value for the switch to be stowed and the correct value for the switch to be deployed for sensing. I found this video to be VERY helpful…

I then mounted the servo using a metal 9g servo mounting bracket I had left over from my GPS AdventureBox Kickstarter project and dialed in the correct Z probe offset. The first layer of my prints are fantastic now!

Hack The Box

After completing the Offensive Security Certified Professional (OSCP) certification, I found myself lost. It is difficult to keep my skills on point while maintaining my “whitehat” status without a lot of overhead work in maintining a target network. A friend of mine directed me to a very active site that hosts many OSCP-like target machines and CTF-like challenges… https://hackthebox.eu

New machines are added regularly and access is free. You can pay for a VIP membership, which helps fund the site and gives you access to a much less crowded VPN environment.

Hack your way into an account here… https://hackthebox.eu/invite


Wiznet Hackster.io Contest

Thanks Wiznet and Hackster.io for selecting my project proposal and sending me a free dev-kit! Now time for integration!

My proposal consists of integrating the WIZ750SR-EVB module with the CNC Shield to network-connect CNC devices. This could be very beneficial to maker spaces or other machine shops.


DEFCON 23 Robot Competition 1st Place!

I won first place this year! Big thank you to the contest volunteers, sponsors, and competitors!

DEFCON 22 Robot Competition 3rd Place

I first started with a design similar to the reference robot using servos and a laser cut platform. I also used the Arduino and Processing code from Project Sentry Gun. I simply modified the Arduino code to handle a laser module instead of  an air-soft gun. I really liked the interface and the ability to lead the target, but the resolution (ability to move in small steps) wasn’t good enough. At ten feet away from the target, one step of the servo resulted in about 4 inches of movement of the laser dot.
I then laser cut some gears and some mounting hardware to try and increase the resolution.  While this did work, it resulted in a serious decrease in speed/responsiveness.
I then decided to purchase a RAMPS 1.4 board and some NEMA 17 stepper motors. I a quite familiar with this equipment and figured I could always make another 3D printer with the parts after the contest.
After quite a bit of experimentation, I determined that a direct-drive gimble was the way to go (the bracket of the tilt motor was mounted directly to the shaft of the pan motor and the laser/camera bracket was mounted directly to the tilt motor shaft).
After quite a bit of code writing and debugging, I got it working. I was amazed at the accuracy and responsiveness, but had to play with the code to get the robot to “lead” the target to compensate for image processing/motor movement delays.

GPS AdventureBox Kickstarter

The GPS AdventureBox Kickstarter project was a success!

As seen on:

Wired Logo Techcrunch Logo Popsugar Logo
New Atlas Logo