While tower has great range of sensors, possibilities of controling something are very limited, so I ended up building own HW for everything I needed to control so far. I don’t really enjoy making own PCBs and especially 2-sided ones are pain to make. So I decided to design some universal PCBs covering most typical scenarios (at least for me) and get them manufactured professionally in small batch. Then I will just fit components I need for particular use case.
Scenario #1: PWM
My most typical use case is using PWM to control something. Apart from dimming LED stripes, it can be used to control fans or driving servos.
- power 5-24V (up to 40V with AP1501 converter),
- optional battery module (useful for sending messages in case of power outage),
- option to connect battery analog signals to P0+P1 (original design) or P4+P5 (in case you want use P0+P1 as PWM outputs),
- option to use Adafruit 16 channel 12-bit I2C PWM module (https://www.adafruit.com/product/815) instead of core module PWM outputs (you just fit header in place of resistors from P0-P15),
- any combination of output connectors as long as they have 5.08 mm spaced pins with option to connect PWM, GND or VCC to any output pin,
- correct handling of VDD_OFF and BAT_OFF signals,
- ability to handle decent load (I guess most limiting are vias between ground and transistors, able to handle about 3A per output pair, eg. 3A if you connect VCC to next pin or 1.5A if you connect PWM or GND on both).
In schema, there are all components, even those mutually exclusive, so it might not make sense at first sight. Also, it might be necessary to place resistors diagonally if you need GND/VCC on output pin next to PWM (for example to have outputs PWM, +12V, PWM, +12V… you can place resistor from P1 to 3rd output). Not very nice, I know, but it will do the job
Any feedback is welcome, I’m not very experienced in HW design (I’m mostly SW guy) so there probably are some flaws . Power converter was taken from the AP1501 datasheet and VDD_OFF / BAT_OFF handling was taken from Hardwario power module (I wasn’t sure about some aspects, so I basically copied it 1:1).
I will put sources on github when I have time and update this post with link, here are pictures of current design: