slowbro / lldp_stick

A network diagnostic tool.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LLDP Stick

PCB Image

What is it?

A network diagnostic tool. Initial goal is to show LLDP information; future goal is to allow more network diagnostics over BLE with a phone app.

Goals

  • Additional diagnostics via BLE
    • Set/reset MAC Address
    • DHCP
    • Ping
  • Support CDP
  • Reduce idle power draw (and thus improve battery life)
    • Rev 0 34mA
    • Rev 2 7mA
    • Rev 3 150uA!
  • 1G PHY: Support switches that don't go down to 100M (i.e. Arista DCS-7280TR)
  • Cost reduction: $20-$30 per stick

Dependencies

Requires s132_nrf52_2.0.1_softdevice.hex to be placed in ~/.platformio/packages/framework-arduinonordicnrf5/cores/nRF5/SDK/components/softdevice/s132/hex/. The binary can be downloaded from Nordic Semi here under '11.0.0nRF5 SDK'.

Building

  1. Install PlatformIO.
  2. Clone the repository.
  3. See "Dependencies" above - download and copy the SoftDevice hex file to the proper location. You may need to try pio run first to download the apporiate libraries.
  4. Run platformio: pio run.
  5. To upload: plug in your J-Link (or other programmer) and run pio run -t upload.

Assembly

You will need:

  • The PCB; you can order this from JLCPCB assembled using the included gerber/bom/placement files.
  • An 128x64 i2c OLED Display with a SSD1306 controller and FPC connector; I buy from BuyDisplay.
  • 2x Buttons for the top side: KSC441JST1LFS at Mouser - not available for assembly from JLC.
  • Dual-LED chip LTST-C195KGJRKT at Mouser
  • A small LiPo battery such as DU LITER 902035 (600mAh), or DU LITER 802245 (1000mAh), with JST PH 2.0mm 2-pin connector.
  • The 3D printed case.
  • 2x M4x2mm screws.

Steps:

  1. Order your PCBs from JLCPCB (or your manufacturer of choice - the part selection is such that assembly from JLC is turnkey). Continue once PCBs have arrived.
  2. Solder the OLED FPC connector.
  3. Solder buttons onto the front (back?) of the PCB. Also solder the dual LED package if you opted to only have one side of the PCB assembled.
  4. Fold the OLED connector over, and superglue the OLED so that the top of the OLED panel is about flush with the top of the PCB.
  5. Flush-trim the RJ-45 connector pins.
  6. Program the board with your favorite SWD programmer. I use a J-LINK.
  7. 3D print the case - body and one of the lids. Use the development lid if you plan on developing the board, as it will let you hang a SWD connector out the back.
  8. Angle the RJ45 side of the board into the case, and then push down on the USB-C end to fit the PCB into the case. Secure with 1-2 M2x4mm screws.
  9. Plug in the battery and (ideally) hotglue it in place in the case.
  10. Slide the "lid" printed part into its slot on the back of the body of the case.

Approximate Cost

...assuming you're assembling 5 at a time:

  • PCB: $33.75 assembled (assuming top-side-only assembly, DHL shipping, JLCPCB, QTY 5)
  • Screen: $3.56
  • Battery: $6.40
  • Misc components (LED, buttons, screws, case): ~$4

Total: $47.71/ea

About

A network diagnostic tool.

License:MIT License


Languages

Language:C++ 88.4%Language:C 11.6%