Category Archives: DIY

T510 Touchpad Resurfacing


I found a forum.thinkpads thread while looking into another touchpad issue recently, and learned two important facts:

  1. The bumpy touchpad texture I never loved that had worn off my T510 is just a sticker.
  2. Those stickers are replaceable.

Continue reading

Posted in Computers, DIY, General, Objects | Tagged , , | Leave a comment

Singer no.42 Swingarm Repair

I’ve posted before on the slow restoration of my old 201-2 and its cabinet, last time I noted that my cabinet’s swing-arm wouldn’t auto-deploy, which prompted some discussions with other folks about the mechanism. One of those other pieces of input was someone kind enough to tip me off in the comments of my last note about this that there were a couple sets on ebay, which I looked at for details, then ended up buying one of for $22 shipped. I really only needed the lower pin and spring, but the spares are nice. This is what the seller pictured, and the light and camera are better than mine, so I’ll just use their picture, because it was well packed and exactly as described:


I now have mine working and have detail photos and measurements from the process that should make it easier for others to figure these things out. It’s actually a really simple mechanism, the following two pictures are pretty much all you need to know about how it goes together and works.
Continue reading

Posted in DIY, General, Objects | 11 Comments

Inspiron 11-3000 Hinge Screw Defect


The Inspiron 11-3000 I’ve been carrying around developed a rattle the other day, and today I decided to open it up.
Continue reading

Posted in Computers, DIY, General, Objects | Tagged , | Leave a comment

New Data Integrity Tools

I’ve recently added a couple tools to my standard set, and have at least a 4x improvement in the safety of my data by doing so.

The process was complicated a bit because I’ve become very sensitive about only depending on FOSS tools (ex:As much as I like SublimeText2, I stopped using it because it once demanded to be updated before it would run.), but frankly I think that constraint produced better results than I would have reached without it. Because it was something of a hunt, I’d like to recommend the particular tools I settled on, in particular are KeepassX, Attic, and Seafile, described individually below.
Continue reading

Posted in Announcements, Computers, DIY, General, Objects | Tagged , , , | Leave a comment

Quick Laptop Sleeve

I noticed I was scuffing up the not-my-laptop that I’ve been carrying, so I did a little “30 minute” sewing project (that actually took over an hour because I’m apparently retarded) after I burnt out on other things for the evening.

The intention is a little sleeve that will be snug enough to retain the laptop, and let me slide it between [note]books, etc. in a bag. That means a little long, with thick hems on the open end for retention, and no flaps, fasteners, or protrusions to hang up on other things in the bag.
Basically, I measured the wrapped length and width of the machine (to accommodate for thickness), cut a piece of fabric I had around to the full wrapped long dimension (+1.75″ for hems and clearance) and half the wrapped short dimension (+1″ for seams), hemmed the short ends, folded it in half, ran a seam down the sides, half-assed wrapped the first 2″ of each side seam, and called it adequate.


  • I can still sew well enough to go from conception to part on something trivial almost instantly.
  • My neglected sewing gear is still in working order.
  • My vintage sewing machine got her recommended periodic exercise and lube.
  • The finished product is functional and looks fine.


  • I initally cut the circumference of the machine … in both directions. 1.9 sleeves worth of fabric!
  • One day, I will sit down in front of a sewing machine and thread it the right direction the first time. That day was not today. Bobbin thread/direction? -Easy. Complicated path through the tension and take-up? -Easy. Passing the right way through the needle? -Derp. I’ll claim it’s the Singer vs. White thing if challenged.
  • I had to look it up and still managed to use the adjustable hemmer wrong in two different ways, one hem failed to fell, the other is not really straight.
  • I added allowance for generous 1/2″ seams intending to cut after … then sewed 1/4s and had to redo the side seams to make it snug enough.

Using my venerable old machine always makes me feel like it and 3 generations of my family are judging me when I do something inept or half-assed on it, which probably makes my projects better.

I think I’m satisfied. I’d like it to be just a hair snugger, but the fit is pretty good and snugger would have run the risk of finishing then not being able to get the machine in. I think I want to make some kind of companion pouch for the power brick, but I’m not sure how, an attached pocket would ruin the slip-between-things-in-my-bag functionality.

Posted in Computers, DIY, General, Objects | Tagged , | 2 Comments

WNR3500L Repair

Some years ago the KAOS lab bought a number of Netgear WNR3500L routers to use as network glue. A pair of them have been in constant service since 2011 in the lab and machine room, and both of those died in the last two weeks. I’ve finally satisfactorily tracked down the culprit, and figure it’s worth a quick write up.

The WNR3500L is a bit of a false-promise machine; it was sold as an “open router” with excellent community firmware support, but it has some pretty extensive blobs that mean it really only runs versions of DD or Tomato with a small range of 2.6 kernels.

