DMXKitty

From Hackstrich

DMXKitty is a low-cost PoE-powered Art-Net to DMX converter. Like NoCatDMX, but with more cat.

Project Status

  • 2014-10-15: Marking completed, firmware could use some finishing touches at some point but other than that a bunch of the boards have been in place and working at $dayjob for a year now without any issues!
  • 2013-11: Installed 4 new boards at $dayjob and resolved numerous firmware bugs doing so. All are now functioning as expected.
  • 2013-10-14: Ordered 25 boards from MyRO. Still need to get the config interface done, but the hardware seems good!
  • 2013-05-25: Had temporary code in place still to send the Art-Net packets once we saw DMX channel 20. Since the OpsBox that's driving this at the office only uses the first 4 channels, this never happened. Replaced with proper code to send on the next BREAK, reinstalled at the office and all is working! Next/last step is to sort out the config interface.
  • 2013-05-24: Installed the first set of 2 at the office, the one in DMX to Art-Net mode is not transmitting anything. Unable to debug at the office, will troubleshoot over the weekend.
  • 2013-05-19: Was missing breaks due to polling, changed to interrupt-driven receive and no longer miss any. Found channel number was off by 1 due to not ignoring the Start Code. Not sure why it's off by another 1, but worked around for now by just ignoring an extra byte. Fully working now in both directions! Need to build a second unit and do some stress testing with them performing DMX to Art-Net to DMX, as the first install will be.
  • 2013-05-18: Was missing breaks and not resetting channel counter, so trying to write 1024 bytes into the 514 byte buffer. Worked around for now by resetting the buffer to 512 whenever it exceeds that, but not sure why we're missing breaks yet. Also, channel number is off by 2 (channel 1 gets sent as 3).
  • 2013-05-17: Rev002 hardware assembled, all checks out OK so far. Firmware crashing (ceasing to respond to pings or any other network activity) when it received DMX packets in DMX to ArtNet mode, need to resolve this.
  • 2013-03-31: Completed Rev002 respin, all 17 identified issues with Rev001 are fixed. Checklists run, sent off to OSH Park w/ express shipping.
  • 2013-03-30: Started design work on Rev002, as the board/design issues with Rev001 are mostly/all known now.
  • 2013-03-28: Chips replaced, troubleshot for many hours, eventually finding a bug in the new PHY driver I wrote, and fixed it. Can now telnet into the DMXKitty, but DMX output isn't working right yet.
  • 2013-03-27: Boards received, first module built, have output of PoE module backwards so blew up all the chips. More chips are at home, so work stopped for the night.
  • 2013-03-15: PoE modules received, boards manufactured and shipped, not yet received.
  • 2013-03-04: Silkscreen done, checklist run, sent to OSH Park w/ Priority shipping to get it in time for this month's hackoff. Also ordered PoE modules from Silvertel/Semiconductor Store.
  • 2013-03-03: Finished routing board, still need to do silk.
  • 2013-03-02: Checklisted schematic, almost finished routing board.
  • 2013-03-01: Finished schematic pending checklist.
  • 2013-02-28: Started design + BOM + schematicizing.

Architecture

  • Same processor as StrichLux/IO-ETH (PIC32MX664F128H) but with Micrel KSZ8051ML PHY
  • Silvertel AG9003 PoE to 3.3v converter

Build Notes

Rev001 Notes

  • C4 and C5 missing from BOM - Fixed in Rev002
  • +/- outputs from PoE converter backwards - Fixed in Rev002
  • Termination for Ethernet TX/RX should be separate, rather than all connected together - Fixed in Rev002
  • DMX I/O not connected to UART pins on the PIC! - Fixed in Rev002
  • EEPROM not required, as we're using flash on the PIC now - Removed in Rev002
  • PHY Test In/Out test points not required on next rev, can implement this test in code now that the basic PHY driver works - Removed in Rev002
  • LED labels could be larger - Updated in Rev002
  • Outline for PoE converter being rectangular leads to a bunch of wasted space, should make a more accurate layout for the next rev - Updated in Rev002
  • OSHW logo is on the wrong side of the board (top, should be bottom or elsewhere that isn't under things) - Moved in Rev002
  • Look at if it's possible to feed the PHY 25MHz from the PIC itself via a timer, would save us 3 components - It's not.
  • Look at if it's possible to use the internal 8MHz oscillator in the PIC, would save us 3 components - Using smaller xtal in Rev002, and can not-stuff if internal can be used
  • See if it's possible to add footprint for 3-pin DMX connector w/o affecting the 5-pin footprint - Added in Rev002
  • Link LED never comes on, check polarity of LED outputs from PHY - Fixed in Rev002
  • Speed LED is green, should be yellow - Fixed in Rev002
  • Power LED is excessively bright - Fixed in Rev002
  • See if there's anywhere else we can use R/C packs to save component stuffing time - Updated LEDs to use a 4x array in Rev002
  • Switch Debug and ICSP connectors to be pogo-pin pads rather than PTHs to save top-side space - Changed in Rev002
  • Pads on PHY don't extend past leads, making soldering/inspection hard - Fixed in Rev002

Rev002 Notes

  • Pads on PHY still aren't great, need to be longer.