The Framework Veranda, Another Sub-300mm Wide Framework Gamepad

  • What is this?

An upgradeable, modular Framework powered gamepad, not unlike the Steam Deck.

  • Why? PitstopTech and CNC Dan have already done something similar. The Deck, Ally and Legion Go already exist, just buy those.

While PitstopTech and CNC Dan absolutely have made some great devices, I figured I would offer my own riff on the idea. I’ve been kicking the idea around in my head for about a year, but didn’t have the time (full time student with a job and college coursework) or the design skills at the time. Once I saw that this was, in fact, possible, it got me thinking. Then, I made the mistake of fiddling with a ROG Ally display model, and realized this was something way neater than I originally thought. After being in the 3D printing space for a couple years and remixing some designs, I felt pretty good about trying to make this thing.

  • What’s different from what PitstopTech and CNC Dan’s designs? Why should I be interested when it’s already been done?

Both Dan’s and PitstopTech’s designs are great, but I had some concerns. For instance, Dan’s NUCDeck required some mildly involved modification of off-the-shelf parts, usign tools that maybe not everyone has. Additionally, with Dan’s 7th gen i5 running at a TDP of 15W, the gaming runtime was a bit too short to compete with devices of comparable cost. Sure, you could upgrade to a 13th or 14th gen (when available) NUC, but those TDPs are much higher in an already short-running device.

A few things I noticed with PitstopTech’s design were mainly thermal, and usability issues, along with parts availability. I understand that this was a prototype design and not finalized, and I want to give credit to PitstopTech for their work on this idea. It really was an inspiration to take a swing at making something similar but different, while appreciating and recognizing the amazing work PitstopTech has done. With PitstopTech’s design, I noticed there were no fan cutouts on the design, which means the fan has possibly been choked out, reducing performance. Additionally, I noticed that there was no power button/switch to turn on the device, outside of poking the button on the mainboard with a spudger. As to parts availability, PitstopTech mentioned selling a kit to build the device, which made me think that some specialized/customized/non off-the-shelf parts were required. Some also have made comment to the significant display bezel used on the display, which I would like to stress that the design shown in PitstopTech’s videos was a prototype, and maybe was not the “final release” display.

While i was designing this, towards the end I also noticed that the Joycon metal rails might be a pain to source. So, in my searching, I found the OneXPlayer rails from happydonut over at Printables. I did my best to add these into the design so that we didn’t have to go and hack up a set of JoyCon metal rails. They fit better with the design, and are cheap to replace and easily replaceable by the user, with cutouts into the casings to enable this.

  • So what did you do to be different?

The first thing was making a design with off the shelf, globally available parts anyone can get, whether that’s online or even at your local hardware store. If you want to build it, I wanted to make sure you could find parts without having to modify them to get a functioning device. Things like USB adapters, cables and JoyCons can be sourced from Amazon, and the display from a global supplier, with parts/BOM listed below. All parts are user replaceable and easily repairable.

The second thing I wanted to focus on was thermals. I’d racked my brain before starting thinking about how to case this thing in a way that didn’t completely choke it out. Enter WhatTheFilament’s Frametab. WhatTheFilament’s Frametab was another huge help in getting this thing off the ground, and I cannot thank them enough for releasing STEP files for the housing. Without them, this probably would never have happened. To make the housing, and make it printable, I mashed up WhatTheFilament’s housing with the official printable case. First, I cut WhatTheFilament’s case in half and folded it like a taco, to create a front and rear housing. Then, I enclosed all the sides and cut holes for the display VESA pattern and cable, and heat set inserts for the controller rails. This design resembles the official Framework printable case. Using this, I cut the case in half, so that it can fit on any 3D printer that’s a Prusa Mini or bigger, with the T-channels from the official Framework case. With that out of the way, I then did some chamfering and USB-extension cutting to get the rear (now top) USB-C ports out of the housing. The left bottom USB-C is used to drive the display over one cable. The added bonus of using WhatTheFilament’s tablet was that there was a printable power switch, which solves the issue of turning the device on. With the USB ports on top, you can both charge and use an EGPU at the same time. The display has a headphone jack and speakers, solving multiple issues in one.

The final thing was making it a similar size to existing devices like the Deck, Ally and Go. The official size of the housing, not including joycons, is 292.5 x 133.4 x 34.4mm (or about 11.5 x 5.25 x 1.35in, for all my fellow Americans, Liberians and Myanmarese folks out there). That puts the housing at narrower than a Deck, thinner than the Deck and Go, and slightly taller than the Go. As for weight… no idea yet. I planned on using the AMD 7840U board with the 61WHr battery, and weight would also depend on what material you printed the housings in, infill percentages and JoyCons used.

  • Why call it the Veranda?

What is an elevated deck called? A Veranda. Get it? Funny pun, right?! I’ll just leave that one be.

  • So how big is this thing?

