Archive for the ‘electronics’ Category.

For Sale: MAME Cabinet

Up for sale is my MAME Cabinet. As documented on this wiki article I built this cabinet from a pile of lumber in the style of a late 1980s Data East cabinet, then outfitted it to be an extremely solid, quality MAME cabinet. Over the past few years I haven’t found the interest to keep working on it and now it’s time to sell.

Price is US$700, to be picked up at my house in Shelby Township.

Purchasing just the keyboard encoder, controls, coin door, and supplies for finishing the control panel would cost nearly this much.

Click on the photo above (or here) for more photos of the cabinet taken in early 2017. Please take a look at this article for information on exactly what went into the cabinet, and this photo gallery for some photos of it throughout the years.

This cabinet currently does not have a monitor installed, and the PC is a bit outdated (it was last powered on ~3 years ago), but all of the arcade-specific parts of the cabinet are in great shape. All controls feel good and are connected to a Hagstrom KE72-T encoder (no ghosting), the control panel can quickly disconnect from the main cabinet for ease of transport, and the monitor support bracket will make it easy to install a new display. Prior to listing this for sale I was planning to install a ~24″ widescreen LCD. Proper arcade game-type T-molding is installed along all edges and the cabinet has numerous handles, leveling feet, and roller wheels to make moving it easy.

Part specifics can be found on the wiki article; almost everything was purchased from Happ Controls and thus is full arcade quality. The control panel is topped with Formica and features eight buttons per player, some MAME-specific buttons for adjusting in-game controls (DIP switches, volume, etc), and there are three hidden buttons on the sides to act as coin inputs. The Millipede-sized real-arcade trackball serves as a normal mouse, and a wireless Logitech keyboard is included.

The cabinet features a temperature-controlled vent fan, internal power strip, speaker amplifier, remote bezel light switch, remote power and reset buttons, and quick-disconnects for all internal connections. PC-mounting points inside are ATX-spec to make installing a bare motherboard easy. The control panel is removable, held in place with thumb screws making transportation even easier.

Please contact me at if you are interested in buying my MAME Cabinet. It was built with extreme care and well loved, but it’s time for me to let it go.

Canon 20D Err 99 Resolved by New Battery

