It's quite fitting that this conclusion comes 1 year from the start of my fanciful idea.
After the initial installation, I had to actually install my home server and NAS into the Core. I had hoped to fit the battery backup in as well but it caused some issues with casting shadows so I had to leave it on the outside. This means that now the whole Core has a battery backup so that's a pretty nice turn of events. Let me tell you, it's a lot easier to work on the wiring inside this core when it's still half open rather than working just through the hatch.
The core has the large central chamber for the electronics to fit along with a central column going through the top ring stack straight out to the top. It was my hope that the warm air from the server would funnel through this column like a chimney and vent out through the gap along the top of the unit. I was disabused of this notion after the first day of running my server. After just a few hours I was notified by my server that the temper...
It's been a long time coming but it's finally installed! Huzzah!
We took advantage of this three day weekend to handle integration of the electronic side with the physical side, transport, and final assembly at my apartment. It all went about as well as could be expected, which is to say, pretty well.
Saturday was the first time we were able to see if everything would fit together as we expected but our foresight paid dividends and there was only minor pain with cable routing. The five power bricks required by my overabundance of caution take up quite a large chunk of the below-drawer space. It, of course, doesn't help that all of the cables must crisscross to get to their destinations leading to a rat's nest of wires no matter how sensibly we try to manage the cables.
Below is an image of the half-assembled core with the drawer not yet installed so we could attach and route the majority of the wiring. On the left is the Arduino, which drives the lights, connected to the Raspberry Pi, whi...
As I continued to ponder my path forward on my MTG scanner during the week and lamented my inability to use the already-built engine that others had made, I came upon a realization: I had never actually asked the developer if they'd be willing to help me. So I did. To my elation, not only was the creator of ScryGlass willing to help, he had already created an API for exactly this purpose and it was in beta testing. Oh sumptuous day!
This newfound ability moves my schedule forward substantially. I can now skip re-building the wheel and get straight to the rest of the project. This weekend I focused on being able to interface with the provided API by setting up a python server on my Raspberry Pi to react to the scanned cards and storing them in a MySQL database on my home server.
At the end of this build session, the current process flow is:
ScryGlass (running on an android device) scans card and identifies it.
ScryGlass sends GathererID (unique ID for each MTG card) and...
I spent an entire day last weekend devoted to setting up OpenCV on a RaspberryPi. With most software it's as simple as an apt-get, grab a drink, and you're done. OpenCV is definitely the most involved suite of software I've ever had to install.
I had originally intended to do most of the coding on my desktop and then simply transfer the completed py file to the Pi when ready. After discovering the difficulties in setting up OpenCV and the vast difference in setting it up on Windows vs Linux I opted to just do the whole project on the Pi. I would eventually need to set it up on the Pi in any case so it could function in the end result so setting it up on my desktop would just add that much more headache.
Installation on the Pi went pretty smoothly thanks to this guide, although I did end up with errors using threading during the make so I had to use a single core that took ~8 hours to build. With the install complete I took a disk image of the SD card using Win32 Disk Image...
The physical side of the core is now well underway. There's a clear path to fabricate all of the parts, which just leaves the electronics left. This should be easy enough...right? Wrong.
My first idea was to control lights and sounds via a single Arduino Mega and AdaFruit NeoPixel RGB LED strips. I was able to get the lights working in a single afternoon. The next day I was able to get the sound working independently as well. This was going great. All I had to do was merge the two and I'd be done, or so I thought. After merging the two I met my greatest foe in this endeavor: synchronization.
I came to determine that due to the nature of Arduino's looping code I wasn't able to run two simulataneous loops for the light and the sound. One had to be nested within the other but that resulted in unacceptable pauses and out of sync moments. I demanded perfection and thus the quest was on.
I'll gloss over the numerous iterations I attempted to get this to work which included every permutation of...
Over several weeks on weekends I would go over and help my dad fabricating the necessary pieces for the Warp Core. During this time, my dad was off work recovering from some knee replacement surgery. He was unable to stand but during some of the days he was able to sit in the workshop and work with his hands. Slowly, the core began to take shape. The main rings took form and started to get painted. Using a filler paint we were able to cover up the edges of the stacked sheets of MDF and make the unit look cohesive.
This led us to look at the next phase of the project, the upper and lower light ring stacks. The support beams could be made from MDF just like the core section but the light rings were a bit of a problem. I was very particular about how they looked since it would be no use going through all this effort to have something that didn't look right in the end. We ordered various plastics from several online retailers and hardware stores to see what we could do. We looked at fluores...
(I am backdating several of these posts relating to the Warp Core project to be approximate to when they would've been written if I had this blog at the time. I'd like to lay out the journey from the beginning rather than summarizing it into a short paragraph or two of this-all-happened-before-the-blog.)
It was the week of July 4th and I had it off from work. I was struck by a notion that it would be pretty cool to build a warp core. I had 5 days open so it seemed like a perfect time for a little extended-weekend project. I started by doing some Google searching for similar builds and, to my surprise, found none. The closest that I could find to anyone building their own warp core was a 3D printed model the size of a desk lamp. It was tied to a server rendering farm's CPU state so that was cool but it was still small. This was awesome, I could be the first.
I started doing napkin sketches to lay out my plan and figured that with my dad's help we could knock it out in three days. Boy was...