I saw someone on here earlier this week say “I wish we could build one of these under 300mm wide…” And so, after seeing that, I chopped as much as I could out of the case to get this thing to be under 300mm. In its current version, I’ve done it, with it being 298.087mm wide without controllers, 133.4mm tall, and 37.4mm deep. It’s as wide as a Deck, slimmer than the Legion Go, with a bigger battery than all of them with equivalent horsepower to a Z1 Extreme. The top of the CPU fan has 5.5mm of space between it and the bottom of the battery. There are fan cutouts for intake and exhaust, with speed holes in the bottom edge to further hopefully help with heat.

  • How much would this cost to build?

In my version, with the BOM attached, using the 7840U board and a 61WHr battery, you’d be looking at about $1018 USD with 16gb of RAM and no NVME in late 2023 money, if you bought all the Framework parts directly from Framework, and didn’t have anything already. That price also isn’t including small hardware or inserts. It’s entirely possible to source cheaper RAM and cheaper antennas for this project, however for the sake of keeping it simple, I just priced these through Framework.

  • That’s too much.

Maybe. It depends on your priorities. The early handhelds (like the GPD line, OnexPlayer and Aya stuff) were expensive when they launched too, and this option is comparable to the price of the laptop. Performance is essentially equivalent to a Z1 Extreme.

  • Why would I pay 300+ extra over the Ally for a worse display, no support and the same performance?

Easy. The name of the game here is upgradability. When the Z1 Extreme can no longer run games, what are you going to do with it? Use it like a laptop/tablet/desktop for general computing purposes? Maybe, I guess. Or maybe it sits in a drawer, or becomes e-waste. That’s why I made this. So that you can upgrade it to meet your needs, over time, just like the Framework laptop. Sure, the upfront cost is expensive. But if you have to buy an Ally today, and upgrade to the newer model when you need it, that’s at least $1400. Now compare that to this design. $1018 up front, plus the cost of a mainboard with equivalent specs, very well might end you up at a lower cost, with less parts being wasted after the upgrade. Just like the laptop, use the old motherboard as a desktop, TV streamer, HTPC, whatever you can come up with. Or, if you need more graphics horsepower, just use the device with an EGPU when or if you need/prefer to.

  • Alright, you’ve convinced me. When can I print this and make it?

Right now! All my STEPs, F3Ds and STLs are available on Printables, for free, under a standard free use license. Remix it, mod it, destroy the files, do whatever you want. This is just a crude base (I’m admittedly awful at Fusion and CAD, and am not an engineer by trade, just a guy in his living room with a hobby) which people can build and modify, just like I have done for this design. If you;re familiar with the PrusaCaster, that’s what I want this to end up being; just a big, collected web of designs, tweaks and remixes to suit your needs.

  • I don’t have a 3D printer. Can I buy it prebuilt from you?

No. It’s a FOSS DIY project. 3D printing services are readily available online that can do all sorts of different materials, with the parts and tooling available worldwide.

  • I’ll pay a lot of money. Will you build it for me now?


  • My stuff doesn’t work. Do you do hardware troubleshooting?

No. That’s part of the journey and being in the maker space. I’ve been the Corpo IT Hardware Support Guy™, and let me tell you, I’m never doing that again.

  • Will there be a kit available?

Due to the nature of this project, there won’t be. I don’t have the time or knowledge to set up a distribution network and deal with suppliers, shipping, stocking and orders. I’m just a guy in his living room making things I think are cool.

  • Do you have a website or social media I can follow?

Oh heck no.

  • Will you update the files?

Um… maybe. This is a hobby for me, and I already have a full time job that keeps me plenty busy. I don’t want to oversell or overpromise and disappoint people by saying I absolutely will and not follow through. If I have the skill, and the time, I’d love to take a swing at a V2 design.

  • Well darn. I think that about covers it. What if I have more questions?

Toss’em down below or drop me a line. I’ll do my best to answer questions if you send them over.

Credits Time:

I’d like to give a huge thank you to Framework, PitstopTech, WhatTheFilament and CNC Dan for their work in this space, and showing their processes and ideas to the world. Without you all, this wouldn’t have ever been made. You folks are awesome, and deserve the credit for your respective designs.

Links to the projects referenced:

PitstopTech: Framework Gaming Handheld Video!


CNC Dan: GitHub - dmcke5/NucDeck: The Open Source DIY Handheld Gaming PC!

OneXPlayer Joycon Rails: Onexplayer 2 - Rail Cover with Nintendo Switch Joycon Adapater by happydonut | Download free STL model |


Printed Parts:

  • One rear reft housing
  • One rear right housing
  • One front left housing
  • One front right housing
  • One switch
  • Switch spacer.
  • Left and right printed joycon rails (Yes, left and right. They’re picky and only go to one side).

Print Notes: I’d definitely use an infill higher than 25%, probably closer to 50% just to be safe. Throw 3 or 4 walls at it for good measure. We want the housings nice and rigid, but we also aren’t printing guns here. Speaking of, PLA or PLA+ isn’t going to cut it here. WhatTheFilament used ASA or ABS, which would work great for this. Additionally, I’d imagine PETG would be alright with a higher infill, or PC/Nylon if you can. Those have their own challenges, however for a bombproof housing, they’re a solid (haha, 3D printer pun) option. Use your favorite infill pattern here, so long as it’s not Cura’s Lightning infill, and your favorite support settings where needed. For orientation, lay the flattest, largest sides on the build plate. Do not, under any circumstances, print these on their edges. Because of how Fusion likes to mess with this design, in your slicer, you might have to play hide and go seek with getting the part onto the build plate. The front case halves will need to be flipped in your slicer.

Parts needed:


  • Apply superglue to the alignment dovetail sections that will hold the case halves together. Slot the left and right segments of each case halve together, making sure that all sides and edges line up. Only do the front and rear halves for now.
  • Install 8 m3 heat set inserts into the rear housing that line up to hold on the front housing.
  • Install the 4 m3 inserts for the rails into the rear housing.
  • Following WhatTheFilament’s guide will get you a majority of the way there, where we only need to follow along with steps 2, 3, 4, the wifi card portion of 5 and step 8, installing heat set inserts for the holes remaining ias pictured.


  • Install the USB4 male to female adapters into the housing by connecting the male end of the extension into the female end of the 90 degree adaptors that we installed on the mainboard in the previous step. The female end of the USB4 extension should protrude out of the rear housing.
  • Connect the other two USB4 Male to Female extension’s male USB-C plug into the female ends of the USB4 90 degree adaptor elbows to make two USB Extension Assemblies ™.
  • Plug one of these assemblies into the lower left port on the motherboard pointing downwards.
  • COnnect the male end of the male to female USB4 extension into the Touch and Display port on the display. On the female end, connect the male end of the male to female 90 degree USB4 connector into the female plug on the male to female USB4 extension.
  • Install the display onto the front housing with the 4 M4x6(?) bolts, with the side that we installed the extension on in the previous step being on the left.
  • Install the battery into the front housing as per WhatTheFilament’s guide in step 7

(, taking care NOT TO PLUG IN THE BATTERY YET. Trust me fella, we’re almost done here.

  • Connect one end of the flexible USB-C display cable into the extension assembly on the motherboard. APEXSUN Vebner and Rixmie maybe should all fit… I think.
  • Route the other end of the flexible USB-C display cable through the square hole in the front housing and connect it to the screen’s extension assembly.
  • Now comes the fun part! Carefully plug the battery into the mainboard.
  • Finally, install the 8 M3x8 screws in the front case, threading them into the heat set inserts in the rear case until tight.
  • Install your JoyCons onto the rails and power on the device!
  • From here, you’re free to install the OS of your choice, bind your controllers via bluetooth, and flip your display in the OS settings if needed.

    Rear Right.stl (531.6 KB)
    Rear Left.stl (554.5 KB)
    Front Right.stl (302.4 KB)
    Front Left.stl (327.4 KB)
    Switch Spacer.stl (26.1 KB)
    Left Rail.stl (60.9 KB)
    Right Rail.stl (61.3 KB)


I’ll see if I can get a more steam deck like setup made. Though it would probably only be for the Framework 16 unless there is a cheap enough Framework 13 complete mainboard around.

Yeah, not they’re not the most ideal setup for controls, but they’re relatively cheap, available, and work. Pitstop had them working, OneXplayer had a similar style of controller, and obviously the legion go does too, so the concept seems to work. If Lenovo ever sells the Go controllers standalone, that would be a much better option I think, but for now, for what this is and what I want to accomplish with it, the 'Cons are it.

1 Like

Yeah. Its kind of a this functions solution, even if it is kinda bad thing. Particularly with long playing periods. It does look pretty funny to see them attached to a giant brick though. But yeah, I’ll do some work so that steam deck hardware will work with it. And have a more steam deck like chassis for it. They did an excellent job with the grips and balance.

Do you happen to have a video showing it working?

The stock switch controllers are probably a bit small, the only saving grace to them is that you can rest your middle, third and pinky finger on the back to be a bit more comfortable. That was my immediate hand position they gravitated towards when I tested this. Additionally, you could print grips that attach to the JoyCons that give them a more deck-like profile(Nintendo Joycon Split Comfort Grips by Tron08 - Thingiverse or Joycon Grips by user98765 - Thingiverse). Additionally, third party controllers like Nyxi and Binbok appear to be far more ergonomic for less, even when they have hall effect sensors in the sticks. I know people use those and love them with the OXP2, so they should be a solid contender.

I just don’t really get the bad rap that JoyCons have. There’s plenty of ergonomic options, they’re inexpensive and available, and it removes the need for designing a PCB, weird adapter boards to convert other controllers or other general MacGuyvering that would be needed to make an integrated controller for a design like this.

As I don’t have a Framework main board I missed out on their dev board program I guess), the best I have is a fully printed prototype, with fully modeled main board and battery inside to check clearances, fit and finish. I do know the general concept of Joycons and an external touch display works as per PitstopTech’s video linked in the OP, so using a similar setup with proper fitment of the components, I don’t see why it wouldn’t work.

It is mostly lag, and reliability. They just don’t last long. Supposedly it has been fixed, but they are still not as reliable as a regular fixed controller. People don’t want to have to buy stuff over and over.

Oh. So this is untested. Well, I’ll see if there is someone who is going to make it.

If someone knows a joyCon option similar enough to the steam deck in feel and function, let me know.