The June + July Update
Hey everyone. This update obviously came far, far later than expected. I can't apologize enough for that. I was so focused on work that I never took the time to actually sit down and summarize everything. That's not a good enough reason, but hopefully the length of today's post can (partially) make up for that.
For those who are still unaware, I've been posting regular (short) updates in the ThinkMods Discord server, as well as keeping an open line of discussion. Some of that discussion has actually led to some updates that I'll be covering below. So, without further ado...
The New Workshop
The workshop is now mostly finished. This is where I'll be designing, prototyping, manufacturing, assembling, packaging, and shipping all ThinkMods. Every part of it has has been thoroughly planned, and hopefully that's apparent by how well everything fits together.
I won't go into every little detail, but in summary: The left part is an industrial shelf. The top shelf is a makeshift 3d printer enclosure, housing two Ender 3 Pros, which are fully networked for remote access (OctoPrint + RPi 4 w/ cameras). The enclosure has a transparent plastic screen on the front (not shown here), as well as a powered exhaust duct for fume extraction, as I will be printing ABS. The printers are also connected to an UPS, with a battery large enough for a full hour of combined ABS-temp runtime.
Below the printers is generic storage for cables, hardware, tools, and a bin of assorted padded mailers. Below that, there's a color laser printer (for packing slips), and the rest of the bottom two shelves is purely shipping box storage. There are also multiple stacks of boxes on top of the 3d printers.
Moving to the desk, along the left side there's an SMD oven for PCB manufacturing (T-962, modded), as well as a roll of antistatic poly tubing; mods will be heat-sealed in this tubing inside of their package. I will be attaching this spool to a dowel, which will also hold the spools of PCB components (where the iFixit kit is).
On the right side, I have similar spools containing packaging labels, stickers, shipping labels, and shipping tape. There's a Rollo label printer, as well as a digital shipping scale.
The left side cabinet contains a short shelf, where I'm currently storing a T440p and T430 for modding purposes, as well as pull-out trash and recycling bins. The right side compartment is for various packaging supplies, and the right bottom cabinet contains more rolls of tape, labels, and stickers. Below the desk there are boxes of padded mailers in various sizes. The right wall has a 4' x 12" roll of bubble wrap mounted to it; I have four of these total, for void-filling. There's also a dispenser of kraft paper behind it, for void-filling as well.
Prototype 3 Board Soldering Failures
As detailed in May, Prototype 2 wasn't designed correctly from the start, requiring me to make a Prototype 3 design. The main difference here was the switch from an LDO voltage regulator (which reduces voltage by shedding excess volts as heat), which can never increase voltage, to a proper boost regulator, which can convert the 3.3V power supply to 5V for the USB chip.
Once the PCB and stencil arrived, I set to work attempting to build the first one. For those who aren't aware, the way this is typically done is by using "solder paste", which has the consistency of thermal paste or toothpaste. Using a stencil, which is a sheet of material with cutouts for all the pads, you spread paste over the board and it fills in all of the pad cutouts. Then you remove the stencil, and you're theoretically left with paste perfectly applied on every pad. You then pick and place the components onto their pads, and then reflow it in a solder oven, and the paste becomes regular solder.
Unfortunately, the first attempt went very poorly. Part of this was due to the paste itself - it's supposed to be stored in a fridge when not in use, and I don't think I let it warm up for long enough before using it. Part of this was due to the stencil; I think I set the pad sizes way too large for the stencil, so I was depositing far more paste than necessary. Another part was probably user error. I also don't think the SMD oven got hot enough; I may have used a profile that was too low, and some of the paste (on the other side of the board) didn't even melt.
Regardless, way too much paste was applied, and so it bridged between pads. On the EC connector, this could be fixed with a soldering iron, but due to the shape of the M.2 connector, if it happens there it's pretty much a ruined build.
After letting the paste warm up to room temperature for a day, I decided to try on another board. This time, it went far better, but again there was just too much paste, so lots of contacts bridged. I also slightly burned the top of the EC connector, although it still probably works just fine. The oven definitely got hot enough this time, and all paste around the board melted correctly.
As evidenced by the above trials, manufacturing these is not easy. The degree of my failures made me seriously look into what it would cost to just have most of the PCB manufactured ahead of time, by the same fab that actually builds the bare PCB. It would be costly, but not prohibitively so, so I'm actually considering it. However, there are a couple of things I can do to improve manufacturability to the point that I might be able to still do it myself.
One of those is improving the stencil. I ordered a new one, and it actually just arrived today. This one is made of steel, instead of polyimide (kapton tape) like the first one. It's also thinner, and has smaller cutouts for the smaller-pitch pads. This is still a Prototype 3 cutout, so as you'll read later on, it's actually going to be outdated, but I'll still be able to learn from it whether or not I can manufacture myself.
There's another idea to make self-manufacturing more feasible, but it deserves its own section.
Storage Redesign - Switching to microSD cards
Yeah, you read that right.
One of the most important parts of this mod is the fact that it enables native NVMe booting on devices that long predate the NVMe standard. This is because it acts as a standard USB flash drive, and when booted, it loads the Clover bootloader, which contains NVMe drivers, and is then able to boot NVMe devices as if the host actually supported them. I basically just have to include USB storage containing Clover. My original plan for this was literally attaching a USB UDP chip, the package used for many actual flash drives, to the bare PCB. The problem with this is two-fold; USB UDP suppliers are kind of difficult to work with, in terms of prices and consistency, and the UDP chip uses a normal USB pinout, which means I have to provide 5V. That 5V requirement is what made the Prototype 2 board a non-starter. It's also what seriously complicates this entire product; the voltage regulation circuitry makes up like 80% of the complexity of the board. If I can reduce that complexity, then the entire thing becomes easier to manufacture.
CRImier in the ThinkMods Discord server came up with an idea - why not just use a microSD card instead of a full flash drive? I originally dismissed the idea for cost and complexity reasons, but the more I thought about it, the more it made sense.
MicroSD cards only use 3.3V for power, and a USB SD reader IC would also use 3.3v, so we're fine there. That means no power regulation, which means a simpler board.
What about cost? Well, it turns out it would be roughly equal. This is all about economies of scale. Nobody is manufacturing ThinkMods, they're too niche. But if I can source components that are already cheap in bulk thanks to other industries, I can piggyback off their bulk rates in order to make my own industry feasible. With USB UDP chips, I was piggybacking off the custom flash drive industry, the ones that supply all of those custom-branded flash drives to companies. They just place those UDP chips inside of business cards, key fobs, etc. With MicroSD cards, I'm piggybacking off a much, much larger industry - mobile phones. That means MicroSD cards are actually cheaper, per GB, but importantly there are also a LOT of low-capacity MicroSD cards on the market for embedded applications, whereas USB UDP chips are only available with a minimum of 4GB capacity nowadays.
Ok, so what about the reader IC, or the SD card holder? Certainly those add cost! Well, they do, of course, but not as much as you might think. SD to USB is incredibly simple on the low end - there's a reason you can find $2 USB microSD readers everywhere. They don't cost nothing, but it's insignificant. As for the holder, thanks to economies of scale (mobile phones), they're literally only 6 cents per unit. All told, even considering that a MicroSD card would need a controller IC and a holder, it's still cheaper than a UDP chip + power regulator.
Going with MicroSD also has other upsides, too. It means, in the future, that I can sell a cheaper version of the mod that simply doesn't include a MicroSD card, but still has the reader + socket, so users can buy a cheaper variant if they don't need boot support, and still add it later with their own card if needed. You could even use a large 64GB or 128GB card (or even 1TB if you really wanted) and have the rest for always-attached storage, if you'd like. Also, if the storage dies, you just need to replace the SD card, rather than the full hot air soldering station that would be required for a UDP chip.
Not to mention, custom branding is a cheap service, and wouldn't ThinkMods MicroSD cards look dope?
Prototype 4 WIP
Prototype 4 involves the switch to SD cards. I cut out all of the voltage regulation circuitry and managed to fit the SD card holder and IC. I was a bit worried about size, but thanks to how the M.2 connector mounts, it's actually all going to fit pretty nicely. The downside is that the SD holder takes up the entire underside of the chassis. This means the founding backers, who had the "name on the back of the PCB" perk, now have their names on the top of the board instead. I don't anticipate complaints.
I also incorporated a new logo style into the board; I think ThinkMods looks better with ENIG (gold) plating, embedded in the board itself, than simply silkscreen. This plating is already going to be used for all of the pads, so I'm not paying any extra, and I think it looks way better.
I have not ordered Prototype 4 boards yet, for reasons below.
SD Test Board
After designing the Prototype 4 board, I removed everything SSD-related so that it's just the SD circuit and the EC connector. I added a bunch of test points for debugging, and made a nice little board out of it. It also serves as a test for the new logo design. I sent this off to OSHPark for prototyping, so I can make sure my SD circuit works, and is bootable.
While I was at it, I also ordered the SD holder, reader IC, some caps, and some sample SD cards from the same company I'd like to order custom ones from. I paid a great deal extra for expedited shipping, because I really, truly want to get this stuff done and out of the way, so I can get on with production. I know how long and patiently you all have been waiting.
The holder and caps arrived today, and the SD cards are out for delivery as we speak. The reader ICs are estimated for Friday (7/31). I expect the test PCB to be somewhere between Friday and Monday.
Editor's note: The SD cards arrived just before publishing this post.
I stumbled upon brushed aluminum stickers online, when looking for something else, and decided I just had to get ThinkMods ones.
These measure 16mm x 44mm, which means two things - they can be placed perfectly alongside Intel stickers on the palmrest, and the lettering is exactly 11mm tall, the same as the regular ThinkPad logo on the T430. I want to clarify that this is a real brushed aluminum texture, it's not simply an ink pattern mimicking the style.
One of these will be included with every single mod. They won't be available for sale separately.
Ivyrain Stickers, Too!
The keen-eyed among you may have noticed that there are now Ivyrain (or, more properly, 1vyrain) stickers available on thinkmods.store. I worked with Moon to get these made up months ago - the plan was that he would send them to people who donated to the project. We decided to just sell them directly through my store, instead, with all proceeds going to him. I will say that the holo stickers look particularly amazing.
If you would like to include extra stickers in your already-placed mod order, including for Indiegogo backers, simply use the code ADDSTICKERS at checkout and you won't be charged for shipping. I'll include them with your mod(s), when they go out. Alternatively, if you don't use the code, you'll be charged a relatively low shipping fee and they'll go out immediately. This applies to both Ivyrain and standard ThinkMods stickers.
In the immediate future, I'm going to be testing the SD cards to make sure they're up to par, and building the SD test boards so I can make sure they work on the ExpressCard bus properly, and are bootable. After that, I'll be getting Prototype 4 fabbed, most likely with OSHPark to make it faster, and finally be doing the final testing before placing the main order.
At this point, I'm still not sure whether I'll be manufacturing myself or having the fab do it. If my stencil tests don't pan out, and I still get blobbing on the M.2 connector, then I will probably have the fab handle most of the solder work, and just leave the EC connector for myself, since that's easy to do with an iron.
I am, again, very sorry for the late update. Even when I don't summarize the progress here, though, I assure you that progress is being made every day. I cannot count the number of late nights spent chatting with Chinese part suppliers due to timezones.
I'm going to increase the update frequency from "every month" to "every two weeks", going forward. I hope that the accountability will help keep me on track, and keep the line of discussion open, as well as help with transparency.
I'll see you all in two weeks for the Early August update.