Cartridge Connector Durability
I've been researching the various details of this project for a few years now. The main sticking point has been the physical interface between the cartridge and the Pi GPIO pins. Plugging and unplugging PiHATs is quite a physically stressful operation, and exposes the GPIO pins to severe and constant stress, which can destroy them over time. Looking into various options, such as Pogo pins and card edge connectors has turned up a few options.
Looking back in time reveals options that have stood the rest of time, such as the card edge connectors used in computers and video game consoles. Information on the connectors used is difficult to find. Omniball pogo pins would likely be the most durable solution in the long run, but also a very expensive option. I could design a base station that uses a 40 contact omniball connection, but it might not end up being a standard option. Such an interface would be ideal for use in a test station for testing outgoing cartridges, as well as industrial, scientific, and other severe use cases. A quick search turns up a 10 contact single row connector at over $13 USD per piece. 4 would be required to interface all 40 pins of the cartridge. $52 for just the mating pins would be very hard to justify to most people. The connectors also have screw mounts on each end. This would require either modifying the connectors to sit closer together, modifying the cartridge edge connector design, or possibly both. It might be worth designing the edge connection to accept the omniball pogo pins, so long as they could still be used with a standard card edge connector. This depends on the pitch of the pins. It could complicate the design a little bit, but also open up a far more durable, though expensive connection option. There is also the question of holding force with the omniball pogo pins, and the ability to mount them horizontally. They may not be a viable option for many reasons.
A card edge connector is the current choice. If needed, a durability testing rig can be made to test the failure point of various types of card edge connectors, as real world data is very difficult to find. Some card edge connectors, such as PCIe used for graphics cards, are rated for 20 to maybe 50 mating cycles, yet have been found to survive hundreds of cycles without failure. These reports are anecdotal, and come from various forum posts about test bench PCs. As I already have an automated press machine in the works, it would not be hard to design testing equipment and procedures for determining the approximate lifespan of various card edge connectors. As this system is designed for use mainly with children or industrial users, who are both very hard on equipment, it's vital to find a reliable connection method between cartridge and cartridge slot. The old card edge connectors of the past have proven their worth over decades of use, accumulating thousands of mating cycles. The production methods for the cartridges are well known and easy to replicate, but the card edge connectors are harder to verify. The best option I have found is to check the data sheets for materials used, choose suitable candidates, and test them to failure to determine average lifespan. I could skip this step and choose a card edge connector from a reputable brand and hope for the best, but I'd rather not risk early failure and recalls. The ultimate goal is to provide an excellent experience.
Once the automated press prototype is completed, I will start designing the hardware and testing procedures for card edge connectors. The process would involve counting the number of cycles the machine has completed, as well as the number of successful connections each pin has made. Any discrepancy would be considered a failure. This is likely going to be a rather complicated testing procedure, requiring custom hardware. I find such testing to be worthwhile. LTT Labs comes to mind here.
Data Storage Options
I've looked at many different types of data storage over the past few years. From EEPROM chips with maybe a few megabytes of capacity, to SD cards with many gigabytes of capacity, to custom USB flash device designs. Not all cartridges would require mass storage options, or even any storage at all. Some might be purely hardware. Some might require just enough persistent storage to save user settings. I've used the EEPROM on an Arduino in the past to save settings between power cycles to great effect. I know SD cards can be connected to the SDIO interface on the Raspberry Pi's GPIO pins. In the end I think I will implement the footprint for both EEPROM and micro SD cards. The EEPROM design is quite simple as it's just a simple SMT footprint. Implementing a micro SD card is a little more complicated. I could have an SD card slot soldered onto each cartridge. This is easy and standard practice. It adds expense and another failure point to the board though. I've considered the XTX SD flash chips that can be mounted SMT style, but they're very niche, often not available in large quantities, have low capacity, and are just generally harder to source. That makes them an unsustainable option. Micro SD cards are cheap, abundant, and well established. The plan is to simply place pads matching the SD card's onto the board, and reflow the chips into place. I'm not sure I could get the PCB manufacturer to do this, but I could certainly do it myself, if needed. I know there is a smaller PCB company in Colorado that has done some very interesting custom work as well. They may be able to handle that step. If not, I can always make jigs. It might be possible to have the solder pads extend out past the SD card so that a soldering iron could be used to flow solder underneath the card without heating too much of the board. My upcoming automated press project could be used to install the cards as well. Some sort of raised components could also be used to align the SD card on the PCB, such as resistors, or even dummy resistors. I'm sure there is a simple solution to mass soldering micro SD cards to PCBs. I'll just have to try it for myself. I've seen one insta ce of someone reflowing micro SD cards to a custom PCB. Details are scarce, but it has been done.
The benefits of simply soldering a micro SD card to a PCB are numerous. Being able to choose from the large variety of cards is a huge advantage. SLC industrial cards would provide ultimate reliability at greater expense. Large databases, like offline versions of Wikipedia could be stuffed into large SD cards, and then hardware write protected to protect the cells from write damage.
At this point in time I am planning to add a few EEPROM spaces to the design, as well as at least one micro SD card space. Solving the big problems will get this project moving once again. I can fairly safely say that I've solved the data storage problems with EEPROM and micro SD cards. The connector problems still remain. It would be easy to just slap whatever cheap connector I can source onto the system and hope for the best. I'm considering this an industrial design and want to be able to certify the design. This will be one of the big projects under my design business, and it has to perform very well. It also has to be fun and satisfying to use. There are no modern retro style cartridge systems that I know of doing any of this. The Raspberry Pi 400 is still my favorite computer of all time and would make an excellent cartridge based system. I don't know of anyone else designing such things, and I want one quite badly. That means I have to just make it myself. It could help pay the bills some day, which is an added bonus. Until I can sort out the big details, this project will remain just an idea. Good progress has been made though.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.