MLaiDOS
LarsBrady
Massachusetts
- 0 Collaborators
MLaiDOS is a computer that will run an AI intended to sound like and react to commands like the Portal character GlaDOS. The name is a portmanteau of ml (machine learning) + ai (artificial intellgience) + DOS (disk operating system). ...learn more
Project status: Concept
Groups
PC Mod Level-Up Challenge
Intel Technologies
12th Gen Intel® Core™ Processors
Overview / Usage
**Edit -- Done! As you can see, I pivoted a lot from the original design, mainly due to shipping delays preventing me from obtaining the requisite parts. However, I'm still very happy with the overall aesthetic. Because the case is already white, the Portal panel grunge blends nicely and allows for some relatively simple decals to improve the look. The top wiring looks great; it's unfortunate that the best-looking shots of a PC are those close-up wide-angle ones. The side-mounted phone/control module will receive some functionality beyond being a GIF display once I have the chance to code it in. I realized that I could actually just use the phone's speakers and microphone for the assistant rather than the parts that didn't arrive in time, so we'll see how that goes. Good luck to everyone :)!
The goal with this project was to create something that would truly embrace the theme "Future of Innovation". As soon as I heard this, I knew I had to do something AI-related because as computing power increases (see: Intel 12900k), the breadth of the applications of AI will also increase -- in my eyes, the "future of innovation" is the future of AI. Portal 1 & 2 are some of my favorite games, and you are probably already familiar with the sarcastic, witty, terrifying and hilarious supercomputer AI GLaDOS (the main antagonist of the first game, and one of the protagonists of the second game) who appears to be capable of passing a Turing Test. I wanted to do design a PC build that not only looked great, but also had some sort of function beyond that which we associate with a typical desktop computer, so I decided to design the PC as Portal-themed with a central focus around AI, interactivity, practicality, and fun.
MLaiDOS is the culmination of several weeks of brainstorming and planning. The computer will respond to voice commands (with sassy remarks) to complete simple tasks such as displaying CPU/GPU temps on the left side panel's OLED (or LCD) display, changing fan profiles, adjusting LEDs, and anything else I program it to do. Depending on API availability, I may also program it to integrate with my smart home devices. It will also respond to certain statements ("Hello", "What time is it?", etc.) with funny, in-character one-liners.
The top LEDs and front yellow LED will indicate the computer's power state (like a power button LED). The red LED will function as an HDD indicator light.
The idea/vision of this mod is provide a glimpse into the future of what AI innovations could look. When I played Portal, I always thought there would be some sort of actually-funny comedy AI in the not-too-distant-future, and I still think that -- it's really exciting.
Methodology / Approach
The case comes with a front panel that is removable. Removing it leaves a gap where the front module will go. For this module, I plan to 3D print two CAD-designed pieces, spray paint them, add the dirt/cracked texture, and glue them together to create the front shell that will house the parts for the large yellow LED and small red LED, along with the black components that will be assembled together to make the eye module thing. The eye module's parts will be 3D printed and painted.
As for the wires protruding from the mesh attached to the head, I'm going to drill holes in the front mesh material (as shown in the render) and route some thick rubber wires through them. I plan on anchoring the wires inside those little gaps beneath the mesh. The wires will have rubber washers around them to improve the look. The silver pieces attached to the head will be part of the initial printing process for it (I will paint them with silver glossy paint). The wires will be superglued to each of the silver pieces. The wires are cosmetic, but when I actually begin the mod, I could find a use for them by editing the 3D print to have a hole in each of the silver pieces.
For the top panel, I plan to use the original top panel, except have a thin plastic panel on top of it that leaves space between the original panel and the added one. To the added panel, I will either paint it or add custom decals to get the Portal dirty "white panel" look. I'll add black PCB decals to the top (as shown in the render). Then, I will drill holes where each of the red and green LEDs' two pins will sit -- I'll have to clip them to get them to sit beneath the space afforded by the added panel and the original panel. I plan to route wires (soldered to each of the pins) underneath the plastic panel through a hole drilled in the actual case top panel leading those wires to an internal controller (breadboard -> Arduino). As for the wires sitting on top of the top panel, they should be fairly easy to keep in place with some superglue (otherwise, I might need to painstakingly drill two holes for each wire).
For the left panel, I plan to do something similar to what I did for the top panel, i.e. have two layers: the original side panel and a new one (made of plastic probably). I'll need to drill holes and get some longer screws in order to accommodate the increased thickness. I plan to take an OLED (or IPS) display and display it through a cut out in the new panel. The sandwiching effect created by the two panels will allow me to route the wires for the display in between the two panels like the two top panels. To get the Portal look, I'll spray paint the added panel and use some texture stencils to get the dirt/worn look. Afterwards, I plan to use a stencils to create the PCB design (as shown in the render) on top of the Portal white panel design. I want the PCB design to have some sort of physical elevation to make it more noticeable, but I haven't figured out how I will do this yet -- I might use Sugru. The idea is to have the PCB design coalesce at the display (the display will, by default, show the design in the render) to signify that this is an Intel-powered machine, and that the major brains behind the code (see: overview) will be the Intel 12900k.
One aspect I've thought about a lot is the inner workings of the voice command/voice control/AI response aspect of this project. I plan to use some cheap microphone modules and fix them to the inside walls of the front case module. These will be wired to the aforementioned breadboard and Arduino, and those will be mounted similarly (to the inside walls). I wouldn't trust a Raspberry Pi to run anything intensive, so I'll just use it for interfacing with the Arduino and for running a server to send and receive data from the desktop (I will mount the Pi near the Arduino). I'm considering mounting the speakers for this project in some obscure spot on the outside of the case and routing the cables through a secret hole to the Pi.
I am a software developer and, as such, will be programming the software required to allow the Pi to receive voice data from the Arduino, send that data via a server to the desktop, and then receive the response to output via the speakers. The desktop software will likely involve some sort of daemon that listens for requests from the Pi server. Upon receiving those requests, scripts will run that fetch data from a speech recognition API. The natural language processing required for parsing the commands won't be too hard; I'll have a bank of commands and different forms of them with unwritten variations accepted (this will involve regular expressions). As for the audio responses, these will be pre-generated (by a TTS ai) and stored on the desktop or the Pi; I haven't decided yet. I want the parsed response outputted by the speaker to have the proper intonation, so I'm considering using something like DeepMoji to achieve this, however that might be out of the scope of this build due to licensing and/or the time required.
I'm confident in my handiwork going into this project. I modded my old PC several times to give it new paint, add an acrylic side panel, and drill custom mounting brackets for accessories -- I've performed similar mods on the PCs of my friends. I'm experienced in CAD, 3D-printing, electronics (Arduino, circuits, etc.), and programming. Attached to this project is a rough blueprint of what I'm planning for the physical case modifications and additions.
Technologies Used
I'm going to use the PC parts sent by Intel for this build. That includes the Intel i9 12900k, the MPG Z690 Carbon WIFI, the 2 * 16GB memory, the Seasonic power supply, the RTX 3070 (either one, the ASUS OR MSI), and the MSI MEG CORELIQUID S360.
As for the case, I'm leaning towards the be quiet! Dark Base 700, as I already have one of those. However, when the Silent Base 802 is sent over, I might use that instead, depending on which is either to mod/work with; all of the modifications I have planned use the Dark Base 700, but depending on the specifications of the 802, I might switch to that if the modifications are compatible.
I'm planning on using an Arduino, Raspberry Pi, and all the requisite hardware for interfacing with the motherboard and case.
For the display, I'm debating on looking for a touchscreen vs. a normal LCD/OLED, as it might be fun to program a lightweight controller app accessible by touchscreen.