I initially just swapped the first one to die out for a spare (which happened to be flashed with Tomato instead of DD, it was an experiment when they were first set up), and reloaded most of the settings by hand (we failed to save or document many of the settings elsewhere. Our fault.) until I had time to investigate. When the second one died, it became urgent.


Conveniently, the WNR3500L has a 3.3V RS-232-like serial port (115200/8/n/1) under an easily removed panel, retained by one small torx screw/pin thing (Both are out in the picture while I was figuring out which side was which).


This leads to another victory for the Bus Pirate. Any 3.3V compatible UART adapter would work, but the bus pirate has much nicer cables for this sort of thing. In retrospect, those headers are correctly sized to just plug the female harness ends directly, but I used clips out of habit.

It turns out they were booting right up with only warnings, but the configuration was sufficiently garbled that neither the WLAN nor the Ethernet ports were coming up. I blew the first one’s settings away (note: at least on the old version these were running, reboot TWICE after clearing the NVRAM to get back to a consistent state: the first time it writes default values, the second time it boots cleanly). With the software-only nature of the problem established, I took more time to investigate the second one, at which point…

nvram show
[1310 lines excluded]
size: 32782 bytes (-14 left)

Well, There’s Your Problem.

Turns out the tiny little log fields for monthly traffic statistics filled up the nvram and were causing configuration corruption, and thus failures.

There are some forum threads and bug reports on the matter, and it was fixed about two years ago with a test to prevent writing past the end of the file, a default setting to automatically delete traff logs after 12 months, and various other enhancements. Now that we’re up and running again it isn’t desperate, but it looks like there is a DD release from mid-2013 with the fixes applied that still supports these things, and they are probably due to be re-flashed to keep this from happening again.


  • My home OpenWRT on a TP-Link 1043ND uses a connected USB key for logging and such. This is a much better behavior (like most things in OpenWRT: DD-WRT appears to be kind of an unmaintainble mess).
  • Keep an eye on appliances like routers, they’re still just computers.
  • Back up your damn configurations, or at least retain copies of the information required to regenerate them. Regenerating settings, especially when it involves manual tasks like MAC address hunting, sucks.

Other notes:

  • These things’ bootloaders appear to always look at through the non-WAN ports for a tftp payload named vmlinuz. There may be a way to disable that, but I think I’d prefer to leave it on, since it only enables local attacks and provides a rescue mechanism.
  • The WNR3500L has a documented weakness about WAN-LAN throughput with various firmwares. Our uplink is actually good enough for it to matter, so perhaps one of the newer versions will improve that.
Posted in Computers, DIY, Electronics, General, Objects, School | Tagged , , , | Leave a comment

Singer no. 42 Cabinet Swing-Arm

One of my previous posts about my Singer attracted an email conversation with another owner about the swing-arm mechanism on the no. 42 cabinet. Unfortunately, the end-of-semester insanity struck before the matter was settled, and I am still unsatisfied with what I’ve been able to figure out.

Now that I’ve had a bit of time, I pulled apart my mechanism and took photos, shared below. I’m reasonably certain that if the mechanism is complete and correct, the arm will automatically deploy when the leaf is lifted. Unfortunately, I’m also quite sure that the pieces I do have are inadequate to support that functionality, and I can only guess what the other bits might be.

The larger diameter end of the part I do have matches the diameter of the holes in the hinge, and the smaller-diameter end matches the hole through the swing arm and base.
My best guess is that there are several objects similar to the pictured pin, one of which protrudes below the table into the catch hole of the swing arm through the holes in the hinge mechanism, springloaded “up” such that it retracts when the leaf is out, and is depressed by something protruding from the hinge-hole in the leaf pinning the arm when closed. The pictures sent by the other owner show what looks like the end of a similar pin protruding into the bracket, but it does not extend any where near far enough to retain the arm.

Posted partly in the hopes that my pictures will help other folks with their cabinets, but also if anyone with a no. 42, especially if it has a working swing-arm mechanism or parts that are not pictured, sees this I’d love some more information about how they’re supposed to go together.

Posted in DIY, General, Objects | Tagged , , , | 6 Comments

chdk-ptp PKGBUILD

In another episode of fixing things for the Cameras as Computing Systems class I’m taking, I made a PKGBUILD that apparently correctly builds and installs chdk-ptp on Archlinux systems. Chdk-ptp is a tethered-control application for Canon cameras running CHDK, that hooks a variety of custom extensions to the ptp protocol. Their build system is a little lackluster, is missing things like an install rule, and requires a helper script be installed to do some path munging before running the binary, but the documentation is good enough to sort it out, and the program itself seems to work. My package depends on iup-all-bin from the AUR which also provides the cd dependency (not marked in its provides array, though there isn’t an official package to conflict with). I tried to use the built-from-source AUR packages for cd (Seriously, who thought that was a good name for a piece of software?) and iup, but iup was giving me a hassle and the chdk-ptp documentation suggests the binary distribution will be less trouble anyway.

