The Sparcstation IPC that I owned since around 1995 died. It sat in a cupboard for 15 years, so it may have been dead for a long time already. Upon trying to power it on, it did absolutely nothing.
I knew about early mini-ITX mods using the IPC/IPX case, like this one from 2002: https://www.mini-itx.com/projects/sparc/ , but nostalgia of being able to boot Linux/Sparc on this IPC kept me from doing my own mod. With the original hardware dead (probably just the PSU actually), this changed everything. A bit of research showed other Sparcstation mini-ITX mods, some with larger sparc4/5/10/20 cases (e.g. http://www.squit.co.uk/computers/edenstation5.html ), and one very interesting mod of an IPC: http://www.moria.de/~michael/comp/ipc/ . Michael used an industrial Commell LV-671 motherboard. Commell went through more than 30 variants of that board in the meantime, and has just released an updated Tiger Lake version: the LV-6712 carrying the Intel i7-1185G7E. It's a full-height mini-ITX board, but the IPC case should have enough z-axis space. Challenge: to update the 25 MHz 32-bit Sparcstation IPC to a 1.2-4.4 GHz 64-bit Intel i7 workstation, go from 48 MB RAM to 32 GB (max 64 GB), and from 10Mbps ethernet to 1Gbps (and even 2.5Gbps!), and from SCSI-I HDD to NVMe SSD!
First step: strip the contents of the IPC case. The original 200MB SCSI hard drive was replaced by a 3GB SCSI drive soon after I got the IPC. Now I dismantled the drive to show my kids what a hard drive looks like on the inside. I removed the remains from the lunchbox case.
The LV-6712 can be powered with 12V DC power, which means we can forego the need for a full ATX power supply. Michael built a 12V power supply into the original power supply housing, and I decided to follow his suggestion. Cutting away a bit of the outer casing of a TracoPower TXH 060-112 AC/DC, I was able to fit it in, and even keep the original passthrough power connector.
The original case fan was powered directly from the IPC PSU, but the new motherboard has a PWM case fan header. Fortunately the case fan is a standard 60x60x25mm one. I found a PWM-capable replacement, the Noctua NF-A6x25. I expect it to be less noisy too, with 30 years of engineering progress advantage against the original Mitsubishi fan.
A lot of material needed to be cut and sanded away to put the mini-ITX motherboard as close to the case side wall as possible. Our case fan and the PSU housing, mounted in the case ceiling, come down very close to the two serial ports on the motherboard.
Then I positioned the IO shield against the back and tried a couple of configurations. I settled on the final location and cut the hole for the entire width of the IO shield. I didn't cut to the full height, because I needed the remaining plastic for structural integrity (since the metal plate originally supporting the back wall has gone!).
I cut the original external SCSI connector from the IPC motherboard to fill the hole it originally occupied. Three hex motherboard spacers were placed in holes drilled in the plastic floor, the fourth sits in one of the original rubber spacers that supported the IPC motherboard. I used two more spacers to support the IO shield.
This supports the motherboard at a height that allows access to all IO ports.
With the motherboard jumpered to AT mode, it boots when the power comes on. As an alternative, the "always power on after power restore" option in the BIOS also works. While it is technically possible to put 3.5 and/or 2.5 inch SATA drives in the ceiling bracket, I currently have enough space on the NVMe SSD. I installed the provided power breakout cable, but it sits unused in the case.
I bought a USB pin header to dual USB 2.0 adapter, but can't use it for two reasons: the key of the 9-pin connector is on pin 10, but the adapter expects it on pin 9. Worse, the pin header is at the edge of the motherboard, sitting against the side of the case, and the adapter extends about 1 cm in that direction. Plan B: a 4-pin USB pin header to single USB 2.0 port adapter, on a 20 cm cable. I plugged in a USB Bluetooth 5.0 adapter and left it inside the case.
Currently Ubuntu 20.10 supports the integrated Xe graphics of this board, so that's what I will be running until an LTS distribution picks up Xe support. The IPC deserves enterprise workstation-grade stability!
Further modifications after some usage:
I configured the "down" cTDP profile in the BIOS, which reduces the base frequency and TDP of the CPU (12W vs 28W on the standard "nominal" profile. The third profile is 15W TDP). That should help with both power draw and heat production as well as noise levels.
The included CPU fan is rather loud for my ears, but unfortunately the included heatsink only has 50mm fan holes, which is a size not commonly available. Alternative heatsinks for the mobile FCBGA1449 socket are also hard to find. The original fan (50x50x10mm) keeps the package at +- 45 degrees at 5700 rpm with occasional jumps to 50 and 60 degrees while showing a full-screen 1440p Youtube video.
A Noctua 40x40x20mm fan maintains a comparable temperature at under 4000 rpm. Full load does chase the temperature up, with the Noctua not able to bring it down completely. Unfortunately, a 60x60x25mm fan (same model as the case fan) doesn't fit under the steel drive cage. Even without the drive cage, the case top requires a gentle push to close. That force can't be good for the heatsink nor the motherboard underneath it. On the other hand, it keeps the cpu cool at under 2000 rpm (idle) and it maintains a reasonable CPU temperature below 3000 rpm even with load. As soon as I can find a silent 50x50x20mm or 60x60x20mm PWM fan, I'll get it. In hindsight, mounting the motherboard as low as possible (and sanding away more material at the back for the I/O shield) would have been better. Two or three mm would make a difference. I could cut away a part of the drive cage, and maybe also thin away the underside of the PSU case as an alternative. Fortunately the PSU case is perforated, so the fan can suck in air even when the PSU sits directly on top of it.
I've even considered installing some heatpipes to transfer the heat of the heatsink to a radiator next to the board (there is a good 5 or 6 cm of lateral space) and put a fan on that radiator. The main reason I'm not going to do that (yet) is the risk of damaging a component that I can't replace...