[{"element_type":"text","content":"\n        \u003cp\u003eHave you ever wondered what you can do with your unused twisted-pair telephone wire running throughout your house? Well, how about using it as the transport medium for a CAN bus network of environmental sensors? This project, which I dubbed \u003ca title=\"PhoneCAN\" href=\"https://github.com/jmangum/PhoneCAN\" target=\"_blank\"\u003ePhoneCAN\u003c/a\u003e, is a relatively easy project which uses Adafruit hardware and CiruitPython.\u0026nbsp; My setup uses four CAN nodes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA \"home\" node with an \u003ca title=\"OLED Featherwing display\" href=\"https://www.adafruit.com/product/4650\" target=\"_blank\"\u003eOLED Featherwing display\u003c/a\u003e on an \u003ca title=\"RP2040 CAN feather\" href=\"https://www.adafruit.com/product/5724\" target=\"_blank\"\u003eRP2040 CAN feather with MCP2515 CAN controller\u003c/a\u003e that can show current values for all four nodes using the buttons on the display\u003c/li\u003e\n\u003cli\u003eA \"send\" node with \u003ca title=\"ESP32-S3 Feather\" href=\"https://www.adafruit.com/product/5477\" target=\"_blank\"\u003eESP32-S3 Feather\u003c/a\u003e and \u003ca title=\"CAN bus Featherwing MCP2515\" href=\"https://www.adafruit.com/product/5709\" target=\"_blank\"\u003eCAN bus Featherwing MCP2515\u003c/a\u003e.\u0026nbsp; This node gathers measurements from all nodes at a user-specified interval (I use 15 minutes), averages them over the interval, and pushes them to Adafruit IO.\u003c/li\u003e\n\u003cli\u003eTwo \"remote\" nodes which use \u003ca title=\"RP2040 CAN Feather\" href=\"https://www.adafruit.com/product/5724\" target=\"_blank\"\u003eRP2040 CAN Feathers with MCP2515 CAN controllers\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eI used two types of sensors (just because these were the ones I had on-hand) as I was interested in tracking temperature and relative humidity around my house.\u0026nbsp; Any of Adafruit's environmental sensors should work:\n\u003cul\u003e\n\u003cli\u003e\u003ca title=\"Sensirion SHT41\" href=\"https://www.adafruit.com/product/5776\" target=\"_blank\"\u003eSensirion SHT41 Sensor\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca title=\"MS8607 PHT\" href=\"https://www.adafruit.com/product/4716\" target=\"_blank\"\u003eMS8607 PHT Sensor\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eGather all those old phone patch cables that you have lying around in drawers around your house (be careful though, some cables have \"swapped\" wiring).\u0026nbsp; For most of my nodes I used RJ11 breakout boards to connect the three-wire CAN controller to my home phone jacks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI have all of my nodes reading and posting measurements every second to the CAN bus.\u0026nbsp; Documentation and sample code provided on my \u003ca title=\"PhoneCAN\" href=\"https://github.com/jmangum/PhoneCAN/tree/main\" target=\"_blank\"\u003ePhoneCAN github repository\u003c/a\u003e.\u0026nbsp; I believe that this is a relatively easy project and was really a lot of fun to put together.\u0026nbsp; Best part?..\u0026nbsp; Using that old (abandoned by the steady march of technological progress) twisted pair phone cable sitting in the walls of my house.\u003c/p\u003e\n      ","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/093/original/PXL_20240803_142416444.jpg?1722732604","metadata":{"caption":"\"Home\" node showing real-time measurements of the temperature and relative humidity at one of my remote nodes."}}]