The PKGBUILD format has changed a bit since I was last making my own- I like most of the changes in terms of clarity and modularity, but it does require a bit of re-learning. It also means I have a couple of pet packages that probably need attention.

The build is a little janky so despite it passing through namcap with only one expected warning, I don’t want to put it in the AUR until I’ve tested it enough to be reasonably sure it works as intended. I expect I will get around to that eventually.

Posted in Computers, DIY, Electronics, General, Objects, School | Tagged , , , , , , | Leave a comment

Makergear M2 Heated Bed Issue

There was a problem with the Lab’s Makergear M2 recently that is worth writing up.

Last weekend, we had it off site for a demo event for a group of highschoolers interested in engineering and medicine, which included assembling samples of these printable articulated hands that Dr. Dietz designed. (Semi-related: I’ve watched him do it, and continue to be mystified how he does things like this in OpenSCAD). We printed some models live, but on the last print of the trip it made a burning plastic smell. Not the usual, pleasing corn-syurp-y PLA-at-work smell, but acrid recently-deceased-electronics smell. We couldn’t locate the problem, and everything was working, so we assumed filament impurity and moved on.


The next day, the bed stopped heating. Probing around with a DMM indicated the board was fine but the wire harness was not (A thank you to the Ultimachine folks for putting proper test points on the outputs). A bit of googling turned up this thread implicating the quick release screw terminal block that connects the bed leads to the board. Sure enough, upon yanking the connector free, the removable wire-side portion was a melted mass.


The existing connector is a Molex 39533-2002 rear-entry, two lead “Eurostyle” connector. Interestingly, Makergear and/or Ultimachine (Makergear buys and installs RAMBO Boards) used straight-through 5.08mm (200mil, but usually talked about in metric) quick release connectors – screws on the top, wires enter from the right – for the other MOSFET outputs, but a rear-entry (screws on the left, wires enter from the top) for the bed heat. This seemed odd since the side of the little laser-cut enclosure the RAMBO board lives in obscures the screw heads, but the reasoning will become clear. When I was poking at it to see if I could figure out what went wrong, I noticed the threads on the melted side were all but stripped out, but I don’t know if that was a cause or a symptom.


Since it is a standard connector, the (apparently intact) board side will mate with any two-position 3953x part. We found an ebay listing for five 39533-2002 for about $8 shipped, which are compatible and straight-through. Sadly, ebay is usually cheaper and faster than dealing with an electronics vendor if you only need one thing. The replacement seems to work fine, but clearly the original was a rear-entry model to keep the wires from being pressed against the side of the case. The M2’s wire harness is definitely its weak point; two of three serious intervention-requiring stoppages have been related to the bundle headed up to the bed/Y assembly.

The general lesson is to keep an eye on your screw terminals, especially if they are carrying current. I recall replacing the (non-quick-release) bed heater screw terminals on Collexion’s Makerbot ToM after a meltdown not long ago, so there is clearly a general issue with running that much current through screw terminals (several of the common crimped connectors would likely be superior in most ways). Since it came up (and since it is intuition-defying and I’ve heard a lot of people who should know better get it wrong) I’ll close with a reminder that you should not tin your wires before placing them in screw connectors – I know I’ve read this in a standard, research-backed source from ISO or NASA or somesuch, but I can’t find it right now.

ADDENDUM: It cooked two more of the same connector, then we discovered that the SD card connector was a little lose, and apparently causing a ground problem. It hasn’t cooked another connector since, and the bed heats faster than it was, so strong evidence that that was the root cause.

Posted in DIY, Electronics, General, Objects | Tagged , , | 3 Comments

As a quick “look at me being a good citizen,” a “class projects sometimes do have positive externalities,” and so that I have a convenient pointer/local copy, I just touched up the script for building a GCC 4.5 toolchain suitable for CHDK work on the CHDK wiki to fix some minor bitrot. [local copy]

The major problem was that GCC 4.5’s texinfo documentation won’t build under texinfo >5, as documented on the openwrt wiki, and this causes the build to fail. There are also many preventable warnings building under recent gcc, most of which are fixed by switching to gcc 4.5.4. Unfortunately, the existing page was named Gcc452, but the minor-version bump makes that technically a lie, since it now builds gcc 4.5.4. I don’t want my first edit on their wiki to be signifigant renovation, so the lie persists with a note.

Posted on by pappp | Leave a comment