Based on my current experience with PoE, the following are some concerns I need to tackle in order to create a good but low cost PoE system. I would love to get input from experts in the field and potential users as to what they would like to see!
Cost factors
In my recent customer-specific design, the most costly components from high to low were:
- ESP-WROOM-32 module. I'm sure I could get the cost down if I went from module to bare chip on board, but at this point, I really don't want to deal with the intentional radiator concerns involved in case I end up selling this, so I'm sticking with a module.
- The MagJack Ethernet connector. I was surprised how expensive this was. To be compatible with PoE, you can't just use any random connector, it needs to have specific signals routed out which are usually omitted in low cost Ethernet jacks. Another possibility is to have separate connector and magnetics, but this tends to take more space and I'm not sure at this point if it would save any money. More research is needed.
- Flyback transformer. Ethernet provides magnetic coupling of signals to ensure galvanic isolation, which is needed when connecting devices across long distances. To preserve galvanic isolation of the complete system, the power system requires galvanic isolation as well. This increases cost compared to a non-isolated system. I have read that if a system has no user-touchable metal parts and doesn't connect to anything locally, isolation can be omitted. This would be fine for simple sensor nodes for instance. But I'm reluctant to do this for a generic development board that will be used in who knows which way. I would love to get feedback on this though.
- PoE-PD controller. A specific chip to correctly interface with the 802.3af source equipment. Since PoE uses a nominal voltage of 48V (up to 57V), these chips and the surrounding components should be rated to handle up to 100V, so they tend to be spendy. Unavoidable, but choosing a good part that integrates a lot of the surrounding devices like diode bridges and TVS plus integrates the PWM power controller can reduce the overall system cost and size.
- Ethernet Phy. The ESP32 integrates the Ethernet MAC but an external Phy is required. Unfortunately there is some fun interference going on between pin uses because GPIO0 is used both for boot selection and during programming, and as clock input for the MAC. I'm using the Olimex ESP32 Gateway as a reference for how to deal with this.
Questions to be answered
I need to figure out the following and would love to get input from the community (yes that's YOU :)):
- Which is more important: low cost or isolation? I'll try to reduce cost either way, but an isolated supply is going to cost more and be larger than non-isolated.
- Anyone know a good source for low cost flyback transformers? Low cost means < $1.50 in quantities of 100+ in this case.
- Anyone know a good source for low cost Ethernet Magjacks with PoE connections? Low cost means < $2.50 in quantities of 100+ in this case.
- Availability of higher power output will increase cost. How much power is reasonable? I don't think it makes sense to burden most users with extra cost because someone wants a lot of power, but having some idea of what others find reasonable would be nice.
- The board will likely have 5V and 3.3V power available. 12V and 3.3V is another option. Any preference either way?
- I like using the CH340G as USB UART bridge because it works well for me and has an easy leaded package, but it has been brought to my attention that there are driver issues with it on Macs. Can anyone comment on this? How problematic is it? Is there a solution that works on the most recent OS?
- In general, I'd like to hear: If a thing like this existed, what would you use it for? Answering this question will go a long way in helping me answer the rest. :)
- Related to the above: does something like this exist already and have I somehow missed it? Can you point me to it? Thanks. :)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Use Silvertel PoE Modules and call it a day. Does all the hard work for you. Works with 802.3af and passive PoE. Can get cheap Hanrun magjacks that work fine.
Are you sure? yes | no
Thanks for the tip David. Those modules look nice, but of course, I'm trying to do the hard work for others myself with this project. ;) While I could have the Silvertel modules do the hard work for me, I'm afraid that it would drive up the cost too much to make an attractive product... From what I've gathered up till now, the module cost is at least twice the component cost I'm seeing.
Are you sure? yes | no
I absolutely hate the el-cheapo poe solutions, i think they just ask for trouble and can easily damage equipment. I've read over the 802.3at af specs and you can build a poe psu using minimal components, therefore cheap and done properly. The bit that is going to cost is the tap transformer to pull the poe voltage from the spare and data pairs, plus the transformer for the isolation flyback converter. Personally I'd always go for the slightly more expensive but tried, tested and reliable solution. The end user can always use their own pse out a branded pse device, that's up to them but at least you'll know your device can handle both types. See the data sheets on the LT3748, TPS23753/4. I also found a pdf with the minimal circuits, just Google for "simple circuit design tutorial for poe applications" and go to the edn.com pdf. Hope this helps, Dan.
Are you sure? yes | no
Thanks for the input Daniel! From my initial investigation I agree I should stick to the standard and forget about el-cheapo "passive PoE". A quick check on Amazon shows that a passive injector can be had for $8 while a proper 802.3af one can be had for $12. That difference is really not worth it to screw around with non-standard ones.
Are you sure? yes | no
2 Versions make a lot of sense. My use case would be environmental monitoring, leak detection etc. in industrial environments. 5V would be enough for most scenarios.
What I would find useful is an integrated multi-channel a/d converter to connect analog sensors. Maybe something like the LTC1867A?
For example, I would like to easily integrate a CMOS anemometer, temperature & humdidity measurement, and trace detection technology into one small wall-mounted unit. Maybe plus a small backup battery option for reliability, if that is not provided on the PoE side of things anyway.
Are you sure? yes | no
Thanks for sharing your use cases Dirk! I was intending to bring out as many ESP32 pins as makes sense to a connector, and you can add an ADC to your own board that plugs in to it. But it sounds like you would find it a significantly more attractive product if I added the ADC on the main board?
The part you link to is a particularly expensive part and I wouldn't want to burden the product for everyone with the extra cost, what would be your minimum requirement for input channels, sample rate and resolution? The examples you give are all slow signals so would something like a TLA2024 be sufficient for your needs?
Are you sure? yes | no
You're right for most use cases the TLA2024 would be totally fine. I was mentioning the LTC because we have a specific use case for that. Indeed it makes more sense to have the expensive component on our instrument and then interface with the ESP32 pins.
Are you sure? yes | no
I like this idea.
I would make two versions.
One cheapo, with a non-standard passive solution w/o isolation. Pair it with an injector adapter and you're done. Good for testing, playing, homebrew hobby projects. Make a 3V3 output for ESP + others and leave THT space for a L78xx pin-compatible switching module the users can select and solder for their use-case. Ditch the UART bridge (save space and money and dev time). Hackers already have or can buy their devices for programming. Also it is much nicer if you can update the logic part of your firmware via ethernet network.
Second, proper version for (semi)professional use. 802.3 standard, isolation, full deluxe.
Start with the cheap one. Easier and faster to develop, you can gain attention and will get that professional help easier for the second one.
Are you sure? yes | no
Thanks for your input!
Making two versions may indeed be the way to go. A cheap version would be nice for simple sensor nodes, a higher end one when users want to connect to other stuff or drive actuators.
I'm a little afraid people may not understand the difference though, just go for the cheap one without understanding the limitations, and then complain when they run into issues. For instance if doing passive PoE, it will pretty much ONLY work with injectors and not with proper 802.3af switches since they won't turn on power unless the handshake takes place.
Can you point me to a good device for programming the ESP32? I've been looking at cheap USB/UART cables but I can't find ANY that export DTR and RTS for auto-programming. I guess I could do buttons instead, but auto-programming is so nice... :)
Are you sure? yes | no
You can just describe the difference and limitations. They will understand ;-)
I can't, I don't know any. I suggest creating an update method to upload program through the network. (Or online script editing maybe on an ESP-hosted webpage?) You would need the serial only when there's some serious issue or you want an unusual extra feature. But then you press that button/short the jumper.
For example MongooseOS has some very convenient features. I didn't try all the related ones yet.
Are you sure? yes | no