Dual Z-Axis upgrade for 3D Printers

A friend and myself seem to be adding upgrades to our 3D Printers. I have the older Ender 3 and he has the Ender 3 V2 Pro.

We both bought the cheap Dual Z-Axis kits that adds an additional NEMA17 Stepper. I got mine first and the second Stepper has major issues and delays enough to cause the Z-Axis to be not level and between 0-10 steps causes the left side stepper to bind. I contacted the seller and after two weeks of waiting I got a replacement stepper but it’s a NEMA14. So now I am going to pack it up and send the kit back. More on the reason why in a minute.

My buddy got his a few days after I got mine and his worked just fine. His had a creality part number on his stepper as well. However that night he left the printer running and was waken up to the sounds of the Z-axis grinding away with the hot end slammed into the bed with melted PLA+ everywhere. He bought the Z-Axis stabilizers to hope to fix that issue but I think it’s something else.

These Dual Stepper setups are sharing a single driver and I think that is the issue. Makes the stepper push more current and causes either poor performance or failure.

My advice is if you’re planning to upgrade the Z-Axis I would either replace the main board so the additional stepper has it’s own driver OR get a belt driven kit that uses the standard single stepper.

Dual Z-Axis for 3D Printer

I decided to buy and install one of those Dual Z-Axis kits on my Ender 3. Reason being the right side of the Z-Axis isn’t very sturdy and attends to sag a bit and you end up with bad prints.

The kit was easy to install and even read up on some tips on setting it up before the kit arrived. However everything didn’t go to plan.

The stepper motor that came with the kit is total trash. When the Z-Axis is in the Home position and if you advanced the Z-Axis to say one step to about ten steps only the left side moves and you have to nudge the right (new stepper) to start moving. By time this happens the whole thing is out of wack and makes the whole thing un-level. If you don’t nudge the stepper you’ll end up with a bunch of grinding noises from the left stepper trying to forcefully lift the Z-Axis.

I contacted the seller and it’s been two days with no answer on a replacement stepper. I will give it another day before I take the kit off and return it. If I return it I’ll just buy the kit that is belt driven so it uses the original left side stepper motor.

Auto leveling the 3D printer

So I fired up the 3D printer the other day and was showing it off on a group text. A friend of mine also had a 3D printer and he was shocked I didn’t have a BL Touch.

A BL Touch is a little addon device that is a Z-Stop plunger switch that helps to level the bed of the 3D printer. I was trying to hold out for a 32bit board before buying a BL Touch but I decided to look into a DIY alternative for this “sensor”. I found the BFPTouch and straight away printed the parts. I got the Servo and Optical endstop parts ordered. The rest of the hardware I believe I already have.

The hard part for this mounting it to the 3D printer. I have a stock hotend/shroud and only found two mounts that should work. I printed both of them out to try.

The printer us running Marlin so I have no idea if I can get this to work with it. If anything this will force me to either run the Klipper firmware or upgrade to a 32bit board.

Weather Radio/TV into Serial Terminal

I had found a Weather Radio/TV the other day and yesterday I posted about the CD5151CP IC and how to get Composite Video.

When I stripped down the Radio/TV it had two huge boards in it. One looked like it had all of the Radio stuff and the other had all of the TV guts. However I didn’t know if both boards were needed or not. I ran into this issue when I tried to do the same project with an old Karaoke Machine. It had many different boards and I needed to use them all for the TV.

Anyway, I spent a couple of days looking at the main board that had the TV circuity and it seemed everything was there except for Audio. So this morning I powered it up.

I got a Raster!

I used my bench supply to power it up and at 8 Volts it was using 500mA of current.

I need to discharge it and add the Composite modification. I also need to figure out if I will go the Raspberry Pi Zero or a ASCII Video Terminal board. Not to mention 3D printing some parts and building a case for it.

If I go the Raspberry Pi route I can use this more then just a serial terminal and use it kinda like a IP Terminal. I have the ASCII Video Terminal but I think the Composite video isn’t working.

The shortest way to get a modern Linux system to be a Serial Terminal host is pretty easy. Chances are a USB to Serial Adapter is needed. Either a Null Modem cable or adapter is needed as well. Connect the USB to Serial adapter and issue this command.

