Retro Modules

A free & open framework to help speed along the discovery, design, implementation & testing processes for Makers of all skill levels.

Similar projects worth following
You should be able to throw your prototypes in a backpack. You should be able to tweak their code while at the coffee shop. You should be able to put them into production immediately. Retro Modules is compatible with many other modular frameworks, supports many Maker-friendly communication protocols & helps support all phases of the prototyping process. You probably have some of these connectors collecting dust in a box somewhere. What will you make?

When you have a great idea for a module, you'll probably test it on a breadboard first. A paper card, a few components, a mini breadboard & a crayon box make for a great modular experiment! When you have proof of concept, you can immediately start soldering a custom board or you can move straight to CAD. Snap your board into a readily-available clamshell & you're ready to use it with all your other Retro Modules!

You don't need much to build a Retro Module. For a host module (e.g. one that will house the main microcontroller board), you can start with a female DE-9 Connector. Your first client module would use a male DE-9 Connector. Modules don't need to be enclosed.

D-Sub connectors like the DE-9 Connector have three major form factors: solder, removable pins & ribbon crimp. Ribbon crimp connectors, though the most expensive of the three, will save you tons of time.

Solder-type D-Sub connectors are the easiest to find & are the hardiest. They do get to be a bit of a pain as you add more wires to the connector.

Consider starting with removable pin connectors. The pins do not require solder to assemble & are easy to move around if there is a mistake. You'll need a D-Sub pin extractor tool if you want to move pins after they've been installed.


My immediate goals are to both wrap up the main part of the specification process, and to finish the website. The site will feature tools which will, via the yaml files in the repository, make the module design/build process faster & easier.

  • 1 × DE-9F solder-type connector Connectors and Accessories / D-Subminiature Connectors
  • 2 × DE-9M solder-type connector Connectors and Accessories / D-Subminiature Connectors
  • 1 × Small 5V 180 degree servo Servo
  • 1 × Red LED Light-emitting Diode
  • 1 × 330 Ohm resistor Resists the flow of current

