{"id":222,"date":"2026-01-11T22:32:04","date_gmt":"2026-01-11T22:32:04","guid":{"rendered":"https:\/\/blumenort.ca\/?p=222"},"modified":"2026-02-07T05:34:22","modified_gmt":"2026-02-07T05:34:22","slug":"ai-in-a-box","status":"publish","type":"post","link":"https:\/\/blumenort.ca\/index.php\/2026\/01\/11\/ai-in-a-box\/","title":{"rendered":"AI in a box"},"content":{"rendered":"\n<p>I love the scene in Mr. Robot where Elliot gets pushed off the railing by his dad \ud83d\ude02 lol&#8230; its not as bad as it sounds &#8211; no spoilers but when you find out what really happened, you&#8217;ll be shocked&#8230; in the end Elliot just wanted his father&#8217;s approval &#8211; sometimes that is just something you&#8217;re never going to get in your biological family.<\/p>\n\n\n\n<p>So I was bored <em>(<a href=\"https:\/\/youtube.com\/shorts\/hHVAn8FPt6M?si=vR1HMYCGzKsGvtIU\" target=\"_blank\" rel=\"noreferrer noopener\">Steve<\/a>)<\/em>, and wanted to do something with my myriad of components&#8230; I found a Raspberry Pi 4 B 2GB that was unused so I figured why not do something productive with it.<\/p>\n\n\n\n<p>The first thing I want to do it just get it working&#8230; and then make massive improvements so that it&#8217;s not just ordinary, I don&#8217;t settle for ordinary or basic very often. I want to accomplish with the best of my ability. So, I&#8217;m starting off with a plain looking, humble little box and some spare parts, we&#8217;re going to make something amazing with it, far beyond what is it capable of by itself, nothing it could have ever envisioned&#8230; in many ways, that is exactly what God has done with such a non-impressive guy like me, so there is no arrogance here; <em>without God in my life, I am nothing<\/em> but a sinful fallen man.<\/p>\n\n\n\n<p>Using Pi Imager, I put on Raspberry Pi OS lite (Debian Trixie) &#8211; its a command-line only, 64bit operating system, perfect for this type of implementation.<\/p>\n\n\n\n<p>I haven&#8217;t really done much with offline AI and thought it would be a good idea for a project. My first attempt kind of failed miserably&#8230; initially I had problems with the WIFI and rfkill and got sufficiently tired of messing around with WIFI, so I went straight for the RJ-45 jack and used Ethernet so that was easy to solve.<\/p>\n\n\n\n<p>Once I got further along, I put on TinyLlama and it worked, but I wasn&#8217;t satisfied with the results&#8230; just not good enough&#8230; unfortunate 2GB isn&#8217;t a lot to work with and I had difficultly putting on a better model as they wouldn&#8217;t run due to memory constraints.<\/p>\n\n\n\n<p>So I&#8217;m using a python3 script that connects to Grok 4 Fast using XAI API, and created a terminal dashboard, the script also updates an <a href=\"https:\/\/www.amazon.ca\/dp\/B0D2RLXLBZ?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_1&amp;th=1\" target=\"_blank\" rel=\"noreferrer noopener\">OLED<\/a> screen with these status indicators:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"793\" height=\"338\" src=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/image-1.png\" alt=\"\" class=\"wp-image-226\" style=\"width:507px;height:auto\" srcset=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/image-1.png 793w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/image-1-300x128.png 300w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/image-1-768x327.png 768w\" sizes=\"auto, (max-width: 793px) 100vw, 793px\" \/><\/figure>\n\n\n\n<p>I had a small wood box from Dollar Tree that I used the case for the Pi and it is the perfect size (as seen below). I also had to order little screws, washer, nuts, and split lock washers to mount the Pi (easy to order from <a href=\"https:\/\/www.amazon.ca\/dp\/B0C3926M1B?ref=ppx_yo2ov_dt_b_fed_asin_title&amp;th=1\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon<\/a>). *I used a <a href=\"https:\/\/www.amazon.ca\/dp\/B086YD19DC?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_2\" target=\"_blank\" rel=\"noreferrer noopener\">rotary<\/a> tool for cutting the spaces for the USB and Ethernet ports, and power cable.. I don&#8217;t have a 3D printer and I don&#8217;t see myself buying one anytime soon, it&#8217;s amazing what you can do with the little wooden boxes found at dollar stores. Its literally the perfect size and has a nice glow coming out at night around the box. <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"533\" data-id=\"225\" src=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3496.jpg\" alt=\"\" class=\"wp-image-225\" srcset=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3496.jpg 800w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3496-300x200.jpg 300w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3496-768x512.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"812\" height=\"611\" data-id=\"224\" src=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3510.jpg\" alt=\"\" class=\"wp-image-224\" srcset=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3510.jpg 812w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3510-300x226.jpg 300w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3510-768x578.jpg 768w\" sizes=\"auto, (max-width: 812px) 100vw, 812px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"806\" height=\"605\" data-id=\"223\" src=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3512.jpg\" alt=\"\" class=\"wp-image-223\" srcset=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3512.jpg 806w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3512-300x225.jpg 300w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3512-768x576.jpg 768w\" sizes=\"auto, (max-width: 806px) 100vw, 806px\" \/><\/figure>\n<\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"723\" height=\"590\" src=\"http:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3489.jpg\" alt=\"\" class=\"wp-image-228\" style=\"width:392px;height:auto\" srcset=\"https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3489.jpg 723w, https:\/\/blumenort.ca\/wp-content\/uploads\/2025\/11\/IMG_3489-300x245.jpg 300w\" sizes=\"auto, (max-width: 723px) 100vw, 723px\" \/><\/figure>\n\n\n\n<p>In the next post where we talk about the &#8220;ai in a box&#8221; &#8211; we are going to look at how the dashboard was made, and how to extend the base limitations of using Grok. \ud83d\ude42<\/p>\n\n\n\n<p>Jason<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I love the scene in Mr. Robot where Elliot gets pushed off the railing by his dad \ud83d\ude02 lol&#8230; its not as bad as it sounds &#8211; no spoilers but when you find out what really happened, you&#8217;ll be shocked&#8230; in the end Elliot just wanted his father&#8217;s approval &#8211; sometimes that is just something [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":227,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[184,183,185,176,187,178,182,179,175,174,186,180,173,181],"class_list":["post-222","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-personal","tag-diy-electronics","tag-dollar-tree-case","tag-ethernet-setup","tag-grok-4","tag-mr-robot","tag-offline-ai","tag-oled-screen","tag-python-script","tag-raspberry-pi-4","tag-raspberry-pi-project","tag-rfkill-issue","tag-terminal-dashboard","tag-tinyllama","tag-wood-box-case"],"_links":{"self":[{"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/posts\/222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/comments?post=222"}],"version-history":[{"count":33,"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/posts\/222\/revisions"}],"predecessor-version":[{"id":269,"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/posts\/222\/revisions\/269"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/media\/227"}],"wp:attachment":[{"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/media?parent=222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/categories?post=222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blumenort.ca\/index.php\/wp-json\/wp\/v2\/tags?post=222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}