ls /dev/*USB*

From there it should come back to something like this.

ls /dev/*USB*

It might be different depending on the adapter or something like ttyUSB1.

Now to enable the getty service for terminal connections.

sudo systemctl enable serial-getty@ttyUSB0.service

Just change the part in BOLD to match your USB to Serial Adapter. Hook up the terminal to the adapter and power it up. You should be greeted with a Login prompt from the Host System.

This weekend I’ll fire up the 3D printer and today I’ll try and find something for a case.

Add some usefulness to a Black and White TV

Towards the end of the early 2000’s when Analog TVs were cheap and the digital television age began you could buy one of those portable Black and White TVs for $30.00. Now you can find these same TVs at fleamarkets, garage sales, second hand stores and even the trash.

Most of these are made in China and attend to use the same IC that is an all in one solution for these TVs. The IC is called the CD5151CP. The Datasheet is in Chinese or whatever but all we need to worry about is getting it to work with Composite Video. You might be lucky and got one of these TVs that already has Composite Video but that is kinda rare.

May I add this can be a bit dangerous since a CRT TV deals with High Voltage. Do this with a TV that hasn’t been powered on for a long time or watch a video or two on how to discharge a CRT.

To get Composite Video working you’ll need a shielded cable from an old RCA cable or even Coax. On the IC look for Pin5. This will probably go to the video modulator for RF video. On some TVs there are jumpers, resistors or a trace going off some where. You have to either remove the jumper or resistor. At most you’ll have to cut the trace and then solder on the wire.

I wouldn’t try and use the ground pin from the IC pin 21, maybe some other ground location. I honestly used the Ground pin 21 on the IC and it appeared to be fine.

Vector Serial Console

Last year or so I started on a project based on the Ultra-Simple Oscilloscope with a 5UP1 Electrostatic CRT and with MSarnoff’s Terminal Scope.

I had built up the little circuit board and built a wire harness but I didn’t have the proper Transformer to power it. I need something that is just shy of 400VAC.

I found a Transformer that came out some tube radio I bought years ago from a flea-market. It outputs 500VCT (260-0-260). Still isn’t the ideal voltage for the CRT itself but the circuit has a voltage limitation and can not exceed 400VAC on each tap.

I also had built up many years ago the Terminal Scope board and at the time I only had a Elenco Analog scope that had terrible Z bandwidth so the picture was blury. Hopefully it will work just fine with the Ultra-Simple scope board.

If this works I’ll build a case for it. I’m thinking something like this.

Probably without the round corners.

I doubt it would be brown but probably black or a Tektronix color scheme. If it all fails I’ll just find a smaller CRT and do a Scope Clock. I think it would be pretty bad ass as a standalone terminal on my main PC for console use.

Modern Low Voltage Wiring For New Construction 2022

Every home builder does things different. Some only toss in a couple of RG6 Coax and CAT5e/CAT6 cables for Phones and call it good. Others will run Cable everywhere and others will let you do a design or select a package.

If I was to have a home built I would do this route.

CAT6 cabling at every TV location. Everyone streams these days and the few people that do use Cable-TV or Satellite attend to use Wireless boxes these days. The only time I see RG6 used is for Comcast or Spectrum comes in and installs a Modem. I would have a RG6 in the Livingroom so the Modem or main Cable-TV/Satellite box would be centralized in the home along with a CAT6 so it can back feed to a Network Switch in the main LVP (Low Voltage Panel) so all of the other CAT6 lines can be active. If it’s a main cable box or satellite box it can easily communicate to any other wireless boxes.
For the Demarc of the home I would have a 1-1/2 inch conduit going to the LVP so whoever is selected as the service provider for Internet/TV can just run a Coax or Fiber in it.

I would put the LVP in the Laundry Room. The builder I work with always wants it in the Master Closet and honestly home owners hate it there. At the time a home owner wouldn’t care until a tech has to go in there and hook up cabling. Also have another 2inch conduit going from the LVP to the attic. This makes life easier for everyone down the road if any other cable has to be added down the road.

WiFi is an issue, you never can have enough signal in a house with the Modem the service provider issues you. People that don’t know much about Networking and WiFi usage will flood their home with WiFi Extenders and have more issues. Have a WiFi Access point in the Living room close to the Master Bedroom and one in the Hallway to the other Bedrooms. If you have a two story home then have one upstairs but do not overlap with the two downstairs.

Alarm systems these days are pretty much wireless. The company I work for wires up Homes for a Alarm System but if the home owner uses a different alarm provider such as ADT, Safetouch and Vivint they won’t touch those wires. Maybe they will use one or two for powering the alarm panel. Reason being that make their money for the extra equipment they install. In Florida a legal alarm system is covering all exterior doors and a trap like a motion sensor or glass break. If you want more covered then they charge you a ridiculous amount per-sensor. If you’re offered for a Alarm System prewire I would take it but have them put it in a closet somewhere 12 – 24 inches from the ceiling. You can have it in the Laundry room, it’s all up to you.

If you want to Future proof your home I would go with CAT6a cabling. Don’t bother with CAT7 and if your builder only provides CAT5e then hire an outside low voltage company, preferably while the home is still under construction and drywall isn’t up yet.

Control Panel 2.0

I was planning to use the Raspberry Pi Zero W but I need a lot of GPIO so I am going to use a NodeMCU and some 74HC595 shift registers. With ESPHome I can use up to four registers. That will give me 32 in total. Also I will have some free on the NodeMCU. However that just covers the switches and not the 20 LEDs I have as status lights. I think I can use four more shift registers on the free GPIO on the NodeMCU.

# First four shift registers
  - id: 'sn74hc595_hub1'
    data_pin: D5
    clock_pin: D8
    latch_pin: D7
    oe_pin: D6
    sr_count: 4
# Second four shift registers
  - id: 'sn74hc595_hub2'
    data_pin: D3
    clock_pin: D8
    latch_pin: D1
    oe_pin: D2
    sr_count: 4
  - platform: gpio
    name: "SN74HC595-1 Pin #0"
      sn74hc595: sn74hc595_hub1
      number: 0
      inverted: false
  - platform: gpio
    name: "SN74HC595-2 Pin #0"
      sn74hc595: sn74hc595_hub2
      number: 0
      inverted: false

The example code above I think would work. Both sets of shift registers can use the same clock but the latch, data and oe would be on different pins. If this works I can have up to 64 GPIO pins on a NodeMCU. This would even leave room for a Rotary Encoder for controlling light brightness or volume control for audio.

The only way to know is to breadboard it up and test it.

DIY Solder Re-flow Plate

I have been needing to get a Re-flow/Hotplate for some SMD work. I have a heat gun but it’s hard to get things heated evenly.

I have found some solutions to use a clothes iron but that is a bit too ghetto. My idea is to use Heat Cartridges that are used for 3D printer hot ends. They’re cheap and three or four of them should work for the size of plate I want.

Another feature I want is that I can plug it into my soldering iron station. If I ever want to make it standalone I can use a Hakko controller clone.

The plate is going to be 3003 Aluminum grade. Same grade as most cookware so I know I will get great thermal transfer.

Fun stuff in Linux

Linux over the years has become easier to use and is gaining ground everyday over Windows. So if you haven’t gone to the Linux side of the force you should do it now.

I have a Pi4 running Bullseye (Debian 11) and I have been setting up my environment to run some things. I started with the Lite build from the Raspberry Pi website and added on what I wanted.

These days a lot of scripts depend on Python and there is a package manager for Python called Pip. It doesn’t come with it out of the box so I had to install it and update it.

sudo apt install python3-pip
python3 -m pip install --update pip

On my setup it complained about the $PATH for the /home/$USER/.local/bin. Most likely because I use the Fish Shell instead of Dash. If you’re using fish you just add the path to the config.fish file.

nano ~/.config/fish/config.fish
set -x PATH $PATH /sbin/:/bin/:/usr/bin:/usr/sbin:/home/pi/.local/bin:

function ll
    ls -lh $argv

If you’re using a different user other then “pi” you’ll need to change what is in bold to suite your user name. After update/create the config.fish file you just logout and log back in and run the update command again.

python3 -m pip install --update pip

Now even with a Pi4 it is still much slower then a desktop and speed and memory is still valuable. For fun I wanted to use my Hantek USB scope so I downloaded OpenHantek. Thing is this software requires a X11 Server. I also don’t want to run a full window manager with it because I want all I can get out of the Pi so the Scope runs well. Lets install X11 and make it run only the OpenHantek software.

sudo apt install xserver-xorg
sudo apt install xinit
sudo apt install x11-xserver-utils
sudo apt install xterm
sudo apt install lightdm
sudo apt install awesome awesome-extra

The last two commands installs the light Display Manager and the Awesome Window Manager but this is only to test things and make sure X11 is running properly. just run the command startx and X11 should start up. From there you can reboot.

When it’s back up again at the command prompt download the OpenHantek ARM binary deb file and install it with apt.

cd ~

wget https://github.com/OpenHantek/OpenHantek6022/releases/download/3.2.5/openhantek_20211216-31c5ee2_armhf.deb

sudo apt install openhantek_20211216-31c5ee2_armhf.deb

Now we need to disable lightdm because if we don’t then X11 will crash.

sudo systemctl disable lightdm

Now we can edit the .xinitrc file and the only line in the file should look like this.

nano ~/.initrc

/usr/bin/X11/xterm &
exec /usr/bin/OpenHantek

Now when you run startx it will only load up OpenHantek. When you quit the program it will go back to the shell console.

This trick works on a lot of software as long as it’s not tied to a Window Manager. For fun I created a BASH Menu so instead of X11 loading up a certain program from the xinitrc file I have only a xterm instance running and with the bash menu I can load up programs such as OpenHantek and Sublime-Text.


echo "1. OpenHantek"
echo "2. Sublime-Text"
echo "0. Exit from menu "
echo -n "Enter your menu choice [1-2]: "

while :

read choice

case $choice in
  1)  echo "You have selected the option 1"
      /usr/bin/OpenHantek | clear ;;
  2)  echo "You have selected the option 2"
      /snap/sublime-text/113/opt/sublime_text/sublime_text | clear ;;
  0)  echo "Quitting ..."
  *) echo "invalid option";;

  echo "1. Sublime Text"
  echo "2. Open Hantek"
  echo "0. Exit from menu" 
  echo -n "Enter your menu choice [1-2]: "

This is a real old school way of doing it but it works.