{"id":41,"date":"2026-05-14T09:21:25","date_gmt":"2026-05-14T14:21:25","guid":{"rendered":"https:\/\/brian.wheeli.ca\/?p=41"},"modified":"2026-05-14T09:21:26","modified_gmt":"2026-05-14T14:21:26","slug":"raspberry-pi-reciever","status":"publish","type":"post","link":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/","title":{"rendered":"Raspberry Pi Reciever"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here I will describe how to use a Raspberry Pi as a receiver to control an RC car using a gamepad.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" src=\"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-1024x771.jpg\" alt=\"\" class=\"wp-image-42\" srcset=\"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-1024x771.jpg 1024w, https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-300x226.jpg 300w, https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-768x578.jpg 768w, https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-1536x1157.jpg 1536w, https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-2048x1542.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Setting up the Raspberry Pi with a PCA9685 to control the steering servo and speed controller is this post here: <a href=\"https:\/\/brian.wheeli.ca\/index.php\/2026\/04\/09\/control-an-rc-car-with-a-raspberry-pi\/\">https:\/\/brian.wheeli.ca\/index.php\/2026\/04\/09\/control-an-rc-car-with-a-raspberry-pi\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Setting up the radio link and a First Person View (FPV) stream is covered here: <a href=\"https:\/\/brian.wheeli.ca\/index.php\/2026\/03\/05\/diy-fpv-how-to-build-a-fpv-camera\/\">https:\/\/brian.wheeli.ca\/index.php\/2026\/03\/05\/diy-fpv-how-to-build-a-fpv-camera\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This post covers using the MavLink protocol to control the RC car through the same link as the FPV stream using a gamepad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This post is also covered in this video here: <a href=\"https:\/\/www.youtube.com\/watch?v=YCZaT0brN1o\">https:\/\/www.youtube.com\/watch?v=YCZaT0brN1o<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instructions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These instructions assume you have a board (a Raspberry Pi or similar) with a PCA9685 controlling the servos and speed controller. If you have not done that yet, see this post: <a href=\"https:\/\/brian.wheeli.ca\/index.php\/2026\/04\/09\/control-an-rc-car-with-a-raspberry-pi\/\">https:\/\/brian.wheeli.ca\/index.php\/2026\/04\/09\/control-an-rc-car-with-a-raspberry-pi\/<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: MavLink to Pulse-Width Modulation (PWM)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I have built an open-source program to convert MavLink commands to PWM signals specifically for the PCA9685. Find it here: <a href=\"https:\/\/github.com\/bbwheeler\/robocontrol\">https:\/\/github.com\/bbwheeler\/robocontrol<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download the latest code. Then it must be compiled for your specific board (I used a Raspberry Pi 3B).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, install the Rust compiler on a computer if you have not: <a href=\"https:\/\/doc.rust-lang.org\/cargo\/getting-started\/installation.html\">https:\/\/doc.rust-lang.org\/cargo\/getting-started\/installation.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Install &#8220;cross&#8221; to more easily cross-compile for your target board: <a href=\"https:\/\/github.com\/cross-rs\/cross\">https:\/\/github.com\/cross-rs\/cross<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, cross compile for your target board. The Raspberry Pi 3B target is &#8220;armv7-unknown-linux-gnueabihf&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, configure the config.toml file how you like it. The defaults should work if you have a similar setup to how mine was set up in the previous post.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After that, copy the file to your board. I used rsync (<code>rsync -a .\/ pi@192.168.1.12:\/home\/pi\/robocontrol\/<\/code>) 192.168.1.12 is the IP address of the Raspberry Pi on my RC car.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, set up the program as a service. Add the file <code>\/etc\/systemd\/system\/robocontrol.service<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And add to it these lines, adjusting for your target and working directory:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code><br>[Unit]<br>Description=Control PCA9685 using MavLink commands<br><br>[Service]<br>User=pi<br>WorkingDirectory=\/home\/pi\/robocontrol<br>ExecStart=\/home\/pi\/robocontrol\/target\/armv7-unknown-linux-gnueabihf\/release\/robocontrol<br>Type=simple<br>Restart=on-failure<br><br>[Install]<br>WantedBy=multi-user.target<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then start the service with <code>sudo systemctl start robocontrol.service<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Ground Station<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I have an open source program to take gamepad inputs and translate them to MavLink packets. Find it here: <a href=\"https:\/\/github.com\/bbwheeler\/basetation\">https:\/\/github.com\/bbwheeler\/basetation<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download the latest code onto your base station computer (or any computer that can connect through UDP to your RC car).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set up Python: https:\/\/www.python.org\/downloads\/<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set up your gamepad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run the code: <code>python gcs_gamepad.py<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Calibration and Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now, turn on your car and your gamepad and see if it can steer!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The throttle will likely not work if you have not calibrated your speed controller yet. Follow the instructions to calibrate that (mine involves holding the set button down while turning it on, then pushing set while in neutral, then set again while at full throttle, then set again while at full reverse).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After that, it should work!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you run into any trouble, add a comment here on my website, or on the YouTube video. I&#8217;ll add any troubles people have to this section once we fix them!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Here I will describe how to use a Raspberry Pi as a receiver to control an RC car using a gamepad. Setting up the Raspberry Pi with a PCA9685 to control the steering servo and speed controller is this post here: https:\/\/brian.wheeli.ca\/index.php\/2026\/04\/09\/control-an-rc-car-with-a-raspberry-pi\/ Setting up the radio link and a First Person View (FPV) stream &#8230; <a title=\"Raspberry Pi Reciever\" class=\"read-more\" href=\"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/\" aria-label=\"Read more about Raspberry Pi Reciever\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-41","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Raspberry Pi Reciever - Brian Wheeler<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raspberry Pi Reciever - Brian Wheeler\" \/>\n<meta property=\"og:description\" content=\"Introduction Here I will describe how to use a Raspberry Pi as a receiver to control an RC car using a gamepad. Setting up the Raspberry Pi with a PCA9685 to control the steering servo and speed controller is this post here: https:\/\/brian.wheeli.ca\/index.php\/2026\/04\/09\/control-an-rc-car-with-a-raspberry-pi\/ Setting up the radio link and a First Person View (FPV) stream ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/\" \/>\n<meta property=\"og:site_name\" content=\"Brian Wheeler\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-14T14:21:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-14T14:21:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1928\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"brian\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"brian\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/\"},\"author\":{\"name\":\"brian\",\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/#\\\/schema\\\/person\\\/a567b1f0a1184c426b190d4960e5e979\"},\"headline\":\"Raspberry Pi Reciever\",\"datePublished\":\"2026-05-14T14:21:25+00:00\",\"dateModified\":\"2026-05-14T14:21:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/\"},\"wordCount\":507,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/#\\\/schema\\\/person\\\/a567b1f0a1184c426b190d4960e5e979\"},\"image\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/brian.wheeli.ca\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/PXL_20260514_132241423-1024x771.jpg\",\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/\",\"url\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/\",\"name\":\"Raspberry Pi Reciever - Brian Wheeler\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/brian.wheeli.ca\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/PXL_20260514_132241423-1024x771.jpg\",\"datePublished\":\"2026-05-14T14:21:25+00:00\",\"dateModified\":\"2026-05-14T14:21:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/#primaryimage\",\"url\":\"https:\\\/\\\/brian.wheeli.ca\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/PXL_20260514_132241423-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/brian.wheeli.ca\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/PXL_20260514_132241423-scaled.jpg\",\"width\":2560,\"height\":1928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/2026\\\/05\\\/14\\\/raspberry-pi-reciever\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/brian.wheeli.ca\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pi Reciever\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/#website\",\"url\":\"https:\\\/\\\/brian.wheeli.ca\\\/\",\"name\":\"Brian Wheeler\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/#\\\/schema\\\/person\\\/a567b1f0a1184c426b190d4960e5e979\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/brian.wheeli.ca\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/#\\\/schema\\\/person\\\/a567b1f0a1184c426b190d4960e5e979\",\"name\":\"brian\",\"pronouns\":\"he\\\/him\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Photo-on-2026-05-26-at-14.12-2-cropped.png\",\"url\":\"https:\\\/\\\/brian.wheeli.ca\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Photo-on-2026-05-26-at-14.12-2-cropped.png\",\"contentUrl\":\"https:\\\/\\\/brian.wheeli.ca\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Photo-on-2026-05-26-at-14.12-2-cropped.png\",\"width\":416,\"height\":337,\"caption\":\"brian\"},\"logo\":{\"@id\":\"https:\\\/\\\/brian.wheeli.ca\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Photo-on-2026-05-26-at-14.12-2-cropped.png\"},\"description\":\"I am Brian Wheeler, a software developer in Ontario Canada.\",\"sameAs\":[\"https:\\\/\\\/brian.wheeli.ca\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/brian-wheeler-a90214149\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCXqIAGyn1pLhqsdTvytvRgA\"],\"url\":\"https:\\\/\\\/brian.wheeli.ca\\\/index.php\\\/author\\\/brian\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Raspberry Pi Reciever - Brian Wheeler","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/","og_locale":"en_US","og_type":"article","og_title":"Raspberry Pi Reciever - Brian Wheeler","og_description":"Introduction Here I will describe how to use a Raspberry Pi as a receiver to control an RC car using a gamepad. Setting up the Raspberry Pi with a PCA9685 to control the steering servo and speed controller is this post here: https:\/\/brian.wheeli.ca\/index.php\/2026\/04\/09\/control-an-rc-car-with-a-raspberry-pi\/ Setting up the radio link and a First Person View (FPV) stream ... Read more","og_url":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/","og_site_name":"Brian Wheeler","article_published_time":"2026-05-14T14:21:25+00:00","article_modified_time":"2026-05-14T14:21:26+00:00","og_image":[{"width":2560,"height":1928,"url":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-scaled.jpg","type":"image\/jpeg"}],"author":"brian","twitter_card":"summary_large_image","twitter_misc":{"Written by":"brian","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/#article","isPartOf":{"@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/"},"author":{"name":"brian","@id":"https:\/\/brian.wheeli.ca\/#\/schema\/person\/a567b1f0a1184c426b190d4960e5e979"},"headline":"Raspberry Pi Reciever","datePublished":"2026-05-14T14:21:25+00:00","dateModified":"2026-05-14T14:21:26+00:00","mainEntityOfPage":{"@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/"},"wordCount":507,"commentCount":0,"publisher":{"@id":"https:\/\/brian.wheeli.ca\/#\/schema\/person\/a567b1f0a1184c426b190d4960e5e979"},"image":{"@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/#primaryimage"},"thumbnailUrl":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-1024x771.jpg","inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/","url":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/","name":"Raspberry Pi Reciever - Brian Wheeler","isPartOf":{"@id":"https:\/\/brian.wheeli.ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/#primaryimage"},"image":{"@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/#primaryimage"},"thumbnailUrl":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-1024x771.jpg","datePublished":"2026-05-14T14:21:25+00:00","dateModified":"2026-05-14T14:21:26+00:00","breadcrumb":{"@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/#primaryimage","url":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-scaled.jpg","contentUrl":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/PXL_20260514_132241423-scaled.jpg","width":2560,"height":1928},{"@type":"BreadcrumbList","@id":"https:\/\/brian.wheeli.ca\/index.php\/2026\/05\/14\/raspberry-pi-reciever\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/brian.wheeli.ca\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pi Reciever"}]},{"@type":"WebSite","@id":"https:\/\/brian.wheeli.ca\/#website","url":"https:\/\/brian.wheeli.ca\/","name":"Brian Wheeler","description":"","publisher":{"@id":"https:\/\/brian.wheeli.ca\/#\/schema\/person\/a567b1f0a1184c426b190d4960e5e979"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/brian.wheeli.ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":["Person","Organization"],"@id":"https:\/\/brian.wheeli.ca\/#\/schema\/person\/a567b1f0a1184c426b190d4960e5e979","name":"brian","pronouns":"he\/him","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/Photo-on-2026-05-26-at-14.12-2-cropped.png","url":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/Photo-on-2026-05-26-at-14.12-2-cropped.png","contentUrl":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/Photo-on-2026-05-26-at-14.12-2-cropped.png","width":416,"height":337,"caption":"brian"},"logo":{"@id":"https:\/\/brian.wheeli.ca\/wp-content\/uploads\/2026\/05\/Photo-on-2026-05-26-at-14.12-2-cropped.png"},"description":"I am Brian Wheeler, a software developer in Ontario Canada.","sameAs":["https:\/\/brian.wheeli.ca","https:\/\/www.linkedin.com\/in\/brian-wheeler-a90214149\/","https:\/\/www.youtube.com\/channel\/UCXqIAGyn1pLhqsdTvytvRgA"],"url":"https:\/\/brian.wheeli.ca\/index.php\/author\/brian\/"}]}},"_links":{"self":[{"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/posts\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":1,"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/posts\/41\/revisions"}],"predecessor-version":[{"id":43,"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/posts\/41\/revisions\/43"}],"wp:attachment":[{"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/media?parent=41"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/categories?post=41"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brian.wheeli.ca\/index.php\/wp-json\/wp\/v2\/tags?post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}