Hello,
I know you've said that the board will be announced soon, but...
I'm designing a board which I intend to use alongside the HiFiBerry DAC+, connected in parallel (i.e. piggy-backed on top or underneath), and therefore I need to know which of the GPIO pins you will be using so my board does not conflict. The old "Model A/B" DAC board didn't use any of the 26 pins on the GPIO connector; is this still the case? Are you only using pins 27-40 of the new connector?
Thanks in advance for your help.
Date
Votes
3 comments
-
HiFiBerry team Hi David,
we're working to create this documentation, but it will need some more time. I'll come back to you. Can you tell us more about your add-on board?
Best regards
Daniel -
David.Smith Hello,
Thanks for your reply, and please accept my apologies in advance, as this is probably going to be a long post as I'll take you through some of my thinking as well...
My board is an interface to some remote sensors. Those remote sensors will send signals to the RPi down a long link (tens of metres, which is why I'm using RS422 differential signalling). On receipt of certain triggers, the RPi will play a selection of audio tracks. The interface will also be used for configuration, setup, etc.
My board also contains a buck regulator to supply 5V down to the RPi via the GPIO connector, since my board already has a 19.5V supply, and it seems silly to need two separate PSUs for the system.
Whilst my system does not /need/ the HiFiBerry DAC board (and I want to maintain the ability for cost-sensitive users to use my board without it), I also feel that the RPi's audio output is simply too noisy to be acceptable to some users.
I've noticed that your board seems to have holes for a second expansion connector next to the usual one; I assume that this is a straight-through connection to allow users to add on secondary boards (i.e. the case I'm explaining)? In my case, I'm afraid that it doesn't really work, as if I put my connector there, then it means that my board won't work with a standard RPi without the HiFiBerry DAC. I guess I could put on both connectors so that it worked in either case, but that would increase the cost of the board, and also make it very difficult to route.
Furthermore, as I'm powering the RPi from my board via the GPIO connector, I would be trusting your HiFiBerry DAC board to have sufficiently wide PCB traces to carry the up to 2A of current specified for correct RPi operation (if a number of USB peripherals are connected). I had quite a bit of difficulty in finding enough board area to wire to pins 2 & 4 - the mounting holes and board edge requirements prevent routing around the connector, so the only space left is to go between the pins. I've had to dedicate both sides of the PCB, routing both sides of pins 1 and 3 to get enough track width, but then I'm using relatively conservative track-pad gaps. Fortunately I have an on-board 3.3 V regulator, so I don't need to connect to pins 1 or 3, otherwise I'd have many more problems. Personally, I think that the RPi Foundation have designed this part of the GPIO connector rather badly.
Anyway, if I were connecting to the RPi via your secondary GPIO connector, I'd be suspicious that the HiFiBerry simply won't be designed to carry that sort of current. Also, having both GPIO connectors on the board would make it very difficult to route out the signals that I need, and take up a significant amount of precious board space - the board is already quite cramped with connectors.
In the absolute minimum case, the pins I need are the standard UART TXD and RXD; However, I also have other potential use cases, one which uses a different two GPIO pins (I could probably share one of those with the UART, although it's simpler not to share), and another use case using 8 other GPIOs.
These other 2 or 8 GPIOs could be assigned to any of the GPIO pins, but I obviously want to avoid conflict with your board, so I need to choose the ones you're not using.
I've also placed an EEPROM on the board to comply with the HAT spec; I think it's a bit of a pain that the RPi foundation have made it pretty much impossible to stack two HAT-compliant boards, but my intention was to have a jumper to swap the LSB of the EEPROM address to '1' so that, as shipped, the board is HAT-compliant, but the user can switch it to use address 001 and then some modifications to the RPi SW (maybe a customised distribution) would then allow it to detect my board as well. I need to do a bit more thinking/experimenting on the bus termination/pull-ups, though, as it might cause problems if both our boards have pull-ups in parallel. I guess driving the pull-up resistors from a 3-state buffer with the enable controlled by the (jumpered) address bit would solve that.
Are you planning to give an option to buy the DAC+ board without the RPi GPIO connector soldered on so that I can put on one with longer pins to use as a straight-through to my board? Some of the connectors on my board are quite tall so it would be better to put my board on top of yours (using the phone jack output), rather than the other way around.
Anyway, I guess I should probably stop rambling now. Apologies again for the length of the post, and thanks for your help :) -
HiFiBerry team Hi David,
thank you for this explanation. As your board is a HAT and the DAC also, there is really no good way to accomplish stacking. But I also understand the Raspberry Pi foundation. Stacking different boards on something that was never designed as a bus not only makes the design more complicated and there is a huge risk of problems with interoperability.
We're are not planning to sell the board to normal customers without the header. We've seen too many problems with users not soldering the boards correctly and damaging it. This is a bad experience for the user and for us.
If you need a larger number of units, we could build a batch with stacking headers instead of the normal ones. We already do some special configurations for OEM customers. But this requires a minimum order size of at least 25 units.
As the DAC was not designed to back-power the RPi, traces are not designed for 2A current. However this is quite easy to change in future releases as the +5V pin is on the outside. I don't think this is a huge problem. For 2A, a 40mil trace with should be enough. We're not talking about traces that are 10cm long, but very short traces.
Best regards
Daniel
Please sign in to leave a comment.