I’ve been using my reliable Canon 20D for a while (11 years?), frequently employing a Tokina AF 100mm F2.8 macro lens for detail work. This is one of my favorite lenses and is great for bringing out detail I wouldn’t be able to see with the naked eye, but around six months ago I began occasionally receiving the generic “Err 99” when trying to use the lens. My other lenses (a Canon EF 24-70mm f/2.8L and EF 50mm f/1.8 II both worked fine, so I figured the problem was with the lens.

Turns out it had a surprising (and cheap) solution: the batteries.

When the problem originally manifested itself as a simple error that’d only occasionally happen, I would then turn the camera off and on and try again, and usually the lens would work. It also appeared correlated with the aperture used, so I figured the lens was failing; perhaps the iris was binding at some point. Last week I found that the error was occurring more frequently, and would be coupled with a low battery indicator that only appeared after turning the camera back on.

Since I was using the original two batteries I ordered two new ones via Amazon (STK’s Canon BP-511 2200mAh Battery, 2 Pack for $24.99) and they arrived today. Once charged up I tried them with the Tokina lens and it’s now working great. I’m still able to reliably reproduce the issue with the older batteries, so a solution has been found.

Apparently the Canon lenses use a bit less power, or perhaps are more tolerant of lower voltages. Either way, I’m glad everything is working well. I might even think about getting a new camera body… Although I’ll probably wait until this one dies. I must have balanced use pretty evenly across the batteries too, because they both show the issue to the same degree… What’d normally be good just confused things.

T8 Fluorescent Lamp Retrofit

The fluorescent light fixture in the laundry room had issues, with only two bulbs reliably lighting and a persistent buzzing sound. This is the telltale sign of a failing ballast, and with the bulbs being fairly old (last replaced in 2005) it was time for some work.

The fixture had been fitted with F40 / T12 bulbs and a pair of two-lamp magnetic ballasts. Since these bulbs aren’t being manufactured anymore (this was stopped in mid-2012) I had to move to T8 bulbs. This wasn’t a problem, as I’d been keen to try the Philips F32T8/TL950 high-CRI (98!!!) / 5000K bulbs. Outside of very specialized full spectrum bulbs these seem like the holy grail of daylight lamps. They aren’t readily available in shops in less than 25 packs, but some Amazon sellers have them individually for reasonable prices.

Four bulbs were ordered ($13.32/ea) via Amazon, along with an ICN-4P32-N electronic ballast ($15.60), and this evening I put it all together. Wiring was surprisingly simple, with everything being relatively color-coded and easy to fit. Two old magnetic ballasts were removed, the replacement electronic ballast was fitted / capped / taped, and it was ready to go.

These lamps look great, and the laundry room is now brighter than ever. These lamps look so good that I’m now considering them for over my workbench and trying to find a way to use them in the office. With such a high CRI and daylight-like temperature these should be good for dealing with seasonal affective disorder or just general blue feelings in winter. (Yes, getting out and riding in daylight helps, but that’s not really possible on weekdays…)

Three Generations of Garmin HRM Soft Straps

This afternoon I received my third heart rate monitor Soft Strap from Garmin, seen at top. I hope this lasts for longer than the previous two. The one on the bottom is the first generation, and I’ve now gone through two of these. The first one worked pretty well, up until the day it started to read weird false-high values which — if real — would indicate that I was about to die. This happened about a year after purchasing it… I bought another, and it too failed in the same way in less than a year.

A phone call to Garmin last June resulted in my receiving the middle strap, a nicely redesigned model that has a conductive fabric layered over the sensors, connected to the side of one’s torso. This worked well up until a month or so ago when I began getting falsely low results. I could be pushing fairly hard, somewhere around 150-160 BPM, when I’d suddenly get a 70-90 BPM reading. Since this threw off my data I stopped wearing it when riding and called Garmin asking for help.

Today I received the one on the top, an evolution of the shielded second generation. It has a conductive vinyl patch — similar to the center electrodes — for the shield. It also has some silk screening over the front. I hope that this one lasts longer than the other two, although I can’t complain terribly as I’ve received a few years worth of straps gratis just by calling and asking for help. The replacement straps were provided at no charge, shipped to me within a few days of calling. With this, and previous support for my broken Garmin eTrex, I’ve been quite happy with Garmin’s support.

If all goes as hoped I’ll be able to give the HR strap a fair test tomorrow, as I’m aiming for a 5:30 moving time ride. Hopefully that happens…

(To note, I’ve taken particular care to follow Garmin’s washing instructions for the straps. For the newer models one is to rinse it after each use, and launder it every seven uses. Batteries were also replaced, just in case, before calling for support.)

Micro SIM in Nokia 1661

Sometimes you just need to make a SIM card fit… Like in this case where my warranty replacement Nexus 5 from T-Mobile failed a few days after receiving it and I want the same account working on my spare Nokia 1661. I’m glad it still has the alignment marks on it from when I needed to do this earlier in the year.

My first Nexus 5 gradually had the GPS module fail, beginning to be problematic in September and coming to a head in mid-November. The warranty replacement — which I received six days ago — has the screen brightness seemingly stuck at the dimmest mode possible. I’ve already done a full data wipe, so tomorrow I get to visit a T-Mobile store and pursue another replacement… But at least I’ve got a way to make calls and send texts until the next replacement is received.

Garmin Edge 510 ANT+ Recording Stopped at Lap

Here’s something odd that happened during a long ride with my Garmin Edge 510 (firmware 2.90). While stopped in River Bends Park to climb over a tree I pressed the Lap button to mark the location so the tree could be removed, but then after that point the unit stopped recording data from either of the ANT+ sensors. Both the HR and Cadence values seemed to be stuck at whatever they were when the Lap button was pressed.

Firmware update 3.00 is out and I’ll try updating to that and see if it comes back, but as the change history simply states “Changes for manufacturing.” I wouldn’t be surprised if it happens again.

UPDATE: A bit of research has shown that it wasn’t actually when the lap button was pressed. It just happens to be right after that.

Here is the first record of the consistent/wrong 142 BPM, 24 RPM data:

<trkpt lat="42.64555980" lon="-83.04996448">

Here’s the lap marker, which shows it was earlier:

<gpxdata:lap xmlns="">

Close, but definitely earlier.

Nexus 5 Protection Efforts

After soundly breaking my Nexus 4 (it’s now listed for auction on eBay for parts) I ended up purchasing a Google Nexus 5 as a replacement. On the recommendation of my friend Laurence (and after lots of research) I chose to add a case and screen protector in efforts to keep it from breaking when I drop it. With the Nexus 4 I’d used a neoprene pouch when carrying it in my pocket, but this had the flaw of leaving the phone exposed around the times when I’m using it, which is how I broke it.

The protection chosen is a cheap ($9.89 via Amazon) Diztronic thermoplastic polyurethane (TPU) case that covers five sides of the phone and a Skinomi TechSkin screen protector ($9.95 via Amazon). The screen protector seems a bit expensive, but Laurence has found it to provide a great deal of protection, so I’m giving it a go. Hopefully this will keep the phone looking and functioning nicely for a few years.

For a few years I’ve been using Pelican plastic cases to keep my phones safe when biking. A Pelican 1015 kept the Nexus One safe and dry and a Pelican 1020 took care of the Nexus 4. The Nexus 5 is larger than both of these and won’t fit in either case that I have, so I’m hoping that the more traditional cycling protection of a thick plastic bag, coupled with the case and screen protector, and stashed a bit more deeply into my pack, will keep everything intact. The lack of plastic box should make the phone more audible when ringing, something that Danielle will surely like when she tries to call me.

While it’s only been a few hours since application, thus far I’m happy with the screen protector and case. The case fits snugly, doesn’t interfere with connectors, and the buttons are easily usable through it. One small scuff from my finger nail is visible when the screen is off, but turned on it’s invisible. It also is sufficiently slick in use to not have the traditional dragging-a-finger-on-plastic-wrap feeling that other screen protectors suffer from. I’m quite sure that more of these small scuffs will appear with daily use. This case also has the upside of keeping the camera’s lens or screen from resting on whatever surface the phone is set down on, hopefully keeping them nice for longer.

Now to hope I don’t break this one…

Breaking My Phone

This evening while changing in the bathroom the BK Training facility I dropped my phone, a 13 month old Google Nexus 4, shattering the outer glass / digitizer. It appears that the phone fell screen down, with one side landing slightly before the other, and the non-slip rough surface tile in the bathroom did a fine job ensuring the screen was ruined. I’d had problems with the slipperyness of the phone before, but usually my hand was moist enough to keep a good grip on it. A couple times this winter the dry skin on my hand has contributed to my dropping it, but previously it’d only been on soft surfaces. This time it was done in.

At this point the touchscreen doesn’t work, so I’m shopping for a new phone. I may replace the screen then sell the phone, but at this point I’m most concerned with getting a working phone quickly. I guess it’s time to get shopping for a new phone, see if its available locally, give screen protectors some thought, and dig into wiping my phone without use of the touchscreen.

Raspberry Pi MAME Cabinet Retrofit Notes

Back in 2000 I built a MAME cabinet, but I haven’t used it much lately. I want to retrofit it with a higher resolution LCD screen and updated hardware and OS, so I’m thinking that a Raspberry Pi and a cheaper LCD would work well. These are my work-in-progress notes for this project:

Cabinet Changes:

  • Remove exhaust fan / temperature activated relay.
  • Remove ATX switches and lights; maybe replace with something to toggle the Raspberry Pi on and off.
  • Remove PC, use base plate to mount power supplies / Raspberry Pi and supporting hardware?
  • Swap Hagstrom KE-72 for something USB.
    • Needs to support trackball.
  • HP ZR2440w monitor in place of CRT. ASUS VS24AH-P? 1920×1200 max from Pi.
  • Need to rework power on/off stuff due to Raspberry Pi not having any way to actually shut itself down.

Raspberry Pi Hardware:

  • v2.0 board.
  • Enclosure.
  • Powered USB hub.
  • WiFi adapter: Cheap dongle; Adafruit sells one.
  • Large SD card: 128GB?

Control Panel Hardware:

  • Replace Hagstrom KE-72 with I-PAC or Hagstrom KE-USB36 which may be an almost drop-in replacement.
  • Currently have 39 inputs. Can I work with only 36?
  • Panel-mount USB B.

Order of work:

  1. Get Raspberry Pi.
  2. Validate MAME functionality.
  3. Update monitor.
  4. Update control panel.

UPDATE: After the purchase of a Raspberry Pi and some extensive testing, the hardware seems nice but not capable of running MAME at any appropriate speeds. Thus this project is shelved for the time being.

Garmin Edge 500 Time Issues during Lumberjack 100

After getting back home from completing Lumberjack 100 I was excited to review the logged data from my Garmin Edge 500 bike computer. A few times during the ride the unit lost GPS signal, but as I’ve had this happen on other rides without issue I didn’t pay it much attention. Unfortunately, it looks like this time the data really went odd. After poking with the data and attempting to correct it in Ascent I downloaded Fit File Repair Tool to see what it could tell me.

As shown in the screenshot above (click to embiggen), roughly 15.52 miles in, at 44.2119°N 86.1295°W, just beyond the Steinberg Road crossing in Road Monkey during my first lap (map here), the recorded time suddenly jumped from June 15, 2013 to October 19, 2019. This explains the strange duration I’d been seeing in analysis software, with everything from Ascent and Strava both reporting an elapsed time of around 55619:03:11, the length of a ride which I don’t quite think the Edge 500’s battery would endure, but which matches the 6-some year offset. Weirdly, Garmin Connect doesn’t show the issue (link), almost as if they filter out this problem.

When this issue occurred my Garmin was running firmware v3.00, something which I was hesitant to change soon before the race. Since the changelog to v3.20 only lists two minor changes which aren’t useful for me (power meter serial number display and a change to support manufacturing) I didn’t see a good reason to rush to upgrade. It’d also worked otherwise well for long rides, so I didn’t anticipate any problems. I upgraded the unit to v3.20 today and I’ll see if similar problems arise, but I can’t imagine I’ll be doing that length of ride any time soon, so it’ll be hard to get an equivalent test.

If any of you wish to review this damaged FIT file from Lumberjack 100 it can be found here: