03/27/2017 at 03:18 •
As mentioned in the project's details, this project has been "cooking on the back burner" as it were for the better part of the last 5 years. It all started when my then girlfriend, Maggie (now my wife), got a job in early 2012 as the Art Room Director and Graphic Designer at a little known production company called Bad Robot. A designer myself, as well as a storyteller and super nerd, you can imagine I was just a liiiittle jealous of her at the time... Everyday after work was another day of torture as she excitedly recounted the happenings at Bad Robot to me over dinner. After a couple months of working at Bad Robot Maggie started agreeing with me that I should definitely be working there too...
A huge fan of JJ, and all he does, I knew I'd have to do something big to get his attention and prove I belonged at Bad Robot. As a child of the 80's, I innately understood the well JJ is drawing from, and quickly came up with the perfect project to get his attention, a mystery puzzle box/micro arcade cabinet that referenced 80's pop culture (think Indiana Jones meets The Last Star Fighter meets War Games with a dash of The Goonies, The Monster Squad, The Explorers and A Christmas Story thrown in for good measure)! I knew I was onto something when Maggie (who I jokingly refer to as the "why person" in my life) didn't ask me "why?" a million billion times.
Sure of myself, I started researching potential solutions to the problem I'd created for myself, and quickly came to the following conclusions:
- This project would take a lot of energy, time, and most importantly money to develop into a working prototype (much less a finished product)
- It was a pithy and self serving reason to do all of this just for another job when every other piece of personal work I'd made up to that point had included some sort of social-action underpinning
- This idea was bigger than a one off promo piece
Don't get me wrong, at the time I really really REALLY wanted to work at Bad Robot, but once I started doing my research for this project I quickly realized that I was largely doing it because I was jealous of Maggie and her new job... Further exacerbating the situation was the job I had at the time (which I hated with every fiber of my being). It also didn't help that I was hitting my mid 30's and was kind of going through a third life crisis... With all of this in mind it quickly struck me as a waste of the limited free time I had outside of work to spend all of my time working on something like this, especially when I could be using my free time to create something that mattered. In hindsight, I think this is why Maggie never asked me the "whys?" she's so prone to ask me a million kajillion times whenever I decide to tackle one of my new projects. I think she knew I'd come to this conclusion on my own...
Anywho, with all of that said I put it in the "pile" with the the other dozen or so half baked ideas I have swirling around in the back of my head at any given time.... yet, this idea WOULD NOT DIE. The "mystery puzzle box/micro arcade cabinet idea" continued to live on just under my consciousness, ready to breach the veil between my subconsciousness and consciousness should I let my brain go idle long enough. So it was after years of constantly talking about my "mystery puzzle box/micro arcade cabinet idea" that Maggie finally told me to shut-up, and challenged me to "find a kit, and put it together" before trying to make something this complicated from scratch. I think she did this because she:
- Was tired of hearing me talk about this project
- Thought I'd see how hard my project idea was to execute after building a premade kit
- Thought I'd tire myself out chasing my own tail while trying to figure out how to go from a premade kit to the proposed project
A prodigious Lego and model kit maker as a kid, mechanic in a past life (I was a shipboard engineer while in the Army), part-time film production/environmental designer, competent artist+designer in my own right, and lifelong tinkerer I foolishly accepted her challenge. if anyone could make this I thought, "I COULD!" After some research I found 2 kits online that I could buy and build. The first kit I found was the Adafruit Cupcade kit (this kit was by far the easier of the two to get and build, and is sold by Adafruit online in their store. As a Adafruit kit it also came with everything needed to build it), the second was a Micro Raspberry-Pi Arcade Cabinet Instructable made by a user called diygizmo (this kit was harder to get and assemble, requiring me to buy the parts needed to build it from multiple online sources. It also seemed like it was designed with a more intermediate user/maker in mind, requiring a greater deal of experience and skill to build than the Cupcade). Subsequently, I took note of the joystick and switches used by diygizmo in his build, and bought myself a Adafruit Cupcade kit. Over a weekend in the Winter of 2014 I built my Cupcade!
While I felt accomplished, I also felt really tired after a long weekend of working outside of my comfort zone (primarily in the command line, while trying to get Raspbian up and running on a RPi B+. A programmer/software engineer I am not...). Maggie was right, again. I'd built a micro arcade from a premade kit, and had finally managed to get the cabinet out of my system, for the time being... You see, shortly after assembling my Cupcade kit I started planning my marriage proposal to Maggie, and started spending all of my free time through the spring of the following year planning and then executing it. After the proposal, we then started working on a ambitious VR PSA we'd written and designed to get girls into STEM, designed and built two 800 sq ft trade show booths for a client, planned our wedding, got married in the Fall of 2016, and then moved...
After the move we turned our full attention to the 2016 Presidential Election. Without getting too political here, let me just say that we're both of mixed descent (specifically, we're both partially Mexican), live in Southern California, and tend to fall on the Democratic side of the political spectrum. Let me just further say that we were/are not impressed by Donald Trump, his rhetoric, his platform, and most importantly his political inclinations and campaign to attain the highest office in the land. To say we were both horrified by the election night results would be an understatement. We were shocked, deeply saddened and very upset by his election day win. Moving on...
The aforementioned justification and call-to-action needed to make this project didn't crystallize until after the New Year. Alarmed by Trump's continued rhetoric around and after his swearing in, followed by an immediate sense of hope thanks to participation in the LA Women's March, quickly followed by anger thanks to Trump's announced plans to defund the National Endowment for the Arts, the National Endowment for the Humanities, and the Corporation for Public Broadcast at the end of January I finally knew why I had to make the cabinet.
Cue Maggie's "Whys?"...
Long story short, I needed to prove to Maggie I could make something like this to begin with! Like any other project I've previously worked on, it all started with sketches...
Then it was onto foam core for prototyping. While I'll usually mock something like this up in cardboard (because it's free and abundantly available), in this instance I didn't want to have to deal with the problems cardboard introduces to a mock-up of this size while trying to make something I'm going to be basing my final measurements off of. So, instead I went straight to foam core resulting in the quick mock-up pictured below. I made this mock-up with a small trophy/bottle of wine in mind. I targeted this size because I want the cabinet's recipients to keep the cabinet on their desks!
With the cabinet's approximate proportions and dimensions figured out, I then made a more detailed mock-up with a functional hidden drawer and two secret compartments that actually opened! Below you'll find photos of the V2 foam core mock-up I made to walk people through the proposed user experience.
With V2 of the foam core mock-up complete I then wrote out a "wireframe" detailing my designed user experience and presented it to my teammates to give them an idea of what the final experience would look and feel like. Once I'd shown it to Maggie, Stefan, Josh, Bernie and Jean (the team) I had the buy-in that I needed! More importantly they finally had a full understanding of the project I'd been talking about building for the last 5 years!
In late January, on a lark really, Stefan and I decided to go to the January Hackaday.io meetup at the SupplyFrame DesignLab in Pasadena California to see what kind of help and support we could drum up for this project. After a quick conversation with the Lab's Resident Engineer, Dan, I found out we could submit this project for consideration at the residency program!
I promise I'm not even a quarter as evil as I look in this photo...
The dream team talking about making stuff (left to right: Stefan, me and Jean)!
I then scheduled a time the next day to come by and present my V2 foam core mock-up to Dan. I made my case to him, and per his instructions, submitted this project for consideration to the DesignLab Lab Residency program! After a month of deliberation (by the SupplyFrame staff) we were told we'd been accepted into the residency program!...
... conditionally, pending a review of our progress at the end of March...
03/31/2017 at 05:36 •
Completed mocked-up side of the cabinet maze I fabricated to make sure I could get the maze to work as intended (vertically)
... Feeling a little under the gun to get enough done in our first month to prove we deserved to stay in the DesignLab residency program, I immediately reached out to a couple of makers who had attended the February Hackaday.io event at the DesignLab for some advice. I spoke to Ben Sax (creator of the Perceptoscope and former DesignLab resident) and Carlyn Maw (Co-Founder of CrashSpace LA) after the event via email. I also sent an unsolicited email to John Edgar Park (all-around awesome Maker and contributor to Adafruit) after watching the video he made for his "Crypto Countdown Case" project to get advice on my project.
I'm not sure if you know this (and not to generalize a group of people), but if the response I got from the three above is anything to go by, then the Maker community is awesome (had you going for a second there didn't I ;P )! Everyone was SUPER generous with their time, and even agreed to in-person meetings with a total stranger to talk about his crazy idea! All three of them basically told me I needed to separate the cabinet's embedded systems into smaller and more easily digestible parts, I could then make individually. In essence they advocated I turn the cabinet into a science fair project with separate parts of the project broken out into separate boards I could then present to Dan, the Lab's Resident Engineer, at the end of March for acceptance into the Lab as regular full-time residents for the full duration of the residency.
With the advice above in mind I then started separating the mechanical and electrical systems from each other, with the goal of streamlining my workflow. Admittedly more comfortable with the mechanical side of the project, I focused my energies there figuring I could quickly and easily hammer out the: auto-opening back compartment door, maze, maze-to-drawer latching mechanism, sliding drawer, and locking front compartment door that opens with a key on my own. Starting with the maze on the side of the cabinet, which my teammates all had various ideas about (all them electrical in nature), I made the executive decision to try to make it work mechanically. Also, as a big proponent of the K.I.S.S. methodology, I couldn't help but be concerned with the following while thinking about the cabinet's maze:
- The amount of space available within the cabinet for additional wiring and parts once all of the necessary electronics were integrated
- The user experience, there needs to be some sort of user feedback while navigating the maze (like a magnet pulling an hidden bearing)
With all of the above in mind I then started devising my solution. I felt I could get it done in my first 2 days at the Lab, and basically did just that after only two revisions... Using cardboard (again because it's cheap/free, abundantly available, and easy/quick to cut on a laser cutter) as my target material I challenged myself with the creation of a new mock-up everyday (thanks in large part to the advice from Tim, creator of the Nanoegg and another former DesignLab resident) until I'd gotten to the point that I'd be integrating electronics).
Below you'll find images of the maze portion of the cabinet in process.
The Epilog laser cutter at the lab have proven super useful, and by far my favorite tool to quickly prototype parts on!
04/13/2017 at 03:40 •
With the maze's proof of concept worked out in cardboard, and operating as desired (in 2 days no less!), I then decided to jump into getting the auto-opening back compartment door, maze-to-drawer latching mechanism, sliding drawer, and locking front compartment door integrated into one working model.
My plan was to create a two part model with a "hat" that I could easily detach and install the electronic components into. Over the span of the week I rapidly prototyped the cabinet's mechanical portions, essentially creating a new model every other day for the next 2 weeks. Starting with cardboard, I designed my first version in Illustrator and cut it out on the Epilog Laser Cutter in the DesignLab. After a couple of curse filled hours, foolishly spent trying to assemble my first cardboard model, I quickly realized, contrary to their labeling, that the 1/8" and 1/4" cardboard weren't actually 1/8" and 1/4" thick...
Realizing my error, I immediately switched to MDF (which generally speaking is the width it purports to be, and uniformly thick at that!) and recut my model in MDF the following day... Once I'd finished assembling my second model, made out of MDF this time, I noted this model's errors/issues and started making the necessary modifications to the initial Illustrator file I'd created. After I was satisfied with my edits, I saved this version of the model as a new version, recut it on the laser cutter, and assembled it all again the following day.
I repeated this cut, build, review, tweak model to rapidly iterate the cabinet in quick succession over 2 weeks, creating 5 versions of the cabinet in total in this span of time before arriving at a version of the model that I was satisfied with from a feature + dimension perspective (as shown below in the video) at the end of the week.
With everything more or less completed to my satisfaction on the mechanical side of the cabinet, I was ready to move onto electronics integration in the next version!
04/19/2017 at 00:42 •
With the mechanical portion of the cabinet figured out we now needed to start focusing on the electronics systems, unfortunately our system engineer had been busy with work stuff up to this point. Not one to sit idly by, and still feeling under the gun to prove we deserved to stay in the DesignLab, I decided to take a crack at the Decoder/Cypher Coin. Feeling inspired by my extensive time on the Epilog Laser Cutter making models over the last 2 weeks, I decided to try my luck at the challenge/cypher style coin we'd be including in the experience... While it looks ok, there are definitely some serious usability/legibility problems in the mock-up I managed to make over the span of 2 days. Did I mention that Maggie is a Graphic Designer, type teacher and Letterpress Instructor at the ArtCenter College of Design? Let's just say the critique wasn't pretty, still as a proof of concept I think I proved the concept and got us about halfway there!
06 - "With such a specimen for a body, all we need now is an equally magnificant brain" - March 3rd - 19th04/19/2017 at 00:46 • 0 comments
Much like Frankenstein's Monster, our little monster now needed a brain!
With the Mechanical systems more or less worked out and integrated into a near final cabinet prototype made out of MDF, I now needed to connect and put the cabinet's targeted electronic components together to ensure they all worked in unison as proposed to prove to Dan we deserved to stay in the DesignLab! Thankfully Bernie and Jean had been simultaneously working on this front while I continued to plug away at the cabinet's body! Using a RPi 3 and RPi Zero W as our test platforms the guys set about getting all of the components working together.
First things first we needed to get I/O working on a RPi running PICO-8. Using a Adafruit Arcade Bonnet and RPi 3, Bernie wired it all up and got it all working together.
Bernie then got the controls connected to the the RPi 3 to control the servo and LED using PICO-8's ability to write out to the RPi's I/O!
Next Jean took the components from the breadboarded RPi 3 Bernie had been working on (above), and migrated it all over to a Raspberry Pi Zero W, incorporating it all into the "hat" I'd made for the V7 MDF prototype (pictured below).
With all of the components now connected and working with a RPi, we then moved it all over to the Next Thing Co. C.H.I.P. (a $9 single-board computer like the RPi that runs Linux). We did all of this in this order because Bernie was more familiar with the RPi and wanted to make sure we could get PICO-8 to do what we wanted (mainly actuate a servo and blink an LED) , and because the C.H.I.P. has all of the things we need to make the cabinet function as intended at a lower price point than a RPi Zero (BTW, for the record, we formally started developing this project before the announcement and launch of the Zero W). As a backer of Next Thing Co's PocketC.H.I.P. Kickstarter at this point I was personally more familiar with it, and knew it had everything I needed to make the experience I wanted to make, In all honesty I specifically backed this campaign because I wanted to:
- Buy an inexpensive single-board computer running Linux I could use to familiarize myself with Linux and the command line
- Teach myself to code
- Use the C.H.I.P. to make this project!
Side bar and quick note on the surprise announcement by Next Thing Co to include Lexaloffle's PICO-8 on all PocketC.H.I.P.s just before its launch!...
About a month before Kickstarter backer perks fulfillment started, Next Thing Co. announced their partnership with Lexaloffle to include PICO-8 on all of their PocketC.H.I.P.s. At the time I was already looking at PICO-8 as a solution to make my interface/game for the experience on this project. Talk about a killer app for the C.H.I.P.! For those of you not in the know let me just take this moment to tell you all about PICO-8.
PICO-8 is a virtual console for making, sharing and playing tiny games and computer programs (think of it as a game console that runs on Windows, OSX, Linux, Raspberry Pi's, and in the browser with the equivocal graphical power of the classic NES). PICO-8 also has inbuilt tools for editing code, music, sound, sprites, maps built right into its virtual console (meaning a novice like me can learn to code and make games by just tweaking other's premade games!). PICO-8 cartridges can also be saved in a special .png format and sent directly to other users, shared via an online cart player, or exported to stand-alone HTML5 (again AWESOME, essentially 'carts', what the community affectionately calls their games, can be directly sent to anyone with a modern browser and played using only HTML5)! There are literally hundreds of 'carts' currently available on the Lexaloffle BBS [a vibrant online community that has popped up around PICO-8 since it's release], all made by a diverse group of hobbyist, tinkerers, and developers who are making every type of game imaginable, from classic game reproductions to their own new original games and experiments! Further driving the activity on the PICO-8 community is the program's developer, ZEP, who can often be found hosting online 'Jams' [what the community colloquially calls week long hackathons]. During a 'Jam' community members are asked to create new games based on a theme or gameplay mechanic. If you couldn't tell at this point, I'm a HUGE fan of both the C.H.I.P. and PICO-8, as they both fall into the "open, inexpensive/free, easily accessible/low entry point and available for everyone to use technology" category I'm super fond of and mentioned in this project's detail section!
Unlike the RPi Zero, the C.H.I.P. has inbuilt bluetooth+WiFi, an integrated power management package+JST port that can connect to and charge a battery (which we planned on using to prevent software corrupting shutdowns caused by power disconnects), inbuilt storage, and a included software license to Lexaloffle's Pico-8 software. Taken together all of these inclusions quickly add up when buying them separately with the intention of adding them to a RPi Zero, bringing their equivalent price way over the cost of a C.H.I.P. alone. With all of that said Jean and I then switched our focus to the C.H.I.P., and quickly integrated it into the a newer version of the cabinet's hat we'd designed and built.
After the 5th MDF model I decided needed to get a cheaper larger screen I could use in this project, as the average $30-$40 price being charged online was too much. Starting on Amazon, I started looking for the perfect screen (cheap+compatible). While looking on Amazon I found this BW 3.5 Inch TFT LCD Monitor for Cars on Amazon that another buyer had successfully gotten to work with a RPi, and documented in his Amazon product review. With an average cost under $18 you knose I had to buy one!
Shortly after receiving the screen I realized that it was set up for 12v DC Automobile voltage (critical reading for the win)! Luckily after a little Googling around I found this tutorial done by another plucky tinkerer with the same idea documenting a hack he'd made to the screen's PWM control circuit that allowed it to run on 5v DC power! Long story short this screen uses a xl1509-5.0 voltage regulator, and its #2 pin can take 5v in, and power the screen!
IT LIVES!!! Quick unmodified LCD test (powered by a 12v wall wart) plugged into a C.H.I.P. (powered by a separate 5v wall wart) plugged in via the C.H.I.P.'s TRRS jack and a composite cable! With all of this done we quickly changed our focus over to getting our controls working with the C.H.I.P...
Below is a video of the V7 MDF prototype of the CotC cabinet in the new 'hat' running off of a NTC C.H.I.P. connected to a Pimoroni Picade PCB and the larger modified 3.5" TFT LCD!
Incase you're wondering, the game Hunter and Giovanni (both fellow DesignLab Residents, check out their awesome projects) are playing is Benjamin Soulés excellent Hug Arena! You should try it out in your browser sometime!
Next steps?... Getting the power and the assorted cables sorted, all fit into the MDF prototype, and all of the cabinet's tolerances surrounding the maze, drawers, and doors tightened up!
04/20/2017 at 22:07 •
After 3 weeks of sweating our fate at the Lab, Dan (the DesignLab's Resident Engineer) surprised us today and gave us this certificate he made for us! Thanks to our hard work and effort put into this project he's extended our residency through the 30th of June! As of the 20th of March we're OFFICIAL, and like the rest of the residents currently in the Lab here to stay!
04/20/2017 at 23:34 •
After about a month we'd managed to get a final prototype done with all of the mechanical and electronic parts fully integrated into the MDF prototype I made pictured above (mind you this was after we literally tore down and disassembled what I thought was the final MDF prototype I had just assembled, Jean had other ideas involving a handsaw and a utility knife, results pictured below...)! Also, because we're currently using a C.H.I.P. to power the cabinet, and there aren't a ton of projects out there that use the C.H.I.P. to power game machines like this, I used a Pimoroni Picade PCB to get our cabinet's controls to connect and register control input on the C.H.I.P.
Next on the list of things to focus on was the recipient's experience while using the cabinet. We needed to make the prototype's hardware function more like an appliance. Top of that list are the following items: hiding linux's boot-up chatter on the cabinet's screen at start, getting the cabinet to boot directly into PICO-8 followed by a specific game, getting PICO-8 to work in full-screen mode, and getting the cabinet to go into a shutdown sequence when it's unplugged from an outlet to avoid corrupting of our software package. For the record, I intend to send this artifact to a variety of users, some from very technical backgrounds, others not. I need to make sure the cabinet experience is as frictionless and easy to use as possible given the mix of people we're sending them to. First up, I needed to get the hardware to autostart straight into PICO-8 like a NES game system would with a cart inserted into it. Looking around on the NTC BBS I found this shell script and installation instructional that user Xerxes Rånby created that makes the C.H.I.P. auto start straight into PICO-8, and implemented it in my prototype using his instructions.
Beyond the user experience related to boot ups, I next needed to make the artifact as hard as possible to break. With the autostart problem resolved, and the system immediately booting inot PICO-8, I now needed to resolve power shut downs on power disconnects to avoid corrupting my software package. This problem is not resolvable with software alone, and requires a hardware element that can hold a charge while the C.H.I.P. goes through its shutdown sequence. Thankfully the C.H.I.P. has a power management package and JST port I was able to use to plug in a teeny tiny battery, while a piece of software handles the shutdown sequence after a power disconnect! After a little more research on the NTC BBS I found this excellent little program and instructional made by user Steve Fords. Using Nano I edited his config file to initiate a shutdown when power was disconnected and after the little 3.7v 150mAh Lithium Ion Polymer Battery connected to the C.H.I.P. registered a 99% or less charge (which given the load it was driving is near instantaneous). None of this again would have been possible without John Edgar Park's generous advice and pointed questions/critiques via the countless emails we exchanged as I developed this portion of the project! He even came by the DesignLab to critique the V9 MDF prototype in person after I had finished my V9 prototype! All advice that I plan to put to good use on the next version of the cabinet!!! XD
04/25/2017 at 05:03 •
After a month in the lab we had managed to complete our prototype and had secured our residency! Feeling lucky I decided to focus my attention on the funding we needed to complete the project as proposed. You see when we applied to the DesignLab with this project, our proposal included a 40 cabinet limited edition run, with the intention of sending these 40 cabinets to an unsolicited group of influential, nerdy and socially conscientious creatives to inspire and activate them into helping us fight the planned defunding of the NEA, NEH, and CPB by the current Presidential Administration. In total I calculated we'd need to raise about $95k to make the project as proposed. This total includes costs associated with moving from the current MDF prototype to a final model made out of our targeted build materials (hardwood and plastic), the creation of a custom printed computer board, shipping, taxes, honorariums, and the streamlining of the workflow/processes (the design, engineering play testing and finalization of the cabinet's design) as we scale-up and get ready to transition into the production of the cabinet's limited edition run through this Fall as proposed to Dan, the DesignLab's Resident Engineer.
I first started out by making a list of companies who's products I was either currently using/planning on physically using in the project, or using to create the physical artifact. Starting online (in a Google search), I tried to find articles and mentions of the companies I was targeting talking about them sponsoring projects that were art + technology and/or social-action focused. When I found an article that made sense with what we were trying to do with this project I looked for the targeted companies employees handling (usually executives of some stripe) that had a hand in the initiatives mentioned or interviewed in the article. I then turned my attention to LinkedIn specifically looking at the companies I wanted to work with while looking at roles I thought touched on what I was doing, or who's roles at the company in question made sense with our project (eg, Marketing, Business Development, and CSR type of executives), and after my initial round of research (about a week in total) I widened my search to include nonprofits, foundations, and corporations supporting initiatives and projects like ours. I also talked to and met employees at companies I'd already made contact with, and reached out to friends and mentors I knew with the intention of generating new leads. For almost a month straight I spent my time researching, crafting emails+proposals (samples of which can be found in the "files" section of the hackaday page), cold calling people, and planning+having meetings with executives I'd made contact with. Using this process I managed to contact a little under 100 different individuals, groups, corporations, and foundations!
Thanks to the hard work I put into the business development side of the project, rinsing and repeating the process above through the month of April, I was able to confirm: the ArtCenter College of Design, Epilog, Next Thing Co, Pimoroni, and Sparkfun as project partners who have all agreed to give us various kinds of support! Oh, and let's not forget SupplyFrame by extension through the DesignLab! Thanks again to Dan, the Resident Engineer, who immediately saw value in our project after I presented our foam-core to him! Dan has been an ardent proponent and supporter ever since (honest hermano, he's kind of an awesome hombre, please don't tell him I said that!), putting us in front of multiple colleagues and acquaintances we could pitch the project to ever since! We're grateful to know that the many people like him I spoke to at the companies and organizations mentioned above found value in our project and call-to-action. We are proud to call them project partners!
04/27/2017 at 07:21 •
I'm hoping to get Maggie's notes and commentary related to her work creating the project's associated ephemera when she gets a chance...