Skip to content

Ethernet + non-isolated PoE example#523

Merged
ducky64 merged 42 commits into
masterfrom
ethernet-flir
Jun 22, 2026
Merged

Ethernet + non-isolated PoE example#523
ducky64 merged 42 commits into
masterfrom
ethernet-flir

Conversation

@ducky64

@ducky64 ducky64 commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Changes the FLIR example to be PoE + Ethernet using W5000. Adds Ethernet port / link types in the example (for now, until validated in hardware).

Completed board layout. Really more of a parts test omnibus board, it's not a pretty layout. In retrospect, this should have been a four-layer board.

Other changes:

  • Add Hy931147c magjack
  • Add W5500 SPI ethernet PHY
  • Add Tps2378 standalone PoE PD controler
  • Add Lmr39020 high voltage buck converter
  • Add Ground and Voltage jumpers
  • Add Common implicit tag for AnalogSetpointResistor
  • Fix FUSB302 to use 1uF secondary vdd cap per datasheet

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the IoT thermal camera example to add Ethernet + non-isolated PoE power input, plus supporting library parts and small infrastructure tweaks (jumpers, buck converter model, and updated FUSB302B decoupling).

Changes:

  • Add Ethernet/PoE connectivity to IotThermalCamera using HY931147C magjack, TPS2378 PoE PD controller, and W5500 Ethernet controller.
  • Add TI LMR38020 buck converter model/export and new Ground/Voltage jumper helper blocks.
  • Update FUSB302B VDD secondary decoupling from 10uF to 1uF and propagate footprint/value changes into generated example netlists/layouts.

Reviewed changes

Copilot reviewed 16 out of 18 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js Regenerated placement updates; updates PD VDD cap footprint/placement.
examples/UsbSourceMeasure/UsbSourceMeasure.net.ref Updates PD VDD cap to 1uF 0603 and part metadata.
examples/test_iot_thermal_camera.py Main example update: adds Ethernet MDI links, HY931147C connector wrapper, W5500, TPS2378 PoE, and integrates them into the board.
examples/prerouted_blocks/Fusb302b.kicad_pcb New prerouted PCB block for FUSB302B (currently mismatched vs new decoupling spec).
examples/IotThermalCamera/IotThermalCamera.svgpcb.js Regenerated board placement/netlist reflecting Ethernet+PoE and new parts.
examples/IotThermalCamera/IotThermalCamera.kicad_pro KiCad project settings update (DRC exclusions, track widths).
examples/IotIron/IotIron.svgpcb.js Regenerated placement updates; updates PD VDD cap footprint/placement.
examples/IotIron/IotIron.net.ref Updates PD VDD cap to 1uF 0603 and part metadata.
examples/IotFan/IotFan.svgpcb.js Regenerated placement updates; updates PD VDD cap footprint/placement.
examples/IotFan/IotFan.net.ref Updates PD VDD cap to 1uF 0603 and part metadata.
edg/parts/power/converter/TexasInstruments_Buck.py Adds LMR38020 buck converter device + generator model.
edg/parts/power/converter/init.py Exports Lmr38020 from the converter package.
edg/parts/interface/UsbPd_Fusb302b.py Changes FUSB302B VDD secondary decoupling cap from 10uF to 1uF.
edg/abstract_parts/Resistor.py Tags AnalogSetpointResistor’s GND as [Common] for implicit connects.
edg/abstract_parts/Jumper.py Adds GroundJumper and VoltageJumper typed wrappers.
edg/abstract_parts/init.py Re-exports new GroundJumper/VoltageJumper.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +188 to +196
class Hy931147c(Connector, GeneratorBlock):
"""Commonly available RJ45 magjack with PoE support.
Footprint and pin-compatible with Wuerth 7499211121A.

TODO should define and implement an abstract base class, EthernetConnector, which defines the
magnetics-side ports and can also be implemented by DiscreteMagneticsEthernetConnector,
which has a passive-typed RJ45, discrete magnetics, and optional PoE diode bridge generator.

TODO: allow LEDs to be driven in source mode
Comment on lines +505 to +526
(footprint "Capacitor_SMD:C_0805_2012Metric"
(layer "F.Cu")
(uuid "6ebd5763-0c99-4d61-80d6-3813a7d741e7")
(at 93 116)
(descr "Capacitor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf, https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator")
(tags "capacitor")
(property "Reference" "C25"
(at 0 1.5 0)
(layer "F.SilkS")
(uuid "b0567c85-8c1f-4589-944f-0add772f7b43")
(effects
(font
(size 0.8 0.6)
(thickness 0.1)
)
)
)
(property "Value" "pd.vdd_cap[1]"
(at 0 1.68 0)
(layer "F.Fab")
(uuid "bd50a68b-97ca-4445-aa74-7d55142f3a6e")
(effects
Comment on lines 202 to 205
"track_widths": [
0.0,
0.0,
0.16,
@ducky64 ducky64 merged commit ae7e116 into master Jun 22, 2026
12 checks passed
@ducky64 ducky64 deleted the ethernet-flir branch June 22, 2026 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants