Encoder Display Power Fan Board (epdf)

I have created a PCB to simplify a basic encoder Zynthian build.

It is centered around an MCP23017 IO expander, with the pinout headers configured for use with “off the shelf” 5-pin arduino style encoders. The hope here is that this will fill the gap for some of the other DIY builders that want to get started with their first Zynthian.

It also includes nice to have, but optional extras. A 2pin header output for driving a 7" Pi Foundation touchscreen, a 5V power input to simplify using a high current supply, and a GPIO-PWM modulated 5v fan output for cooling a Pi4.

I have included Pi zero style mounting holes so that an Audioinjector zero can be used as the soundcard and mechanically secured to the full assembly if desired. The build is intended to be a Pi stack, using 40pin stacking headers, and no ribbon cable.

At this point, the design is “experimental” and I am waiting to send it off for prototyping and SMT assembly. Unsure at this point when I’ll be able to prove out the design, I’m expecting it will be at least June at this point.

All files are in a forked zynthain-hw repo:

This is my first go at hardware design. Comments, criticism and suggestions are welcome.


Are you saying that this fits right on top of the Pi? That’s fantastic! The Zynthian HAT! :smiley:

1 Like

Is this instead of the old All in one board?

The layout looks great. I made a similar board for my build that uses an HDMI display so I was able to drop the I/O expander from the design.

These 40 pin stacking connectors are hard to find. You could think of having a second 40 pin connector just for the soundcard.

1 Like

I don’t know if that is possible, because you would have to offset the connectors, and then the mounting holes on the sound card wouldn’t line up.

HiFiBerry DAC+ ADC

However… :thinking: …you could possibly desolder the 40-pin header on the sound card and move it to the other 40-pin connector.

Assuming that works (and you have enough time and patience to get that done), then you could offset the headers on the EDPF board, and the mounting holes would still line up.

(FYI, I am by no means a professional, so if this is completely wrong, please correct me! :smiley:)

Yes, an alternative to the all-in-one.
The main reasons are to use easy to find pre-built encoders, and to stack up on the Pi. I opted to drop the DIN style MIDI since I don’t use those anymore.

@Jtunes, I have that soundcard currently, and populated the second connector. Like you pointed out, the mounting holes don’t line up, and the second hat flops around. I want a more secure solution.

The 40 pin stacking headers are available on Amazon from at least 2 sources, more if you get creative with 2x20 pin or other build up combinations. Some boards are starting to appear with SMT connectors, so that might be an option. One on top, one on bottom.


You will be very sorry you started that. Desoldering is an art and can be tricky, especially with older solder.


I used one of the 1 to 2 risers so I can attach a second cable.


I noticed in the original post that smiths73 is using an audioinjector zero card that has a smaller footprint than other sound cards. So my musings about off-setting the 40 pin connector are still valid :slight_smile:

Hi @smiths73v3!

Nice work! This looks very promising! I would like to get some of this babes when they are ready for dancing … How many units would you like to produce?


Hi @jofemodo,

Trying to patiently to wait for the supply chain disruptions to resolve. After that it’s probably a 4-6 week process, you probably know better than I would. This is my first attempt at designing and manufacture. There is still a bit of risk that V1.0 will end up scrap.

I was planning on an initial proto run of 5 boards to prove out the design and to figure out what the board costs are. I’ll plan on sending you two boards once they are working.

I am just now starting to think about the question of what is next. If I can do a small batch, then Tindie might be the best route unless there was significant interest.

The design files are in a forked zynthian-hw, so I could do a pull request and they could be built by Zynthian official once the design is verified. I also have a forked zynthian-sys for the systemd and install files to control the fan but it’s not pushed yet.

1 Like

Funny, I started the same thing, although mine is alot more basic :slight_smile:
It connects to the 4 port encoders that the original uses :slight_smile: