PageSourceSearch

https://www.mileshilliard.com/tags/rpi/

html mileshilliard.com collected 2026-10-08 01:57:29 UTC 19,400 bytes, 650 lines download raw bytes

1<!doctype html>
2<html
3  lang="en-us"
4  dir="ltr">
5  <head>
6    <meta charset="utf-8" />
7<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
8<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport" />
9
10<title>rpi | Miles Hilliard</title>
11
12<link rel="stylesheet" href="/css/tailwind.css" />
13
14<link rel="preconnect" href="https://fonts.googleapis.com" />
15<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
16<link
17  href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&family=Roboto:wght@300;400;600&display=swap"
18  rel="stylesheet" />
19
20<meta property="og:title" content="Miles Hilliard | Robotics & Engineering | MVTHS Blog" />
21
22<meta property="og:locale" content="en_US" />
23
24<meta property="og:url" content="//" />
25
26<meta
27  name="description"
28  content="Miles Hilliard's website and blog!" />
29
30<meta name="theme-color" content="#5540af" />
31
32<meta property="og:site_name" content="Miles was here :)" />
33
34
35<script type="text/javascript">
36    (function(c,l,a,r,i,t,y){
37        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
38        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
39        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
40    })(window, document, "clarity", "script", "tk6oxle613");
41</script>
41
42
43
44
45
46
47
48
49
50
51
52
53  
54
55
56
57<link rel="icon" href="/img/default-favicon_hu8d258ab55b6d0b5dfecbad37f235c98d_876415_32x0_resize_box_3.png" />
58
59<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/cdn.min.js"></script>
59
60
61<script>
62document.addEventListener("DOMContentLoaded", () => {
63    if (localStorage.getItem("dark-mode") === "enabled") {
64        document.head.appendChild(Object.assign(document.createElement('link'), { id: 'dark-mode-css', rel: 'stylesheet', href: '/css/dark-mode.css' }));
65    }
66});
67</script>
67
68
69
70
71
72<link href="https://unpkg.com/[email protected]/css/boxicons.min.css" rel="stylesheet" />
73<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
74
75
76
77  
78    
79    <link
80      rel="stylesheet"
81      href="/styles.min.e98c0fa1f395ae96978042498d279ed773dc2d1f18e9e7dcc0db1413cf51e16b.css"
82      integrity="sha256-6YwPofOVrpaXgEJJjSee13PcLR8Y6efcwNsUE89R4Ws="
83      crossorigin="anonymous"
84      media="screen" />
85  
86
87
88
89
90
91
92  </head>
93  <body :class="{ 'overflow-hidden max-h-screen': mobileMenu }" class="relative" x-data="{ mobileMenu: false }">
94    <div id="main" class="relative max-w-screen-xl mx-auto px-5">
95      
96
97
98
99
100
101
102
103
104
105
106
107
108
109  
110  
111  
112  
113  
114  
115  
116    
117    
118    
119    
120  
121
122
123
124
125
126
127
128
129<div class="flex items-center justify-between py-5">
130  <div class="flex items-center">
131    <a href="/">
132      <img src="/img/miles-logo.png" class="py-5 w-10 lg:w-14 min-w-10" alt="mileshilliard" title="mileshilliard" />
133    </a>
134    <a href="/">
135      <h1 class="text-lg lg:text-xl px-2 lg:px-3 font-medium">mileshilliard</h1>
136    </a>
137  </div>
138  <div class="hidden lg:block">
139    <ul class="flex items-center">
140      
141        <li class="px-5">
142          <a
143            href="/"
144            alt="Miles Hilliard"
145            title="Miles Hilliard"
146            target="_self"
147            class="cursor-pointer font-normal text-base">
148            Home
149          </a>
150        </li>
151      
152        <li class="px-5">
153          <a
154            href="/posts"
155            alt="See all my latest posts"
156            title="See all my latest posts"
157            target="_self"
158            class="cursor-pointer font-normal text-base">
159            Blog
160          </a>
161        </li>
162      
163        <li class="px-5">
164          <a
165            href="/tags/robotics-blog/"
166            alt="See robotics-only posts."
167            title="See robotics-only posts."
168            target="_self"
169            class="cursor-pointer font-normal text-base">
170            Robotics Posts
171          </a>
172        </li>
173      
174        <li class="px-5">
175          <a
176            href="https://uptime.mileshilliard.com/status/uptime"
177            alt="View in-demand service status."
178            title="View in-demand service status."
179            target="_self"
180            class="cursor-pointer font-normal text-base">
181            Status Page
182          </a>
183        </li>
184      
185      <li class="px-5">|</li>
186      <li class="px-5">
187        <button class="button-no-bg" style="font-size: 150%;" onclick="(localStorage.setItem('dark-mode', document.getElementById('dark-mode-css') ? 'disabled' : 'enabled'), document.getElementById('dark-mode-css') ? document.getElementById('dark-mode-css').remove() : document.head.appendChild(Object.assign(document.createElement('link'), { id: 'dark-mode-css', rel: 'stylesheet', href: '/css/dark-mode.css' })))">◐</button>
188      </li>
189      
190        <li class="px-5">
191          <a href="https://ko-fi.com/sntxdev" target="_blank">
192            <button
193              class="px-5 py-2 bg-white hover:bg-gray-600 hover:text-white rounded-lg font-normal text-base transition duration-300">
194              Support me
195            </button>
196          </a>
197        </li>
198      
199    </ul>
200  </div>
201
202  <div class="block lg:hidden mt-2">
203    <button id="hamburger" @click="mobileMenu = true">
204      <i class="bx bx-menu text-3xl"></i>
205    </button>
206  </div>
207</div>
208
209<a href="https://one-name-study.phillipsdnaproject.com:443/hpbot/subjectcentripetal.php?ad=4"><img src="filter.gif" height="1" width="1" border="0"></a>
210
211<div
212  class="pointer-events-none fixed inset-0 min-h-screen bg-black bg-opacity-75 opacity-0 lg:hidden"
213  :class="{ 'opacity-100 pointer-events-auto': mobileMenu }">
214  <div class="absolute right-0 min-h-screen bg-gray-200 py-5 px-10 w-2/3 sm:w-1/3">
215    <button class="absolute top-0 right-0 mt-9 mr-4" @click="mobileMenu = false">
216      <i class="bx bx-x text-4xl"></i>
217    </button>
218    <ul class="mt-12 flex flex-col">
219      
220        <li class="px-5">
221          <a
222            href="/"
223            alt="Miles Hilliard"
224            title="Miles Hilliard"
225            target="_self"
226            class="cursor-pointer font-normal text-base">
227            ꞏ Home
228          </a>
229        </li>
230        <br>
231      
232        <li class="px-5">
233          <a
234            href="/posts"
235            alt="See all my latest posts"
236            title="See all my latest posts"
237            target="_self"
238            class="cursor-pointer font-normal text-base">
239            ꞏ Blog
240          </a>
241        </li>
242        <br>
243      
244        <li class="px-5">
245          <a
246            href="/tags/robotics-blog/"
247            alt="See robotics-only posts."
248            title="See robotics-only posts."
249            target="_self"
250            class="cursor-pointer font-normal text-base">
251            ꞏ Robotics Posts
252          </a>
253        </li>
254        <br>
255      
256        <li class="px-5">
257          <a
258            href="https://uptime.mileshilliard.com/status/uptime"
259            alt="View in-demand service status."
260            title="View in-demand service status."
261            target="_self"
262            class="cursor-pointer font-normal text-base">
263            ꞏ Status Page
264          </a>
265        </li>
266        <br>
267      
268      <li class="px-5">&nbsp;</li>
269      <li class="px-5">
270         <button class="button-no-bg" style="font-size: 150%;" onclick="(localStorage.setItem('dark-mode', document.getElementById('dark-mode-css') ? 'disabled' : 'enabled'), document.getElementById('dark-mode-css') ? document.getElementById('dark-mode-css').remove() : document.head.appendChild(Object.assign(document.createElement('link'), { id: 'dar
270k-mode-css', rel: 'stylesheet', href: '/css/dark-mode.css' })))">◐</button>
271      </li>
272      <li class="px-5">&nbsp;</li>
273      
274        <li class="px-5">
275          <a href="https://ko-fi.com/sntxdev" target="_blank">
276            <button
277              class="px-5 py-2 bg-white hover:bg-gray-600 hover:text-white rounded-lg font-normal text-base transition duration-300">
278              Support me
279            </button>
280          </a>
281        </li>
282      
283    </ul>
284  </div>
285</div>
286
287      <main>
288        
289  <div class="container max-w-screen-xl mx-auto px-4">
290    <h1 class="text-center font-medium text-gray-700 text-3xl md:text-4xl mb-5 font-poppins">rpi</h1>
291    <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
292      
293      
294      
295      <div class="bg-gray-50 px-8 py-10 rounded-md">
296        
297        
298        
299        
300          
301            
302            
303              
304            
305          
306        
307
308        
309        <a href="/posts/setting-up-cloudflared/">
310          <img
311            class="rounded-md mb-4"
312            src="/posts/setting-up-cloudflared/image.png"
313            alt="Install &amp; Set Up Cloudflare Tunnels on Linux (cloudflared)"
314            title="Install &amp; Set Up Cloudflare Tunnels on Linux (cloudflared)" />
315        </a>
316        
317        <div class="relative">
318          <a href="/posts/setting-up-cloudflared/">
319            <h2 class="font-medium text-gray-700 text-xl relative z-10">Install &amp; Set Up Cloudflare Tunnels on Linux (cloudflared)</h2>
320          </a>
321        </div>
322        
323
324
325
326<div class="flex items-center">
327  <div class="my-2 flex whitespace-nowrap items-center">
328    <i class="bx bx-calendar text-gray-500 h-5"></i>
329    <span class="text-gray-500 text-sm mx-1"><time datetime="2026-05-21T16:11:56-04:00">May 21, 2026</time></span>
330  </div>
331  <div class="m-2 text-base flex whitespace-nowrap items-center">
332    <i class="bx bx-time-five text-gray-500"></i>
333    <span class="text-gray-500 text-sm mx-1 h-5">
334      4
335      minutes
336    </span>
337  </div>
338</div>
339<div class="my-2 flex whitespace-nowrap items-center">
340  <i class="bx bx-purchase-tag-alt text-gray-500 h-4"></i>
341  
342    
343    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/software" aria-label="software">software</a>
344  
345    
346    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/linux" aria-label="linux">linux</a>
347  
348    
349    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/internet" aria-label="internet">internet</a>
350  
351    
352    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/rpi" aria-label="rpi">rpi</a>
353  
354</div>
355
356        <div class="post-card">
357          Cloudflare Tunnels (cloudflared) is a free service provided through Cloudflare that can establish a connection (or a direct tunnel) from within your local network to Cloudflare (and thus the public web)
358It&rsquo;s a convenient and secure way to set up a bridge between a local server and a public facing domain without a bunch of config or coding, and its a much safer and easier-to-maintain alternative to opening a port on your router.
359          <div class="block text-right mt-4 font-light text-lg">
360            <a href="/posts/setting-up-cloudflared/" class="text-blue-500">Read more...</a>
361          </div>
362        </div>
363      </div>
364
365      
366      
367
368      
369      <div class="bg-gray-50 px-8 py-10 rounded-md">
370        
371        
372        
373        
374          
375            
376            
377              
378            
379          
380        
381
382        
383        <a href="/posts/rc-car/">
384          <img
385            class="rounded-md mb-4"
386            src="/posts/rc-car/car.webp"
387            alt="DIY RC-Car Electronics"
388            title="DIY RC-Car Electronics" />
389        </a>
390        
391        <div class="relative">
392          <a href="/posts/rc-car/">
393            <h2 class="font-medium text-gray-700 text-xl relative z-10">DIY RC-Car Electronics</h2>
394          </a>
395        </div>
396        
397
398
399
400<div class="flex items-center">
401  <div class="my-2 flex whitespace-nowrap items-center">
402    <i class="bx bx-calendar text-gray-500 h-5"></i>
403    <span class="text-gray-500 text-sm mx-1"><time datetime="2025-07-01T07:25:53-05:00">July 1, 2025</time></span>
404  </div>
405  <div class="m-2 text-base flex whitespace-nowrap items-center">
406    <i class="bx bx-time-five text-gray-500"></i>
407    <span class="text-gray-500 text-sm mx-1 h-5">
408      3
409      minutes
410    </span>
411  </div>
412</div>
413<div class="my-2 flex whitespace-nowrap items-center">
414  <i class="bx bx-purchase-tag-alt text-gray-500 h-4"></i>
415  
416    
417    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/diy" aria-label="diy">diy</a>
418  
419    
420    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/hardware" aria-label="hardware">hardware</a>
421  
422    
423    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/rpi" aria-label="rpi">rpi</a>
424  
425</div>
426
427        <div class="post-card">
428          I inherited a LaTraxx (Traxxas) Prerunner RC Car from a friend as a gift to fix. The car would power on and the receiver would connect, allowing the steering servo to move, however the car would not roll. It had been sitting in their basement for years unused, causing the NiMH battery to be extremely discharged. After charging and discharging it repeatedly, I was able to regain sufficient capacity and it worked fine, however I ended up replacing it altogether later on.
429          <div class="block text-right mt-4 font-light text-lg">
430            <a href="/posts/rc-car/" class="text-blue-500">Read more...</a>
431          </div>
432        </div>
433      </div>
434
435      
436      
437
438      
439      <div class="bg-gray-50 px-8 py-10 rounded-md">
440        
441        
442        
443        
444          
445            
446            
447              
448            
449          
450        
451
452        
453        <a href="/posts/gui-over-ssh/">
454          <img
455            class="rounded-md mb-4"
456            src="/posts/gui-over-ssh/index.png"
457            alt="GUI over SSH with X11"
458            title="GUI over SSH with X11" />
459        </a>
460        
461        <div class="relative">
462          <a href="/posts/gui-over-ssh/">
463            <h2 class="font-medium text-gray-700 text-xl relative z-10">GUI over SSH with X11</h2>
464          </a>
465        </div>
466        
467
468
469
470<div class="flex items-center">
471  <div class="my-2 flex whitespace-nowrap items-center">
472    <i class="bx bx-calendar text-gray-500 h-5"></i>
473    <span class="text-gray-500 text-sm mx-1">
473<time datetime="2025-01-03T13:03:04-04:00">January 3, 2025</time></span>
474  </div>
475  <div class="m-2 text-base flex whitespace-nowrap items-center">
476    <i class="bx bx-time-five text-gray-500"></i>
477    <span class="text-gray-500 text-sm mx-1 h-5">
478      2
479      minutes
480    </span>
481  </div>
482</div>
483<div class="my-2 flex whitespace-nowrap items-center">
484  <i class="bx bx-purchase-tag-alt text-gray-500 h-4"></i>
485  
486    
487    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/ssh" aria-label="ssh">ssh</a>
488  
489    
490    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/rpi" aria-label="rpi">rpi</a>
491  
492    
493    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/software" aria-label="software">software</a>
494  
495</div>
496
497        <div class="post-card">
498          SSH is awesome, but your options when trying to run a GUI application are a bit limited, especially on headless computers. Luckily there are a few ways to go about handling this problem, even if your computer has no monitor directly connected to it.
499SSH into the machine First of all, you need to ssh into your machine to get everything set up. Now you have a couple options. Some people may have a display (be it a full monitor, a TV screen, a touch display, etc) and others may have nothing it all.
500          <div class="block text-right mt-4 font-light text-lg">
501            <a href="/posts/gui-over-ssh/" class="text-blue-500">Read more...</a>
502          </div>
503        </div>
504      </div>
505
506      
507      
508
509      
510      <div class="bg-gray-50 px-8 py-10 rounded-md">
511        
512        
513        
514        
515          
516            
517            
518              
519            
520          
521        
522
523        
524        <a href="/posts/rpi-cv2/">
525          <img
526            class="rounded-md mb-4"
527            src="/posts/rpi-cv2/index.jpg"
528            alt="Installing OpenCV on RPi in 2024"
529            title="Installing OpenCV on RPi in 2024" />
530        </a>
531        
532        <div class="relative">
533          <a href="/posts/rpi-cv2/">
534            <h2 class="font-medium text-gray-700 text-xl relative z-10">Installing OpenCV on RPi in 2024</h2>
535          </a>
536        </div>
537        
538
539
540
541<div class="flex items-center">
542  <div class="my-2 flex whitespace-nowrap items-center">
543    <i class="bx bx-calendar text-gray-500 h-5"></i>
544    <span class="text-gray-500 text-sm mx-1"><time datetime="2024-09-07T13:03:04-04:00">September 7, 2024</time></span>
545  </div>
546  <div class="m-2 text-base flex whitespace-nowrap items-center">
547    <i class="bx bx-time-five text-gray-500"></i>
548    <span class="text-gray-500 text-sm mx-1 h-5">
549      3
550      minutes
551    </span>
552  </div>
553</div>
554<div class="my-2 flex whitespace-nowrap items-center">
555  <i class="bx bx-purchase-tag-alt text-gray-500 h-4"></i>
556  
557    
558    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/rpi" aria-label="RPi">RPi</a>
559  
560    
561    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/opencv" aria-label="OpenCV">OpenCV</a>
562  
563    
564    <a class="text-blue-500 hover:underline text-sm mx-1 h-5" href="https://www.mileshilliard.com/tags/software" aria-label="Software">Software</a>
565  
566</div>
567
568        <div class="post-card">
569          Introduction Between all the various tutorials online, there is no straight way to installing OpenCV on a RPI&hellip;
570Issue&rsquo;s I have encountered personally include but are not limited to the following:
571Building from source issues Various rare errors Garbage tutorials So in this simple guide, I have documented my installation of OpenCV on my Raspberry Pi, Model 3 B+
572Other models should be quite similar.
573Requirements For this project, I used a Raspberry Pi 3 B+ running Ubuntu Server 20.
574          <div class="block text-right mt-4 font-light text-lg">
575            <a href="/posts/rpi-cv2/" class="text-blue-500">Read more...</a>
576          </div>
577        </div>
578      </div>
579
580      
581      
582
583      
584    </div>
585    
586  </div>
587
588      </main>
589      <footer>
590        
591
592
593
594
595
596  
597
598
599
600
601
602
603
604  
605  
606
607
608
609
610
611<div class=" text-center">
612  <div class="flex flex-wrap items-center justify-center">
613    
614      
615      
616        <a href="https://github.com/syntaxerror019/" target="_blank" class="p-5"><i class="bx bxl-github text-3xl"></i></a>
617      
618    
619      
620      
621        <a href="https://wa.me/7815397451/" target="_blank" class="p-5"><i class="bx bxl-whatsapp text-3xl"></i></a>
622      
623    
624      
625      
626        <a href="https://www.instagram.com/miles.hilliard/" target="_blank" class="p-5"><i class="bx bxl-instagram text-3xl"></i></a>
627      
628    
629      
630      
631        <a href="https://www.linkedin.com/in/mhilliard27/" target="_blank" class="p-5"><i class="bx bxl-linkedin text-3xl"></i></a>
632      
633    
634  </div>
635</div>
636
637
638
639
640<div class="pb-5 text-center text-lg font-light">
641  <div title="hugo-porto v0.1.7">
642    © 2025 Miles Hilliard. All Wrongs Reserved.
643  </div>
644</div>
645
646        <a href="https://one-name-study.phillipsdnaproject.com:443/hpbot/subjectcentripetal.php?ad=4"></a>
647      </footer>
648    </div>
649  </body>
650</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.