Framework Joystick Modules - Turning your Frame.work 13 into an Handheld - Coming Soon!

Have you ever wanted to have a Steam Deck, but you don’t want to carry another huge device with you? Or maybe you just don’t want to manage and care about another machine? Or maybe you are a student, and you are too broke to have a portable gaming console, but you have a Framework laptop (me)?

Then fear not! We got something special for ya. With our product, you can make your laptop a handheld! And those Joysticks work not only as a gaming tool but also as a mouse giving an entire new dimension to the usability of your machine. Coming soon!

Jokes aside, this is a project I’ve been working on for quite some time and I am finally getting to the finish line, so I wanted to know what you think about it. I leaked some info before in this thread, but now I am going full public.

A little bit more details: Joysticks work as 2 separate generic USB devices, so NO drivers required! Should fully work on Linux, Windblows, BSD, and even Mac (gaming Hackintosh anyone?). The 5th button on the top is used to switch between the modes: joystick; mouse with programable mouse buttons; mouse with preprogrammed keyboard shortcuts, and RGB (because gaming!) LEDs are used to indicate the mode and power status. There’s also a small but usable trigger button. The entire device is tiny.

I am also very open to any ideas suggestions, and ways to improve it. I will see what still can be done now and what can be improved in future revisions, so pls feel free to like, share, and comment! I already saw some ideas in some threads on this amazing forum.

In the future, I will start a Kickstarter campaign, or something similar, so if you are interested then stay in tune!

Building stuff like this part-time requires a lot of determination. It was blood, sweat, and code because I want to make it into a daily usable product, not just a proof of concept, so if you want to support getting this through the finish line and show a sign of appreciation then pls donate through the link below. This will also be very helpful to cover some of the costs of prototypes and development. Thx!

https://www.paypal.com/donate/?hosted_button_id=YBUA8L77X8GBW

34 Likes

Absolutely amazing, looking forwards to seeing the finished product!

2 Likes

Can it be configured etc through QMK? If not currently might be worth looking at as an alternative to a configuration button. Just a thought.

1 Like

Amazing!

I see potentiometers on the joystick. Why not use hall effect sensors? The Dreamcast had them and there are mods for the Steamdeck so you can replace the joysticks with hall effect ones. The reason being that most controllers use potentiometer joysticks not because they are good, but because they are cheaper. That is why stick drift and short lifespans are such a problem. I’m still using my original controllers with my 25 year old Dreamcast with no issues because Sega was smart enough to use hall effect sensors. You should be as smart as Sega was.

1 Like

That’s a cool idea, but ergonomically, I believe it would be better to modify it so that the joystick and buttons are positioned on top of the keyboard of the laptop. They would be placed over the “suppr” button on the right and the “esc” button on the left. However, this design would prevent the laptop lid from closing. Nevertheless, it would offer a better gaming experience.

Alternatively, you could utilize the two bottom module slots to attach handles for a more secure grip.

1 Like

I didn’t know about this. This actually might be a good idea. For now the device appears just as a generic composite device to the PC (mouse, keyboard, and joystick), and the button just changes which report to send to the computer. Any gaming mouse software should be able to keybind the buttons. I know that Microsoft has also some tools for Windows to do that. On Linux there’s an insane amount of utilities to do that.

I wish it was that simple. I actually started by researching the hall effect joysticks, but without going into too much details, there are multiple reasons to not do this.

Price is one of them, but also the complexity of the design has to go up because of the necessary amplifiers, but the biggest issue is simply the availability of those modules. Potentiometer based joystick are already hard to get from suppliers, but hall effect ones are basically impossible, and I would need also the documentation.

It is doable but it is not trivial. It might be something for the future revisions.

1 Like

@Fish I know what you mean - GPD Win Max 2 kinda style. The thing is that I wanted to use a decent joystick boxes and those are 2x thickness of the laptop.

The thing is that you don’t hold the laptop by the joysticks. You can, but it’s very uncomfortable. The idea is that the laptop lays on your palms and your fingers wrap around the joysticks. This is very comfortable.

Which MCU are you using? The RP2040 has a become popular choice for qmk.
And if you haven’t run across it yet, qmk does support potentiometer analog joysticks https://docs.qmk.fm/#/feature_joystick. Also mouse buttons, keyboard shortcuts, layers, macros, RGB animations, haptic feedback. Even oled displays if you wanted. :face_in_clouds: Vial can provide a GUI for configuring. Win,Linux,Mac apps + web browser option. https://get.vial.today/

I put QMK/Vial on my 15 button mouse. It’s fabulous.

1 Like

On the Framework 16, that idea may translate well into a new input module.

I am using STM32F042F6P6. STM development tools are amazing.

QMK looks very cool, something for the future.

QMK supports STM32 devices

I believe some have used the F042 in the past, but I’d suggest stepping up to higher spec STM32 chips for QMK.

The people on the QMK discord are very helpful https://docs.qmk.fm/#/support

Yeah, that’s why I developed everything from scratch. I am pushing it to the limits already, but the beauty of this chip lies in the fact that it can run USB on the internal oscillator. That’s why I love it.

F072 can do crystal-less usb too. Offers a bump up in specs.

Is it available in TSSOP20 though?

I’m not seeing that option

That’s the other cool part about F042F6

You’re just doing your boards with a soldering iron? Reflow my friend, it can set you free. :grin: Hotplate reflow can be easy to start with, I’ve done it on a stovetop :fried_egg:

@MJ1 I am using soldering iron only for very big SMDs like those tact switches and THT