Are you a maker that pines for the early years of personal computing or are you curious about historical CPUs? The Retro-uC can help make history come alive for you. Are you curious about doing maker projects using vintage platforms, using tried and true instruction sets? Do you miss the days when your app had to fit in a few kB? Are you a strong advocate for open source hardware and software? The Retro-uC is for all of you, too!
Current popular microcontrollers are either based on the AVR instruction set of Arduino fame or on proprietary ARM sets. The Retro-uC is a fully open source microcontroller that can run some venerable retro CPU cores:
These instruction sets were selected for the Retro-uC because they have been the CPUs in some iconic home computers: the Z80 in the TRS-80 and ZX Spectrum; the MOS 6502 in the Apple I/II and the Commodore 64; the Motorola 68000 in the Amiga and Atari ST. The Retro-uC thus allows use of these iconic instruction sets for your electronics projects.
The chip also provides 5 V general purpose I/O pins that can be driven by code running on one of the three cores. This allows the Retro-uC to interface with vintage equipment.
The Retro-uC project embodies the ideals of the Chips4Makers project. The chip will be developed in the open, with all code and PCB design released as open source. The purpose of this is to build a portfolio that future developers can use to create their own open source chips.
A Retro-uC for Everybody
Because everyone has different needs, this campaign will offer the Retro-uC in several form factors to cover different uses.
- The Retro-uC Chip is a stand-alone chip that can be used with your own PCB designs just as one would use other microcontrollers, but with an open instruction set that’s right for you. The chip can be used for the same applications as you would use proprietary microcontrollers, such as blinking LEDs, home automation, or robotics. It’s great for experienced hardware developers who want to build projects around tried and true historical cores and instruction sets.
- The Retrino is a board that integrates the Retro-uC with an Arduino-compatible layout for I/O. It allows you to use the Retro-uC and its instruction sets with existing Arduino shields. Great if you want to explore applications using simple, reliable cores to control Arduino-compatible functions.
- The Retro-uC Breadboard and the Retro-uC ProtoPlus include the Retro-uC on prototyping boards that are easier to handle for developing your own open hardware. The former is a board that allows the use of the Retro-uC on a breadboard or other prototyping board. The latter is a prototyping board inspired by the Perf+ 2 with the Retro-uC already integrated. Great for learning and experimenting or making one-off prototypes.
The Retro-uC Product Family
The Retro-uC chip is a microcontroller similar to an AVR microcontroller as found on the original Arduino board or the famous PIC microcontrollers. The microcontroller’s CPU cores and RAM are on-chip and it interfaces with the outside over digital I/O. This means the Retro-uC is a control chip rather than a CPU.
The chip contains the Z80, MOS 6502, and Motorola 68000 cores. The active core is externally selected during reset or can be changed through the JTAG interface. The chip has 72 general purpose 5 V I/O pins. These are mapped in the internal memory map and can be accessed and controlled in this way from the running programs. A JTAG interface is available for testing and programming purposes. Programs can be loaded on the chip and the proper core can be activated through this interface. Alternatively, the programs can be stored on an external I2C flash chip and booted from there without needing the JTAG interface. The chip itself is a QFP package that can be used on your own board designs.
A good microcontroller that lives up to its name also includes peripherals that can implement certain functions and protocols. The exact peripheral configuration is still being determined, but Retro-uC will contain one or more UART, I2C and PWM peripherals. Additional peripherals may be added later on so please follow the project to keep up to date.
If you’re an experienced hardware developer who wants to use these cores in your designs, the Retro-uC chip is your gateway to history.
- Open source microcontroller with a Z80, MOS 6502 and Motorola 68000 core
- 4 kB of on-chip RAM
- 72 5 V digital general purpose I/O pins
- JTAG interface for programming the device
- Optionally bootable from external I2C flash memory
- I/O pins that can select the enabled core during reset
- One or more UART, I2C and PWM controllers
The Retrino is a board that integrates the Retro-uC with an Arduino compatible I/O layout. The 72 5 V I/O pins are accessed via headers that are compatible with the Arduino Mega. These I/Os can then be used for projects using custom wiring or existing Arduino Uno and Mega shields. A companion microcontroller on the board allows you to program the board through USB and store the program in its on-chip NVM. Afterwards, the board can be used as a standalone that only needs 5 V power over the USB connector.
- Retro-uC QFP chip
- PCB with Arduino Mega compatible pin layout
- Only digital I/O, no analog
- STM32 companion chip
- USB interface for powering and programming the board
The Retrino is great for developers and designers who want to use these simple, trusted cores in an existing, familiar hardware environment. It’s also great for students and hobbyists who want to experiment.
Note: Although this board will have Arduino compatible I/O layout, a port of an Arduino(-like) integrated development environment is not included in this campaign. The cores can be programmed through assembly language or via an available C compiler that exists for the three cores. Creating an integrated development environment will require community help; backers should not count on its existence when making their decision to support the project.
This is a simple board where the output of the Retro-uC chip connects to mounting holes for headers. This allows it to easily be used on breadboards or prototyping boards. On-board DIP switches are available to select the active core and whether or not the chip will boot from I2C flash or over the JTAG interface.
With this board, optional headers can be ordered that make the Retro-uC Breadboard compatible with DIL layout after having been soldered in place manually.
- Breadboard-friendly PCB board
- Retro-uC QFP chip
- DIP switches to select active core and whether to boot from I2C
- Headers to make board DIL compatible (unmounted; need to be soldered)
The Retro-uC Breadboard is great for students and hobbyists to experiment with. It’s also perfect for hardware developers who need to make prototypes with these vintage cores at their base quickly and easily.
The final board was inspired by the Perf+ 2. Here, the Retro-uC is mounted on a Perf+2 style prototyping board that allows you to complete your own projects and prototypes by soldering components with minimal need for jumper wires. All the I/O pins of the Retro-uC chip are routed to the horizontal lines on the prototype board. For easy reference, each of the rows has the I/O labeled, as can be seen in the following picture:
The Retro-uC ProtoPlus is great for students and hobbyists to experiment with. It’s also perfect for hardware developers who need to make prototypes with these vintage cores at their base quickly and easily.
- Retro-uC QFP chip
- Perf+ 2 inspired prototyping board
- 13 cm x 20 cm
Retro-uC Fired Up Pack
This is a pack for people who are very enthusiastic about the Retro-uC project. It contains the Retro-uC Chip and the three boards (Retro-uC Breadboard, Retro-uC ProtoPlus, and Retrino). Additionally, a Flash ROM chip is provided from which the Retro-uC can be booted.
Backers of this pledge will get early access to the Chips4Makers development hub (details below) to foster contact with like-minded people.
This pack is for the Retro-uC believer who wants to work with the Retro-uC in all possible use cases.
- Retro-uC Chip
- Retro-uC Breadboard
- Retro-uC ProtoPlus
- Flash ROM chip
- Early access to Chips4Makers development hub
Retro-uC Chip Developer Pack
This pack consists of the Fired Up Pack plus an FPGA development board on which the design of one’s own chips can be started.
The FPGA board is a Digilent Arty S7-50 preloaded with the Retro-uC design. This board has lots of features for makers and hobbyists with a very good feature/price ratio. The Vivado Retro-uC project for this board is also delivered and can be used as starting point for your own projects. Support for development on this board will be provided through early access to the Chips4Makers development hub (details below).
This pack is ideal for people who are enthusiastic about the Retro-uC and also dream of making their own chips in the future.
- Everything from the Retro-uC Fired Up Pack
- Digilent Arty S7-50 FPGA + Retro-uC source code as project file for this board
Fueling the Open Silicon Revolution
Open source, cooperation, and reusing other’s people work are fundamental to FOSS and the open hardware world. Up until now these principles have applied far less to silicon chips. The Retro-uC hopes to take the next step in making open silicon available to makers, hobbyists, and professional developers. All Retro-uC development will be done fully in the open. The source code will be published in a GitLab repository and is meant to be used as a basis for future custom ASIC projects. All the sub-blocks of the Retro-uC (the CPU cores and the peripheral interfaces) are stand-alone and can be combined at will in new projects; be it a mega PWM controller, a communication hub, or even an open source re-implementation of one of the iconic home computers mentioned in the introduction.
In addition, the toolchain used for designing the chip will consist of open source software. How these tools were used to design the chip will also be openly documented. So in the end, it’s our hope that the Retro-uC can be a starting point for users to develop their own chips without the burdens of licensing fees, confidentiality agreements, or license incompatibilities.
The Retro-uC is the pilot campaign for the Chips4Makers project. Executing this pilot will help us gather expertise on supply chain and production for low-cost, low-volume chips. If this campaign is successful, it will be used as input to help us develop a service that will allow makers and developers to create their own custom-designed, low-cost, low-volume chips. The Retro-uC has a retro focus, but that may change for future projects. In the open source hardware/silicon world, a lot of things are moving quickly like the RISC-V or the MIST and the FPGA Arcade boards. So if low-cost manufacturing can be proven with the Retro-uC project, your own imagination will be the only boundary on the chips you can design. The chips4makers.io blog will have posts that go deeper into its vision by discussing how open silicon and open source, crowdfunding, and makers inter-relate. This information will also be distilled in updates on this project, so be sure to sign up for notifications at the top of the page. Or just go ahead and make your pledge.
After the tape-out of the Retro-uC chip, a Chips4Makers development hub will be set up. When the hub opens it will consists of three parts:
- Software. The source code and binaries for the toolchain will be available from the site. Members will thus have an easy way of setting up their own chip development environment. The source code will be developed in an open source fashion so all members are encouraged to develop improvements to the code and push them to include in the common repository. Where possible, improvements will also be pushed upstream so the whole open silicon movement can make use of the improvements done for the Chips4Makers toolchain.
- Chip (RTL) source code. The Retro-uC source code will be available from the site. The repository will be gradually extended with other code from other projects from the Retro-uC author and other members from the hub. This way chips can can be made with different functionality than provided in the Retro-uC chip.
- A forum. In the forum section members can discuss open silicon related topics. First topics are support discussion for the provided software and the chip source code. Also, new chip projects can be proposed and discussed with the other members. Other discussion topics will include how the hub can be improved and further extended to help the open silicon movement in general.
Backers of the ‘Support Chips4Makers & Early Development Access’, ‘Fired Up Pack’, and the ‘Retro-uC Chip Developer Pack’ pledges will get early access to this development hub. This way, you can help steer the evolution of the Chips4Makers development hub and help to make open silicon development accessible for makers and hobbyists. Sometime after all pledges of this campaign have been fulfilled, the Chips4Makers hub is planned to open to all people who are interested in open silicon development. The Chips4Makers development is meant to be complementary to other open circuit and silicon initiatives and not competing with existing initiatives. Acheiving this cooperation, or even integration, with other initiatives may be discussed and agreed to on the forum as the best way to proceed.
As far as we know, the implementation of a classic retro instruction set in a fully open source microcontroller is unique. In that respect, there are no direct alternatives to this chip. It is targeted for low(er) production volumes and therefore can’t compete on price with Arduino-like boards that use high volume chips or existing, proprietary MOS 6502 or Z80 microcontrollers.
Our funding goal was determined by obtaining ‘budgetary quotes’ for manufacturing the products as described here. Budgetary quotes are based on designs which are not final and thus not all information is available. When the design is final, we will recalculate our costs, which may mean we need to change some manufacturing details and/or providers.
The production of the chip and the packaging will be done through the imec service center that will subcontract other parties as needed. We project TSMC will be used for producing the bare dies and ASE for the packaging. We anticipate PCB manufacturing and assembly will be done by Eurocircuits. Chip and PCB design and product testing will be done in-house.
|November 2018||Tape-out of chip to imec|
|December 2018||Tape-out of PCB boards|
|February 2019||Delivery of packaged chips|
|March 2019||Chips tested and delivery of Retro-uC QFN to backers|
|April 2019||Boards ready and delivery of other products to backers|
As we start the campaign, the chip design with the Z80, MOS6502 and the Motorola 68000 cores is finished and has been tested in an FPGA on the XLR8 board. The peripherals like UART, PWM, I2C, etc., still need to be integrated. Updates will be posted during the campaign on the progress of this development.
Shipping & Fulfillment
We will use Crowd Supply’s fulfillment services for shipping and logistics. This means the products will be shipped from Portland, Oregon, in the United States, and backers will need to take that into account when considering their particular customs obligations. Shipping will be free to the US, international shipping costs will be incurred for world-wide shipment. Since Chips4Makers does not have any shipping or logistics infrastructure, we decided it would be more reliable and cost-effective to use Crowd Supply’s proven services.
Risks & Challenges
Currently, testing has been done on unfinished code for the Retro-uC. Areas of improvement have been identified, and the software developers agree that these can be implemented before the final tape-out. There is some risk that before tape-out of the chip, an insurmountable problem is identified. If this happens, backers will be offered refunds.
Another possible risk is discovering a serious bug during chip testing. If this bug results in total malfunctioning of the chip, it’s unlikely there would be funds sufficient for a second manufacturing run. If the bug results in a partial malfunction of the chip, then the products will be delivered without fulfilling all specifications. All precautions are taken to minimize the risk of such a bug being present in the final design. The Retro-uC code consists mainly of well tested RTL code from other projects and the final code will be extensively tested on an FPGA before tape-out. During the campaign there will be progress reports on testing done on FPGA.
Another possible reason for a chip malfunction is a processing error during chip production. Typically, such errors are caught during processing and are not significant. In the unlikely event that a chip malfunction is caused by an undetected processing error, the project may be significantly delayed as a solution is negotiated. To mitigate this risk, we are using imec, an experienced and reputable service center.
The final potential risk is a production problem with the PCBs and their assembly. This is unlikely since the boards are designed to be simple two- or four-layer boards using relaxed design rules. This may cause delays and likely modest cost over-runs which the creators can absorb. Regardless of what happens, we will always endeavor to be transparent with our backers and do right by them.