Building the Commodore that should have existed, an interview with Stefany Allaire
Last month, the 100,000th hardware engineer registered on SnapEDA, so I thought it would be fun to reach out to learn more about what they were working on. Little did I know that it would turn out to be so epic!
Stefany Allaire is building the Commodore 256, what she believes should have been the successor to the Commodore 64 and 128, the best-selling computer line in history. Stefany – who has designed hardware for $60 billion companies, startups, and everything in between – also shared insights into her design process, including the PCB design tools she uses, and how she integrates electronics and mechanical design.
I was fascinated and inspired by this project and I hope you will be too!
Name: Stefany Allaire
Role: Engineer (Hardware & software)
Location: Waterloo, ON
Stefany, you’re working on a very interesting project. Can you tell us more about it?
Sure! Not too long ago, I was watching this YouTube channel called The 8 Bit Guy, whose creator David Murray, reviews retro computers – things like the Commodore 64, and also homemade computers. On his April 12th episode, he did a review of a computer based solely on TTL logic called the Gigatron.
At the end of the episode, he made the remark that he’d never encountered his perfect computer. He went on to post his full wishlist on his website. Already looking for a new project and in the “retro” mood, it felt like the perfect project. Considering that I was part of the whole Commodore 64 revolution, it brought me back down memory lane. This revolution was also the reason I got into electronics design in the first place.
You have to realize that David’s wish list, is pretty much the specifications for what a Commodore C256 could have been. I set out to make his dream a reality.
Wow! Why do you think this computer never got made?
The story goes that the person behind the creation of the Commodore 64 was Jack Tramiel who was Commodore’s president. Over time, problems with the board ensued, and without getting too deeply into the details (since that story has been told many times), Jack left Commodore for Atari and brought a bunch of employees with him to create the Atari ST. In the meantime, Commodore ended up buying the computer company Amiga.
By the time the Amiga was part of Commodore and the Amiga 500 was released, there was never a real successor to the C64 and C128, since the spirit of the creators wasn’t there anymore. So, this is why I believe David’s specifications resemble what a C256 would have been. I’m calling my version, which is heavily based on David’s wish list, the “C256 Foenix”.
If you were to go back in time to 1987, this is probably similar to what would have replaced the Amiga if Jack Tramiel had never left Commodore. I’m designing it as though it was 1987 in terms of parts. For example, the connectivity, joystick ports, I/Os, cartridge port, and Serial I/O for the floppy, all keep the same vibe as the original Commodore 64, but with some new improvements needed for the time.
Finally, I made the choice to make it completely open source, from its 3D printable enclosure design, PCB, firmware, as well as the FPGA code so that anybody can reproduce it and hopefully we can create new software for it. Obviously, mostly games.
What types of components are you using for the design?
The computer will still be based on the 65C816 from Western Digital, and will be clocked at 14Mhz, just like the Commodore 64, but way faster.
It will have more memory of course than the C64, and a lot of graphics features, as well as sound. However, I believe that restriction is the mother of creativity, so I’m trying to restrict myself to keep it limited to what would have been available back then.
By limiting its resources, future developers will have to be clever to find new ways to create amazing things that early on we thought we could never do. Memory is cheap, so I could easily spend the same amount of money on a single chip that could have given me the chance to fill the memory space with RAM. But instead, I am choosing to use many chips with much lower capacity. It’s more limiting, but that’s the point. I want programmers to be more thoughtful about the resources they have available to implement their features.
I was able to find the symbols and footprints for some of these parts on SnapEDA, but of course, they were no longer being sold by distributors.
If the parts are no longer available from distributors, how do you find them?
Basically, you go to China. The surplus of stock in China is amazing for old parts. Sites like Alibaba and even eBay have plenty of older parts.
Interesting. Tell us more about your design process. Which tools do you use for circuit board design, and why?
In my last job at a bigger company, we used Altium, which is awesome, but expensive.
Being that this is a personal project, I needed to find new tools, so I decided to choose Eagle. By the first night, I was really comfortable with it. Overall, it’s really awesome, but there’s a learning curve, especially around finding the libraries, and figuring out how devices, symbols and footprints all link together. It is quite different from other software in that area. That’s how I came across SnapEDA.
Do you do schematic, layout, or both?
I do both. That’s part of the fun.
Can you tell us a bit more about your design process?
I usually design the enclosure first, so I can have a full vision of the product I am trying to create. Then, I try to put myself in the user’s shoes to make connectivity decisions. For example, should I put connectors in the front or the back, and will it create conflicts with either the product itself, or the exterior world?
Then, I move on to fitting the design in, considering things like heat and noise. Throughout the process, I do the schematic, part placement, routing, PCB fab, purchasing/sourcing, and assembly. Along the way, I make sure to check the design, once, twice, thrice (I am still working on that). Then it’s debug time, which includes my favorite part – power bring-up.
At this point – if I managed to not set my place on fire, or be the witness of a smoke show – I decide whether the design is a ‘go’ or ‘no go’. From here, I either go back to square one, or I move on to the final part of the process – writing and debugging the code, and finalizing the product.
Do you use 3D in your PCB layout. If yes, how?
Yes, I do mechanical design for the enclosures. In general, I like to start with the enclosure and then design the PCB to fit within the enclosure. Then I’ll import the design back into the mechanical side, and ensure that the connectors and other components are all still fitting, refine the design, deal with heating issues, etc.
When it comes to finding 3D models, it’s usually the specialty components that are hard to find. Some manufacturers are awesome and create all parts for you. Like CUI, for example. I love these guys and I’m going to use their parts on purpose just because they bothered to make all the models available. For some other companies they don’t have the models, or you have to register to get them, and that’s overhead that you sometimes just don’t want to bother with.
4-5 years ago nothing like this existed, and if it did, it was right in its infancy so I had to make all 3D packages from scratch. They weren’t as beautiful and not as precise, but good enough that when migrating from the PCB to the mechanical design I could see if it would fit in the enclosure.
What is the most interesting technical aspect about what you’re working on now?
Technically speaking, this is not a complicated design, meaning that I am not dealing with very high frequency and/or very wide bus or very touchy technology. Fundamentally, there is very little limitation. But! Keeping the design to the time period is, I would say, the technical challenge. It is like trying to recreate from scratch a model T from the early century with the actual material and technology of the day. This is the most interesting aspect!
Do you have any words of wisdom for electronics engineers, or those wishing to pursue a career in our industry?
Learn as many skills as you can. Learn to do mechanical design. If you’re doing hardware, learn how to program. If you do firmware and/or software, learn how to create hardware. And if you do know how to program and to do schematic and PCB then learn how to program FPGAs.
The more skills you know, the more flexible and uniquely qualified you become. Become a “Jack of all Trades”. Over time, it will benefit you when it comes to finding a new job or tackling new challenges. Having a better understanding of all aspects of a design will make you a better asset.
But bear in mind that this type of profile doesn’t always fit everywhere (such as large billion dollar companies where they often prefer specialists).
When and where can someone get access to the computer or the design files?
I’ve given myself a year to complete this. Within the next few months I’ll have the PCB completed, and then the 3D casing can be printed. At that point, the platform will be ready for software to be developed on top of.
I’m hoping to bring more people on board to help make this vision happen faster – on the software side especially. If anyone is interested in helping, they can contact me at firstname.lastname@example.org, or learn more at the C256 Foenix website.