Quieting CNC stepper motors

The Zen Toolworks 7x7 is my first CNC mill, and while jogging around the mill, I felt the stepper motors could run a bit quieter. If you were to operate one while it was unscrewed from the machine, you would notice it is significantly quieter. I read that you could purchase cork gadgets to sandwich between the motor and the frame. I found them on eBay, but I felt it wouldn’t differ much from cheap craft foam.

Read More

CNC BlackCat USB case

Like the BusPirate case I recently made, I have a lot of these PCBs that are fragile and I worry will be damaged by every day use, and even storage in my drawers. I went with a slightly thinner cast acrylic and included a few new concepts in the design. First, I used a v-carve bit and engraved writing into the case front. While it is legible, I think it would have been better if I had carved into backside of the top piece. Second, on the bottom section, I made recessed cutouts as so the board can sit flat on the bottom of the case. Lastly, I used holding tabs on the two middle sections, as so they stay put while the cutting is happening. On the BusPirate mill, the middle “C” parts were moving around due to their flimsy shape. I’ve updated the files to reflect my adjustments and observations in the case I already milled which is pictured. If I decide to re-mill it, it should fit much better and look better.

Read More

My CNC odyssey begins.

Zen 7x7 Model

I have been looking at ZenToolWorks 7x7 CNC mill for the last year, last week one showed up on eBay and I got it, so awesome. I just finished reassembling and hooking up all the electronics, and I can’t wait to learn more about using it. Since the TB5650 Stepper driver board uses a Parallel port, I am setting up an older laptop with windows and Ubuntu dual boot to play with all the applications available.

First impressions are that the quality of this device seems really nice and sturdy. The Stepper driver board and the spindle motor controller both are lacking proper labeling on the PCB in English, but after an hour of testing pins, I’ve figured out most of headers. The DC spindle motor is really quiet, which is amazing to anyone who’s ever used a dremel.

In the next few days I’m going to try and attach a felt pen in place of the cutting blade to get the hang of processing gcode.

Uses for the CNC machine I can see in the near future:

  • Prototype PCB boards quickly, exported from EaglePCB
  • Make some fancy engraved labels for things around my family’s ranch
  • Attach a burning laser diode that I bought a while ago, and make some stencils
  • Design some things in Google Sketchup and export them into the real world.
  • Make some plexiglass enclosures for some electronic projects I’ve had in the past
  • Purchase a drag-knife head and cut some vinyl stickers

Seagate external drive fixed

Years ago I bought two 160GB Seagate external drives, then at some point I didn’t double check which power converter I was grabbing and the little 12vDC drive got a nice 18vDC over-voltage and it blew out the drive. The loss of the HD wasn’t a huge deal since it was empty at the time, but the USB to IDE converter was now curiously showing up in windows as a “Cypress AT2LP RC58”.

A lot of googling around led me to many sites where they suggested using dbflash.exe to restore the EEPROM, which was suggested to be corrupted. I tried, and the tool was successful in flashing the EEPROM, but for whatever reason now it wouldn’t even show up as a USB device in Windows or Linux! FAIL!

So, after some testing the boards, it seemed that nothing was blown, but the controller has suffered amnesia. I discovered that there was an EEPROM on the board which looked familiar. I removed the EEPROM from the still working unit and read out all the data to my computer, then flashed the failed drive’s EEPROM. After re-soldering everything, the unit came up as something different. I took out the IDE drive, and replaced it with another laying around, restarted it, and tada! We have a drive again.

Interesting to see that the over-voltage killed the hard drive, and blanked the EEPROM, but little else.

Zeno acne tip reflashing

We decided to pick up a Zeno Acne Treatment system from eBay recently, due to very good sounding reviews. The device has a tip which heats up to a designated temperature, and you are to hold it to a trouble spot on your face for a few minutes while it counts down. This is all great, but the tips are meant to run out after 45 to 120 uses depending on the tip. Before we ran it completely I took did some searching around on the web, and supposedly there is a EEPROM inside. I carefully disassembled the tip and discovered a 24C01A EEPROM was in fact in there!

Read More

Perl email SMS alert

Before getting a new smartphone, I had a razor phone, which could get SMS messages, but not web. This script checks an email account via POP3, and checks the most recent 10 messages. These messages are compared to the messages noted in the MySQL database, if there are any new messages, a small notification is emailed to my phone using an “SMS gateway”, which is an email address such as: 8005551212@tmomail.net. Most cell carriers have some sort of gateway address for forwarding from email to SMS.

Upon a new email, I would be presented with a text telling me which account to check who it’s from, and the subject. It was run from CRON every 10 minutes, like so:

1
./checkem.pl  address@toCheck.com myEmailPassword pop.gmail.com 9255551212@tmomail.net

Read More

MySQL auto-Tweet

While running thebandmind.com, I thought it would be fun to have a Twitter account which automatically is updated twice a day with a random quote from the database of quotes. This Perl script is run from Cron.

MySQL Database:

1
2
3
4
5
6
7
8
CREATE TABLE IF NOT EXISTS `quotes` (
`ID` int(10) unsigned NOT NULL auto_increment,
`stamp` timestamp NOT NULL default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP,
`twitter` varchar(140) default NULL,
`tweets` int(5) NOT NULL default '0',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Read More

Perl - SysGuard

I had a problem with web crackers changing some of my pages, adding some nasty JavaScript at the bottom. This script I wrote checks a database defined list of directories and files for various types of change. It can detect changes like file size, inode change, owner, group owner, permissions, etc. If the scan is running on a directory, it detects for any missing / added files. It is to be run from the bash shell, or from CRON.

Running it with result in this help screen:

1
2
3
4
5
6
7
8
9
10
SysGuard - Bray Almini 2009-06-28.
Keeps an eye on files and folders, detecting new files and changes.

usage: ./sysguard.pl [funtion] [file path]

Functions:
--scan Check all files and folders in DB for changes
--update Update data on old record, or create a new record
--list Display all files and folders being watched
--clear Delete a record from the DB

Read More