[{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/430/original/MediaRemote-BuildExamples.png?1733188952","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n        \u003ch1\u003eOverview\u003c/h1\u003e\n\u003cp\u003eThis note presents a few different ways of building an microcontroller-based IR receiver. It is meant as a complement to the \"\u003ca href=\"https://adafruit-playground.com/u/Alain_ManHW/pages/pc-media-remote\" target=\"_blank\"\u003ePC media remote\u003c/a\u003e\" note.\u003c/p\u003e\n\u003cp\u003eThe idea is to somewhat parallel \"\u003ca href=\"https://en.wikipedia.org/wiki/Software_design_pattern\" target=\"_blank\"\u003eSoftware design patterns\u003c/a\u003e\" -- only for physical hardware builds. The note provides a variety of implementation examples for an IR receiver project. Juxtaposition is used to compare various different mechanical/mounting systems that provide structure, and also different practical connectivity solutions. Hopefully these options will make builds feel a bit more approachable, and possibly inspire new ideas.\u003c/p\u003e\n\u003cp\u003eRegarding the overall design philosophy: Attempts were made not to solder everything together in one monolithic block. Design often involves making mistakes, so having a way to easily re-configure your solution as it develops really helps.\u0026nbsp; More specifically, I find that building \"blocks\" in a somewhat modular/generic fashion is preferable to building something that is completely \"application-specific\".\u0026nbsp; As a bonus, if your blocks don't quite work out the way you want, they can more likely be re-purposed in later projects.\u003c/p\u003e\n      \n","metadata":{}},{"element_type":"text","content":"\n  \n  \n        \u003ch1\u003eBefore we begin\u003c/h1\u003e\n\u003cp\u003eMany projects below make use of the STEMMA-QT port of as a means to connect the IR receiver. Note that the original intent (+typical usage) of this port is to provide I2C connectivity to multiple devices like sensors \u0026amp; actuators.\u003c/p\u003e\n      \n\n","metadata":{}},{"element_type":"alert","content":"\u003cp\u003eThese examples do \u003cem\u003enot\u003c/em\u003e make use of this I2C communication standard, and instead re-use the connector as a more convenient (less messy?) way to deliver power and read the demodulated IR pulses from the receiver. Careful attention must therefore be put on the pin order when attaching wires to the connectors.\u003c/p\u003e","metadata":{"class":"element alert-element build-alert alert-warning","markdown":"These examples do *not* make use of this I2C communication standard, and instead re-use the connector as a more convenient (less messy?) way to deliver power and read the demodulated IR pulses from the receiver. Careful attention must therefore be put on the pin order when attaching wires to the connectors.","alert_type":"warning"}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch1\u003ePico-Swirly-5939\u003c/h1\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/481/original/PicoSwirly_5939-small.jpg?1735503017","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eA good way to improve on the original \"\u003ca href=\"https://adafruit-playground.com/u/Alain_ManHW/pages/pc-media-remote\" target=\"_blank\"\u003ePC media remote\u003c/a\u003e\" breadboard example is to use the \u003ca href=\"https://www.adafruit.com/product/5939\"\u003eIR receiver module (#5939)\u003c/a\u003e. The build pictured above makes use of the STEMMA-QT port from a PiCowbell protoboard, and mounts all components to a \u003ca href=\"https://www.adafruit.com/product/5779\" target=\"_blank\"\u003e5x5 Adafruit swirly grid\u003c/a\u003e. Overall, this build should be a little more robust than what can be obtained with the breadboard solution, yet still be achievable without any soldering (if using \u003ca href=\"https://www.adafruit.com/product/5525\" target=\"_blank\"\u003ePico board with pre-soldered headers\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eSome things to keep in mind:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNeed a custom 4-pin JST-SH to 3-pin JST-PH cable.\u003c/li\u003e\n\u003cli\u003eMake sure the pin order is correct to avoid damaging the circuits (especially power/gnd).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eConnecting the 2 boards in this fashion requires modifying a pre-built JST-SH cable (\u003ca href=\"https://www.adafruit.com/product/4424\" target=\"_blank\"\u003ethis one, for example\u003c/a\u003e). Crimping JST-SH connectors can be a bit difficult due to the small size, but removing the 4th (yellow) wire from a 4-pin connector is a bit more manageable. A hobby knife can be used to \u003cspan\u003e⚠️\u003c/span\u003ecarefully lift the plastic tab to release the pin/wire. Once that's done, JST-PH pins can be crimped to the other end of the cable, which in turn snap into the 3-pin JST-PH connector needed for the IR receiver terminal.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/482/original/MediaRemote-PicoSwirly5939.png?1735503110","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eIn theory, crimping your own JST-SH pins is also possible. In practice, however, you will likely find it difficult enough to crimp even the larger JST-PH pins.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"alert","content":"\u003cp\u003e\u003ca href=\"https://www.jst.com/products/crimp-style-connectors-wire-to-board-type/sh-connector/\"\u003eJST rates its SH connector\u003c/a\u003e @ 1.0A with a 28AWG wire. This should be adequate given that there are only 2 LEDs and 1 receiver module active at a time. But it is always good to check your wire gauge/rating, and datasheets to make sure (not always a trivial task). Also note that longer wires can be problematic in terms of resistance - especially with thinner wires used on SH connectors. Shorter wires are typically preferable.\u003c/p\u003e","metadata":{"class":"element alert-element build-alert alert-warning","markdown":"[JST rates its SH connector](https://www.jst.com/products/crimp-style-connectors-wire-to-board-type/sh-connector/) @ 1.0A with a 28AWG wire. This should be adequate given that there are only 2 LEDs and 1 receiver module active at a time. But it is always good to check your wire gauge/rating, and datasheets to make sure (not always a trivial task). Also note that longer wires can be problematic in terms of resistance - especially with thinner wires used on SH connectors. Shorter wires are typically preferable.","alert_type":"warning"}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eAlso note that the Adafruit swirly grids tend to slide \u0026amp; scratch the surfaces on which they sit. To avoid scratches and add a bit of grip, you can add \u003ca href=\"https://www.digikey.ca/en/products/detail/keystone-electronics/720/61956\" target=\"_blank\"\u003ebumper feet\u003c/a\u003e like the ones shown below:\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/483/original/PicoSwirly_feet-small.jpg?1735503574","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n        \u003ch3\u003eParts/links:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.adafruit.com/product/6006\" target=\"_blank\"\u003eRP2350 Pico 2\u003c/a\u003e (alt: \u003ca href=\"https://www.adafruit.com/product/5525\" target=\"_blank\"\u003eRP2040 Pico\u003c/a\u003e with headers!)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/5939\" target=\"_blank\"\u003eIR receiver module (#5939)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/5779\" target=\"_blank\"\u003e5x5 Adafruit swirly grid\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.digikey.ca/en/products/detail/keystone-electronics/720/61956\" target=\"_blank\"\u003eBumper feet (DK #36-720-ND)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom 4-pin JST-SH to 3-pin JST-PH (\u003ca href=\"https://www.adafruit.com/product/4424\" target=\"_blank\"\u003ea potential starting point here\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePicoTrinkey-5939\u003c/h1\u003e\n      \n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/434/original/PicoTrinkey_5939_small.jpg?1733189286","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eThe \u003ca href=\"https://www.adafruit.com/product/5056\"\u003eAdafruit Trinkey RP2040\u003c/a\u003e is a very interesting product. It is small/compact, and has mounting holes coinciding with many of \u003ca href=\"https://www.adafruit.com/category/35\" target=\"_blank\"\u003eAdafruit's smaller sensor devices\u003c/a\u003e (including the \u003ca href=\"https://www.adafruit.com/product/5939\" target=\"_blank\"\u003eIR receiver module (#5939)\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eSimilar to the above Pico-Swirly example, this solution connects the \u003ca href=\"https://www.adafruit.com/product/5939\"\u003eIR receiver module (#5939)\u003c/a\u003e through the Trinkey's STEMMA-QT connector. Because of this, many of the same considerations apply:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNeed a custom 4-pin JST-SH to 3-pin JST-PH cable (see Pico-Swirly example above).\u003c/li\u003e\n\u003cli\u003eMake sure the pin order is correct to avoid damaging the circuits (especially power/gnd).\u003c/li\u003e\n\u003c/ul\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/487/original/USB_wTabs-small.jpg?1735504388","metadata":{"caption":""}},{"element_type":"alert","content":"\u003cp\u003eThe Trinkey PCB itself works as the USB connector. USB ports (female connectors) have spring tabs that \u003cem\u003eshould\u003c/em\u003e clamp the board securely in place.\u003c/p\u003e\n\n\u003cp\u003eThat said, you will likely notice the Trinkey not seating tightly in all USB ports. If you notice this happening, try a different port. Another option is to connect your Trinkey with a USB extension (female side pictured above with spring tabs clearly visible).\u003c/p\u003e","metadata":{"class":"element row-fluid alert-element build-alert alert-info","markdown":"The Trinkey PCB itself works as the USB connector. USB ports (female connectors) have spring tabs that *should* clamp the board securely in place.\n\nThat said, you will likely notice the Trinkey not seating tightly in all USB ports. If you notice this happening, try a different port. Another option is to connect your Trinkey with a USB extension (female side pictured above with spring tabs clearly visible).","alert_type":"info"}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch3\u003eParts/links:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/5056\" target=\"_blank\"\u003eAdafruit Trinkey RP2040\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/5939\" target=\"_blank\"\u003eIR receiver module (#5939)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom 4-pin JST-SH to 3-pin JST-PH (\u003ca href=\"https://www.adafruit.com/product/4424\" target=\"_blank\"\u003ea potential starting point here\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.adafruit.com/product/3658\" target=\"_blank\"\u003eM2.5 standoff kit - white\u003c/a\u003e (also \u003ca href=\"https://www.adafruit.com/product/3299\" target=\"_blank\"\u003eavailable in black\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBluefruit-Swirly-5939\u003c/h1\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/433/original/PlayGBlue_5939gator-small.jpg?1733189181","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n        \u003cp\u003eIf you don't have a device as fast as the RP2040, the \u003ca href=\"https://www.adafruit.com/product/4333\" target=\"_blank\"\u003eCircuit Playground Bluefruit (#4333)\u003c/a\u003e might be a reasonable alternative. This exploration-focused board has sufficient space to upload the\u0026nbsp;\u003ca href=\"https://adafruit-playground.com/u/Alain_ManHW/pages/pc-media-remote\" target=\"_blank\"\u003eMedia Remote project\u003c/a\u003e, and is fast enough to run.\u003c/p\u003e\n\u003ch3\u003e⚠️ Known issues\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCircuit Playground Bluefruit is somewhat sluggish at running said project. You will likely notice times where the microcontroller is overloaded (some button presses will not be detected).\u003c/li\u003e\n\u003cli\u003eLibrary code needs a bit more optimization.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGiven these issues, it might be preferable to use a different library for builds using the Bluefruit (at least for now). Here are some options:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://docs.circuitpython.org/projects/irremote/en/latest/\" target=\"_blank\"\u003eadafruit_irremote library\u003c/a\u003e (CircuitPython): \u003ca href=\"https://learn.adafruit.com/infrared-ir-receive-transmit-circuit-playground-express-circuit-python\" target=\"_blank\"\u003elearn guide example here\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://github.com/cyborg5/IRLib2\" target=\"_blank\"\u003eIRLib2 library\u003c/a\u003e (Arduino framework/C++): \u003ca href=\"https://learn.adafruit.com/infrared-transmit-and-receive-on-circuit-playground-express-in-c-plus-plus-2/libraries\" target=\"_blank\"\u003elearn guide example here\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://github.com/Arduino-IRremote/Arduino-IRremote\" target=\"_blank\"\u003eArduino-IRremote library\u003c/a\u003e (Arduino framework/C++)\u003c/li\u003e\n\u003cli\u003e...\u003c/li\u003e\n\u003c/ul\u003e\n      \n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch3\u003eParts/links:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/4333\" target=\"_blank\"\u003eCircuit Playground Bluefruit (#4333)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/5939\" target=\"_blank\"\u003eIR receiver module (#5939)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/4030\" target=\"_blank\"\u003eJST-PH (3-pin) to alligator clips\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.adafruit.com/product/3768\" target=\"_blank\"\u003e90°/L-bracket (#3768)\u003c/a\u003e: Designed for motors - but great at holding up a Circuit Playground boards perpendicularly atop Adafruit swirly grids.\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.adafruit.com/product/3658\" target=\"_blank\"\u003eM2.5 standoff kit - white\u003c/a\u003e (also \u003ca href=\"https://www.adafruit.com/product/3299\" target=\"_blank\"\u003eavailable in black\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003ch1\u003ePico-Stacked-5939/dongle\u003c/h1\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/435/original/MediaRemote-PicoStacked.png?1733189709","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eBy adding a connector to a \u003ca href=\"https://www.adafruit.com/product/5200\" target=\"_blank\"\u003ePiCowbell protoboard (#5200)\u003c/a\u003e, it is possible to position the receiver module within sight of the IR remote while keeping the microcontroller board \u0026amp; USB cable hidden away.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/436/original/Proto_XH_TRRS-small.jpg?1733190325","metadata":{"caption":""}},{"element_type":"alert","content":"\u003cp\u003eThese larger protoboards are easier to attach/detach if only about half the pins (or fewer) are used to connect to the headers below it. (See image above)\u003c/p\u003e","metadata":{"class":"element alert-element build-alert alert-info","markdown":"These larger protoboards are easier to attach/detach if only about half the pins (or fewer) are used to connect to the headers below it. (See image above)","alert_type":"info"}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch3\u003e\u003cspan\u003eMore variations\u003cbr\u003e\u003c/span\u003e\u003c/h3\u003e\n\u003cp\u003eUse \u003ca href=\"https://www.adafruit.com/product/5582\" target=\"_blank\"\u003estacking headers (#5582)\u003c/a\u003e to place the protoboard on top of the \u003ca href=\"https://www.adafruit.com/product/4864\" target=\"_blank\"\u003eRP2040 pico (#4864)\u003c/a\u003e, or use one of the \u003ca href=\"https://www.adafruit.com/product/5906\" target=\"_blank\"\u003edoubler\u003c/a\u003e/\u003ca href=\"https://www.adafruit.com/product/5967\" target=\"_blank\"\u003etripler\u003c/a\u003e/... boards to connect them side-by-side.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/484/original/MediaRemote-ProtoXH_TRRS.png?1735503631","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n        \u003ch3\u003ePitfalls: IR receiver dongles\u003c/h3\u003e\n\u003cp\u003eNote that different TRS-wired IR receiver dongles might use different pinout schemes. At the time of purchase, the\u0026nbsp;\u003ca href=\"https://www.amazon.ca/dp/B07FKPHD2L\" target=\"_blank\"\u003eones linked above/here\u003c/a\u003e used:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003etip =\u0026gt; SUPPLY / ring =\u0026gt; signal / sleeve =\u0026gt; GND.\u003c/li\u003e\n\u003cli\u003e(You can leave the second \"R\" of the TRRS jack floating)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis is a good scheme because the supply only makes contact when the TRS connector is fully inserted. Note that, whenever possible, I would still avoid connecting/disconnecting the receiver connector while powered.\u003c/p\u003e\n\u003ch3\u003eComments: IR reciever modules \u0026amp; cables\u003c/h3\u003e\n\u003cp\u003eWhen connecting IR receivers with long(-ish) cables, it is preferable to use PCB modules such as \u003ca href=\"https://www.adafruit.com/product/5939\" target=\"_blank\"\u003e#5939\u003c/a\u003e instead of connecting up bare devices (ex: \u003ca href=\"https://www.adafruit.com/product/157\" target=\"_blank\"\u003eTSOP38238 (#157)\u003c/a\u003e). The PCB's supporting circuitry (like local de-coupling) should make the overall behaviour more robust.\u003c/p\u003e\n\u003ch3\u003eParts/links:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.adafruit.com/product/6006\" target=\"_blank\"\u003eRP2350 Pico 2\u003c/a\u003e (alt: \u003ca href=\"https://www.adafruit.com/product/5525\" target=\"_blank\"\u003eRP2040 Pico\u003c/a\u003e with headers!)\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.adafruit.com/product/5583\" target=\"_blank\"\u003eFemale headers\u003c/a\u003e: (Easier if you have shorter ones - but these can be trimmed)\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.adafruit.com/product/5584\" target=\"_blank\"\u003eMale pin headers\u003c/a\u003e: Easily trimmed.\u003c/li\u003e\n\u003cli\u003eVersion A:\u0026nbsp;\u003ca href=\"https://www.adafruit.com/product/5939\" target=\"_blank\"\u003eIR receiver module (#5939)\u003c/a\u003e /\u0026nbsp;\u003ca href=\"https://www.adafruit.com/product/4423\" target=\"_blank\"\u003eJST XH connectors (#4423)\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eVersion B: \u003ca href=\"https://www.amazon.ca/dp/B07FKPHD2L\" target=\"_blank\"\u003eTRS-wired IR reciever dongle\u003c/a\u003e / \u003ca href=\"https://www.amazon.ca/dp/B08SLPBLZ2\" target=\"_blank\"\u003eTRRS jack\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eKeeBoar-Proto-TSOP38238\u003c/h1\u003e\n      \n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/432/original/KeeBoar_Solder_small.jpg?1733189126","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003e\u003ca href=\"https://www.adafruit.com/product/5302\" target=\"_blank\"\u003eAdafruit's KeeBoar (#5302)\u003c/a\u003e makes for an even smaller RP2040 Pico-based build. Although you can definitely solder this board directly to a small PCB, consider that you might want to tweak your build in the future. Your need for this particular solution might also go away in a few months, but you will likely want to re-use the core KB2040 board with some other project. As a bonus, using headers means you don't have to worry as much when building the more error-prone PCB/protoboard connections. Your microcontroller will remain safe on your workbench.\u003c/p\u003e\n\u003cp\u003eIn the build pictured above,\u0026nbsp;\u003ca href=\"https://www.adafruit.com/product/3008\" target=\"_blank\"\u003eShort female headers (#3008)\u003c/a\u003e were soldered directly to the bottom of the KB2040 instead of going for usual male header pins. Some advantages include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShort headers are a bit easier to remove from pins.\u003c/li\u003e\n\u003cli\u003eFemale headers are less prone to damage by accidental bending.\u003c/li\u003e\n\u003cli\u003eOverall simpler to build:\n\u003cul\u003e\n\u003cli\u003eTrimming female headers is a bit more difficult than trimming male headers.\u003c/li\u003e\n\u003cli\u003eMight as well do the tricky bit once per microcontroller board instead of once for each PCB/protoboard socket.\u003c/li\u003e\n\u003cli\u003eAlso, by experience: protoboard builds sometimes need more than one iteration to get a project working correctly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following picture shows how the protoboard looks with the microcontroller board removed. Note the small jumpers that supply V3P3 \u0026amp; GND to the IR receiver module.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/486/original/MediaRemote-KeeBoarShield.png?1735504214","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch3\u003eParts/links:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/5302\" target=\"_blank\"\u003eAdafruit KeeBoar (#5302)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/157\" target=\"_blank\"\u003eTSOP38238 IR receiver module\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.adafruit.com/product/1214\" target=\"_blank\"\u003eAdafruit small perma-proto board (#1214)\u003c/a\u003e: 4 mounting holes. Great for adding feet.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/3008\" target=\"_blank\"\u003eShort female headers (#3008)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.amazon.ca/dp/B0CFQMJR3Y\" target=\"_blank\"\u003ePlastic standoffs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.leevalley.com/en-ca/shop/hardware/feet/bumpers-and-pads/62153-round-flat-bottom-bumpers?item=00S2005\" target=\"_blank\"\u003e12.7x1.5mm bumper feet\u003c/a\u003e: Really good grip on most surfaces.\u003c/li\u003e\n\u003c/ul\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}}]