View all 8 components

  • Retro Modules 1.3.0

    William10/15/2022 at 06:15 0 comments

    This release includes a minor update to din5-270 & din-8. The changes are described in the release notes.

    The extensive documentation updates mentioned in the recent Retro Modules for Education project log have been merged! These documentation updates will help ease use of Retro Modules significantly. Here are a few pages that have been overhauled:

    Note that each numbered contact links to one or more pages that further explain the capabilities of the contact.

  • Retro Modules v1.2

    William05/18/2021 at 05:22 0 comments

    As the first of the prototype PCB's started rolling in, it became clear that some minor tweaks were needed to help keep things super-simple. The prototype boards are very encouraging! More on that soon! The proposed changes optimize the most commonly used connectors in the specification to reduce the need for numerous voltage regulators & further refine clean signal support.

    * Adds dedicated common bus for digital signals on many connectors.
    * Revises main connectors to support 6 & 40 volts max contacts.
    * Adds support for balanced audio on main 25 contact connectors.

    That last item is super-important. More & more dev boards feature analog audio playback capabilities, but the audio is typically rather noisy. Even analog audio from a higher-quality source is often negatively affected by nearby digital signals. Ideally a broadcast-quality digital audio protocol should be used, such as AES (or a board-to-board protocol like I2S). Unfortunately, the flat modular topology of Retro Modules does not support those signals (two boards emitting I2S on a shared bus is a big problem). A suitable work-around is to use balanced line-level analog audio signal, which is used by audio professionals worldwide. Balanced audio DAC boards (and amps supporting balanced audio) are readily available & inexpensive.

  • Retro Modules v1.1 Proposal Released

    William11/19/2020 at 04:54 0 comments

    Here's the proposed update!

    There aren't that many revisions, thankfully. Lots of new additions, but not too many changes from Version 1.0. Most protocols used by Retro Modules work well without any sort of router managing traffic. These few proposed changes are to help increase the probability of Retro Modules working well together.

    Modules using DE-9 or 2x5 headers can now easily request power by connecting one of the contacts to common. Previously this functionality could only be found on larger connectors.

    Audio-related modules can now utilize up to four line-level contacts. Two channels could be used for music & two for experiments. Two channels could be used for sending audio & the other two for returning processed audio (e.g. an audio effects processor module with stereo aux send & return).

    There are a few new header specifications, such as a 4x4 palindromic header & a 3-contact keyed power connector with 1-Wire Data (for temperature sensors, etc).

    This proposal will be merged in about 30 days as-is if there are no objections. Stay tuned! Printed PCB's in the works...

  • Version 1.0 Specification Released!

    William08/20/2019 at 00:41 0 comments

    This is it! While not exactly ground-breaking news... it is newsworthy!

    The 1.0 spec is a culmination of intermittent experimentation since the genesis of the project in 2015. It includes support for up to 400 watts via the average DB-25 connector, along with support for various common communication protocols -- both legacy and cutting-edge. Stability has been the goal, and now it is here for the most common connectors in the specification. Contacts have been optimized to reduce signal interference, separate high voltage supplies from low-voltage logic & to generally make design/assembly easier. These connectors support tiny, efficient low-voltage modules & big power modules alike!

    Now that the spec is stable, large-scale production runs are on the horizon. Stay tuned!

  • Retro Modules v1.0 Proposal Released

    William06/12/2019 at 04:14 0 comments

    It's right here!

    This release is pretty significant. I am preparing to shift from the oft-repeated arduous process of hand-soldering modules... to creating printed circuit boards. I wanted to have the specs for the major connectors (DE-9, DA-15, DB-25, etc.) firm before moving forward with any production runs.

    The key things that have changed:

    • DA-15 is now an Enhanced Battery Connector.
      • LiPo batteries already have a balance connector. Why use an EBC instead?
        • Pretty much all balance connectors in the RC industry merely allow a battery charger to monitor two or more cells of a battery pack with an unknown chemical composition. The EBC spec supports battery packs with 6 cells (e.g. 6S) & includes one id pin. This pin has a resistor connected which can be used to identify both how many cells are in the pack, and what their chemical composition is. For instance, a 4S LiPo could have a simple 1.3Kohm resistor embedded within. Off-the-shelf battery chargers could include new functionality that analyzes the resistor value of the battery pack, compares it to the matrix & pre-loads the best settings for charging the pack.
      • LiPo batteries are already too heavy. Why add a heavy old-school DA-15 connector?
        • You don't have to! You can use a 16 contact socket IDC header instead. All 16 contacts are only really necessary on a fully-equipped 6S battery pack. A 3S pack would still use the 16 contact socket IDC header, but could terminate as few as four wires on said header.
      • Why not smaller?
        • There's nothing that would prevent use of a smaller connector. It seems, however, that good-ol' 2.54mm headers are best suited for external battery management, and 16 contacts seems to provide just enough functionality & flexibility.
      • Why no digital communication?
        • There is! I was able to squeeze in `one-wire-data` on contact 1. This digital bus allows one to embed inexpensive digital temperature sensors & similar into the pack.
      • Why support only LiPo?
        • They support more! Enhanced Battery Connectors support Pb (lead acid), NiMH, LiIo & LiFe batteries as well! As seen on the matrix.
    • DC-37 is now 'The High-Def D-Sub'.
      • The connector now is spec'd to support HDBaseT (1080, 4K, etc), USB3, & standard BaseT connections. Example: "6x Raspi's and/or 6x Nvidia Jetsons sharing a backplane."
    • Most connectors now support up to 40VDC.
      • Why so high?
        1. 24V battery systems (such as those in some RVs) may reach voltages as high as 36V while charging. I wanted Retro Modules to be compatible.
        2. A grid of 9x 18650's (a 3x3 9S battery pack) has a max safe voltage of 37.8VDC.
        3. While the average D-Sub contact can support up to 5A, D-Subs with IDC termination use wires that can only support about 1.2A each. An increase in the maximum supported voltage safely allows for more wattage on those same wires.
        4. Some module arrangements may have a common backplane, while some module arrangements may feature daisy-chaining. The higher voltage allowance helps reduce risk of connection-related power delivery issues.
      • Why not higher?
        1. 40VDC is the maximum voltage supported by many inexpensive DC-DC buck converters that use the LM2596 (or similar) regulator.
        2. Voltages over 50V can be considered dangerous (hat tip to: @Njkotzur via
    • Many connectors now support (on a dedicated contact) voltages up to 15VDC.
      • Why up to 15VDC?
        1. Smaller modules may not have any room for a beefy DC-DC buck converter. The lower voltage limit allows for simple linear regulators (etc) if needed.
        2. Smaller modules may not need much power at all.
        3. Many 12VDC automotive accessories are able to tolerate up to 15VDC.
    • Some connectors now support 12VDC with the ability to request more.
      • Why the complexity?
        • There are many 12VDC automotive accessories (and similar) that prefer just that: about 12VDC. The connectors (such as `din5-240`, `din6-240` & `din8`) will provide about 12VDC by default if a suitable power source is available. Some devices, however, make do with 12VDC -- but work better...
    Read more »

  • Version 1.0

    William05/04/2019 at 16:54 0 comments

    Work is continuing in earnest for the 1.0 spec release. This spec release is expected to be firm & as such, an audit of many connectors has been performed. The proposed changes include new flexibility on the power-related contacts & optimizations to reduce interference.

    There have been some exciting developments concerning multi-cell battery support, as well as support for some more exotic modules. Looking forward to sharing more with you soon!

  • Powerful Modules

    William06/23/2018 at 18:55 0 comments

    This latest pull request introduces a few modules (and 3D-printable files) designed to solve power-related issues. One of the main concerns I've had over the past several months was how readily-available power supplies & batteries might fit into the specification. One of the goals of the specification is to encourage adopters to use parts they already have in their shop. Power tool batteries, for instance.

    Presently, most connectors noted in the spec at have pins which can accommodate up to 20VDC. Most power tool batteries have a nominal voltage of around 18VDC, but can exceed 20VDC at full charge. For these types of batteries to be used, the average max power rating for connector pins needed to be higher. How high, though? An RC-industry 6S LiPo battery can exceed 25V at max-rated charge. Most golf cart batteries (and newer fancy RV batteries) have a 24VDC nominal voltage. In the end, I decided to go with 30VDC max voltage on most pins in the new proposal. Many inexpensive DC-DC buck voltage regulators are rated to work with voltages up to 30VDC. These regulators can easily fit into most modules, run efficient & run cool. This higher voltage allowance permits more power-hungry modules on the same relatively thin wires.

    The new pull request ( includes STL files for the two leading power tool manufacturers & reference information. Files for other leading power tool manufacturers will become available within the coming months. Support for LiPo batteries of varying form factors will follow. For lower-power projects, the good ol' 9V Battery module will certainly suffice.

    The larger batteries presented a new opportunity for a standardized modular footprint. After messing around with a few different approaches I settled on the idea that one should be able to just print (or CNC/laser) thin plates... or full enclosures. The hole pattern accommodates up to 2X DA connectors, up to 2X DB connectors, up to 2X DC connectors & up to 4x DE connectors. These connectors, when mounted, should ideally be arranged in a palindromic fashion for greater ease of use.

    All power-supplying modules using this footprint should have all female connectors. Each pin on a typical D-Sub connector can accommodate about 5A. As such, resistor-style fuses (or auto-resetting fuses) should be between each power pin and the actual power source. The connectors should ideally have all contacts properly connected so a small module plugged in on one side of the footprint can talk to a small module on the other side. If you're in a rush... just wire up the power contacts. You can always come back later & upgrade.

    The footprint will allow for all sorts of small-form-factor computing devices to run atop a power tool battery. The new pull request includes STL files for Raspberry Pi devices & full-size Arduino devices... with support for more devices coming soon. Each of the holes in the STL file designs are compatible with M3 screws or Imperial #6 screws. Screws & standoffs can be purchased at many PC or RC part supply stores.
    Since there are 2X 30VDC pins on DB-25 connectors & 1X 30VDC pins on DE-9 connectors, the configuration shown above can accommodate up to 30VDC at up to 30A. Please make sure to check the new PR (again at for new pin specs for high-current D-Sub connectors (with some accommodating up to 60VDC at up to 80A & some soon which will accommodate 60VDC at up to 160A).

    This PR is a big bold step for this little free modular framework.

  • Prepare for moar

    William06/13/2018 at 04:49 0 comments

    Putting the finishing touches on a new pull request. This one is going to be fun. The dust is settling. Some of the big blockers are being resolved.

    Stay tuned. New post next week.

  • A Grip of New Project Ideas

    William05/18/2017 at 04:57 0 comments

    This pull request sums up several months of occasional planning & research work. The projects listed are projects that interest me; projects that I intend to build and/or contribute to in the future. Given present time constraints, I've simply chosen to compile notes about each project in the repo with the hope that others might find the reference material useful -- and that I can reference that material when I'm ready to do some serious building again.

    The general idea of the repository is to provide a common electrical specification for maker-friendly projects. Adding known modular projects into the mix helps provide some extra inspiration. Modules & modular project reference materials are expected to be the complete scope of the repository.

    More to come!

    Pull Request 10


  • Cleanup & a Grip of New Module Ideas

    William07/18/2016 at 04:52 0 comments

    Just finished up editing module ideas I've been dwelling on since February. Since the specification is now fairly stable, the focus now is: what can be built? Many big custom builds are just that: big & custom. Once demoed... they may be purposefully destroyed or fall into disrepair. With a basic open spec, modular parts of a big build can be salvaged & saved for later. Most of the ideas in this latest proposal are bigger ideas -- broken up. I'm looking forward to building a bunch of these. Since I do not (nor will ever have) the time to build all the things, I have included many references to other components & in some cases, other projects.

View all 14 project logs

  • 1
    Step 1

    Full instructions on how to build your first set of Retro Modules are available on GitHub.

    Since this concept is built around a set of hardware specifications, specifics on actual module hardware are not terribly necessary. Instead, here are some of the supported communication methods: CAN, SPI, I2C, AES, S/PDIF, Component|Super|Composite Video & analog audio. Modules/adapters are built via D-sub connectors, DIN connectors, aircraft-grade connectors, XLR connectors & generic pin headers. Some 'client devices' include older 30 pin Apple devices, GoPro cameras & home theater receivers. Further documentation about drone/FPV, automotive & trailer hardware is pending. Where possible, hardware interfaces considered 'open' will be preferred over license-tied interfaces. We don't want to pay a bunch of fees when building the things.

View all instructions

Enjoy this project?



William wrote 06/22/2018 at 06:06 point

New Pull Request powered up & ready for 3D review!

  Are you sure? yes | no

William wrote 02/21/2016 at 11:58 point

Spring Cleaning! Some reorganization, new things & better documentation. Existing spec is untouched, aside from XLR6:

  Are you sure? yes | no

William wrote 09/19/2015 at 00:59 point

The latest additions & minor revisions have been adopted :)

  Are you sure? yes | no

William wrote 08/17/2015 at 09:42 point

Just submitted a new pull request containing a few minor revisions, some new connector spec proposals & documentation updates: 

  Are you sure? yes | no

Antti Lukats wrote 07/16/2015 at 16:14 point

there was an unsuccesful product designed into DB25 to DB25 plastic, based on AT90S8515, very very long time ago..

  Are you sure? yes | no

William wrote 07/19/2015 at 06:35 point

Hey thanks for letting me know! Bummer it didn't work out...

I view this as more of a project than a product. Instead of emphasizing a turn-key product line (for only $199.999999 ninety nine!), the emphasis instead is on compatibility amongst modules you, I, or others make in their classroom, small shop or on their dining room table with parts that are cheap/free.
For this idea to continue gaining traction, the must cover the right bases & be as stable as possible.

  Are you sure? yes | no

William wrote 07/13/2015 at 09:01 point

Note: spec revisions will be automatically confirmed next Monday if none object:

  Are you sure? yes | no

Matthew Gingerich wrote 06/05/2015 at 14:42 point

This is cool! I often find myself wishing I kept some useful things like square wave generators or motor controllers in little modular blocks.

  Are you sure? yes | no

William wrote 06/08/2015 at 10:07 point

Thanks man! I haven't gotten to putting any motor controllers in a box yet (though I've worked a bit on a stepper motor module for bench tests). The github link has the preliminary pin proposals. I think the DA-15 connector is pretty solid. That connector is extremely rare in modern computing -- yet easy to find at electronics stores. My thinking is that the DA-15 connector is for those just getting started with the framework, and DE-9/DB-25 are for those a bit further along.
I've been getting some great notes from others about things to add and revise. Your note also provided a great deal of inspiration. A new pull request will be posted later this week.
The spec will put CANBUS on pins 2 & 3 of DE-9/DB-25, among other things. DB-25 will feature CAN, SPI, ICSP, I2C, S/PDIF, & 1080i/480i analog video & audio. Those pins won't likely be used at all at once on the same connector. The idea is that when you plug one Retro Module into another, nothing cooks.

  Are you sure? yes | no


[this comment has been deleted]

William wrote 07/09/2015 at 03:41 point

Hey Bryan! Thanks for your input! I learned about CAN via D-sub 9 just a month ago. The current version of the spec (unlike the proposed version) does not include CAN at all. I2C is currently on pins 2 & 3 of DE-9 & DB-25, which are commonly for RS-232 or RS-422. The proposed version, as you may know, puts CAN on pins 2 & 3 instead. This is a nod to those who have used these connectors for decades. The challenge with CiA 102: pin 9 on a DE-9 connector is generally used for ground. As such, old DE-9 to DB-25 adapters & old printer cables could not be used. I'm not against adopting the CiA 102 standard, but there would be tradeoffs. Please consider submitting a pull request. Others may also desire adherance to CiA 102. I aim to have this spec be as open (and soon: as stable) as possible.
You do raise a very good point: there should be a way to use high-quality off-the-shelf tools. I will add `cia-102` into the client device collection. It would be very easy to adapt a CiA 102 module to be compatible with Retro Modules. RS-232 to RS-422 adapters use the same approach -- two DE-9 connectors in a barrel. Pins 2, 7, 3 & 6 on the CiA 102 side would be pins 2, 3, 4 and 9 on the Retro Module side.

More to ponder...

  Are you sure? yes | no

William wrote 06/23/2015 at 07:30 point

Just submitted the latest revisions to There is now a pin on DA-15 dedicated to the signal from a wave generator, and other high-current connectors have been introduced.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates