jfedor2 / flatbox Goto Github PK
View Code? Open in Web Editor NEWLow profile hitbox-layout fightstick
Low profile hitbox-layout fightstick
One of my buttons snapped off so I replaced it with another free button. Clicked right in and doesn't register at all. Each other button is still fine. Can some one help?
Also ,the gamepad-tester identifies flatbox rev5 instead of Xboxcontroller
I can't find the 3D file of the button, only the shell, I am Xiao Bai, please tell me how to get this. Did you refer to the file again?
Just wondering if you'd do a noir style for the button layout? Or would changing the pcb be a hassle?
Sorry if it's a silly question
After loading firmware onto the rev4 flatbox, it simply loops back to opening as RPI-RP2 rather than being detected as a controller.
So to reproduce:
Another bizarre thing is that I dont actually need to hold boot and reset, it always just opens RPI-RP2 by default?
The printing service I am using is asking for PCB size (dimensions) but it isn't listed anywhere on the repo
Hi.
the new design is great. sadly my ender3 is 8mm too small to print it,
so...
will be there a revison for ender 3 and similar (in size) printers?
These switches can use the keycap with the cross-style form. This opens much more options to choose from, like these:
Which could help people without access to good quality 3d printers and make their enclosures from wood, cardboard or other materials.
The model for the case top has 2.8mm diameter openings for the screws.
The instructions call for M3 screws, which have a diameter of 3.0mm. The instructions don't yet call for heat-set inserts, but following this video, I thought they would be appropriate: https://youtu.be/mK5Ez4Nguuw?si=9YgIthzJSPQkv2V7&t=352
When the inserts arrived, and I tried to heat-set them into the case top, and it mangled the print pretty bad. Looking back at the video, it looks like there is a wider area within the hole, and then a narrower area below, which is not present in the STL. In doing some research, it looks like they start at 3.5mm outer diameter and get bigger from there. I don't think these will ever fit well in a 2.8mm hole, no matter how well printed. After a while I put a screw into one of the inserts and jammed it in with a soldering iron, but I don't think the holes are going to line up well with the bottom anymore.
Can I get some clarification on the instructions, are you expecting the use of heat-set inserts? Is the M3 a typo, and we're supposed to be using M2 screws? Do you recommend drilling out the screw holes so that the inserts fit better? Is there a possibility the STL was supposed to have printed threading that is missing?
After flashing the firmware, I should be able to unplug the controller and have the controller be detected once it is plugged in again.
It initially detects the controller immediately after flashing the firmware according to the instructions. Once device is unplugged form PC, Flatbox is not detected by computer.
Version: Flatbox Rev4
Platform: Windows 10 21H2 & EndeavourOS
hello.
Thanks to your work, I am having fun making controllers.
I have a question about the choice of switch.
Please forgive me for my lack of knowledge about PCB.
Wait for your reply.
thank you
Hi,
I have soldered 2 pcb's and on both of them the start buttons is not getting detected. Being that anyway i have to configure these in steam i just skipped the button in the configuration process. The button presses are also not registered on the micro itself. for all other buttons the led flashes for the start button there is no flash.
Thing is i connected the button directly to the pin (ran a wire) and it still didn't register, Wich is weird. Any suggestions?
Side question, can't the micro be coded to be detected as a 360 controller by windows?
Kind regards
i was making a custom case for the flatbox and noticed after i had printed the first prototype that I failed to factor in the reset and boot switches, i then noticed that they were missing from the included step file as well.
Greetings!
First of all, thank you for this great project. I recently ordered 5 units from JLCPCB and unfortunately, they seem to be missing the R3 and R4 resistors. I can't power up and flash the memory because of this, most likely. I wish the reason is this, otherwise I just lost a ton of money :(
Below is an image of the PCB:
Can you enlighten me on what resistor to buy for these slots? I will solder them myself to save the PCBs.
Thanks in advance!
Not sure if this is a Steam Input issue or what, but I cannot get the triggers to "press down" no matter what settings I use. On Windows, switching to Big Picture mode gets the Flatbox to be fully recognized on SFV, but trying to use this on DNF Duel on a Steam Deck the triggers never respond.
I've been sitting on this project for a while now, trying to figure out where to find these screws. They're not available anywhere in my city.
I was wondering if there's somewhere I can order them from, preferrably in europe.
I'd love a variant of this that has the thumb button centered on the panel. This requires essentially adding some padding to the left side of the chassis. See for example the original HitBox Arcade.
Hi, im havinhg some troubles with the buttons.
pla+ one week of use were enoght to break some
petg is hard to put them (those little thingys that secure them on the switch breaks a lot)
any tips in this regard?
Are there any plans yet for a rev 6? It seems like USB passthrough is a killer feature now, seen on some of the recent Haute42 leverless controllers. I haven't seen a DIY option with this yet and it seems important for PS5 and Xbox support going forward. I also think the little screens we're seeing on more controllers are quite useful for seeing what mode you're in and what some of your settings are. There's also the recent trend of including extra buttons like seen on the Haute42 M16. Both for an extra up button and for LS/RS or other buttons you may want to use for macros in games like SF6. The upcoming GP2040-CE release (RC out now) sounds like it's going to make button remapping a lot more powerful as well.
Changing switches to something that can take different keycaps (as discussed in another issue) also seems worth doing considering the common problem of printed choc v1 keycaps breaking off in switches.
Is there a chance that rev5 cnc files will work for rev4 boards, or could they be modified to fit rev4?
How snug is the PCB inside the case? I would like to use your 1.1 design, but with an Arduino pro micro with USB C. This one is 1 mm taller than the micro b connector one.
Do you think it would fit?
Thanks for the great design files, really love your work.
I saw the model was updated, I assume at a quick glance that the size of the case was standarized vs. newer revisions? If so, is the PCB size also changed? Thanks for your time!
Hi J,
Put a switch on the board to test. I added the firmware just fine. Windows is detecting it as flatbox rev4.
Was detecting the button press just fine and then suddenly stopped. Now I've tried 3 boards, 5-6 switches, and non register the button presses. It was working then all of a sudden stopped, so I don't think it's a hardware issue. Any ideas I can try to troubleshoot this issue?
When I pull up the controller as a drive, should the uf2 file still be there? When I add it, it closes the drive. If I reopen it and it's no longer present. Not sure if that's as intended.
In the instructions, one of the parts listed are "12x Kailh low profile (choc v1) switches of your choice", but when I place the switches to the board, the center piece on the switch is too large to fit within the PCB, which prevents the switches from being solderable or fitting properly in the flatbox at all.
I am using the CPG135301D01 v1 switches with the cross-hatch port, rather than the v2 with the two-prong port. I have the rev4 version of the PCBs.
Is there something I am missing? A visual guide would be helpful as well for newcomers to the project.
It's probably my mistake somewhere BUT when I try to compile I am getting this issue.
Flatbox.ino: In function 'void sendReport()':
Flatbox:192:5: error: 'HID' was not declared in this scope
HID().SendReport(1, &report, sizeof(report));
^~~
Flatbox.ino:192:5: note: suggested alternative: 'PIND'
HID().SendReport(1, &report, sizeof(report));
^~~
PIND
Flatbox.ino: In function 'void setup()':
Flatbox:198:10: error: 'HIDSubDescriptor' does not name a type; did you mean 'hidReportDescriptor'?
static HIDSubDescriptor node(hidReportDescriptor, sizeof(hidReportDescriptor));
^~~~~~~~~~~~~~~~
hidReportDescriptor
Flatbox:199:3: error: 'HID' was not declared in this scope
HID().AppendDescriptor(&node);
^~~
Flatbox.ino:199:3: note: suggested alternative: 'PIND'
HID().AppendDescriptor(&node);
^~~
PIND
Flatbox:199:27: error: 'node' was not declared in this scope
HID().AppendDescriptor(&node);
^~~~
Flatbox.ino:199:27: note: suggested alternative: 'tone'
HID().AppendDescriptor(&node);
^~~~
tone
exit status 1
'HID' was not declared in this scope
when making the rev2, the list of materials needed seem incomplete. It looks like you need a usb-c female header. Is there any other materials needed to make this board?
I don’t know if it’s just me but the cnc files for rev5 won’t upload to jlcpcb, says it’s not the right format.
I'm building a few of rev 1.1 Flatboxes but I've bought usb-c version of the pro micro. it is slightly longer than the original pro micro so it wont fit. im thinking if you can release the working files so i can modify it to fit. thanks!
It's a little cheaper to source than the Brook PS4/PS3 board and more current, though would take some work on the PCB design
I remember seeing your first itteration was just a Arduino. Do I need the PCB? Can I just solder directly into the arduino? Is there a way to make the arduino work with the ps5?
Just soldered my own flatbox and tested out all the buttons. For the 6 switches I get from left to right: Start, Back, none, none, L3, R3
The soldering looks fine, but before I remove them I wanted to ask which buttons they are mapped to.
I saw that you need to directly solder the Brook pcb. Will using connecting pins interfere with the case?
So, I downloaded the GP2040-CE firmware for the flatbox rev 5 and none of the keys function how they are supposed to at all. It looks like the pinout is the stock Waveshare RP2040 configuration. Do you have any suggestions or maybe an older working version for download?
There is a required field called "Product Desc". I'm wondering which of the many options I should choose for the Flatbox Rev5.
Does the PCB support lighting? If so, what RGB LED's work with the low profile Choc switches?
What button is it to hold down to enter the web configurator on this pin out ?
Also have built 2 separate boards now and it doesnt seem like I get any response from SW2 is this normal, what is the default setup for this switch ?
Thanks !
Hi there, it appears you just rewrote the repo history 2 days ago erasing everything from before? I notice that you changed the tactile buttons to be 5x5x5mm now, with the case being redesigned to have parts that flex and act as button tops. Are there any other changes?
Would have been a lot nicer to preserve history and have commit messages describing what has changed, because I didn't even realise for a while. I just ordered 5 of the rev1 PCB the other day and I also ordered 5x5x8mm tactile switches already, so the new case design won't work with those and the old one seems to be gone now.
Thanks for sharing this project by the way, it's really awesome!
Hi,
Just a quick question about 3D printing the case. Did you opt for 100% infil on the print or did you find a lower infill % was good enough?
Many thanks,
Lumi
The Kicad zip file cannot be processed by easyeda, just wondering if it is an issue for this particular software only
I want to make the 6 function buttons in the upper left corner into prototype buttons. Is there any corresponding data or production suggestion
Hi, I've tried my best to find which pins are appropriate for soldering as the standard pins I'd use for an Arduino don't want to fit into the Rev3 board and it's not listed anywhere in the documentation.
I'm assuming a 2.5mm pitch with a .5mm pin would be small enough but I just want to be sure before I proceed, thank you. The standard size pins fit the brook PCB but not the custom PCB itself.
Have you run into erroneous double-presses on any Flatbox rev 5s you've built? What are some possible causes? To test, you can bind letters and such to keyboard mode keys in GP2040-CE and type in a text editor, or in xinput mode you can use something like Steam's virtual keyboard in the chat and see if you're getting multiple letters per press or if your dpad buttons move multiple places on the virtual keyboard.
I've run into this issue on at least two Flatboxes, I suspect all 10 I built have this issue but they're no longer all in my hands to test.
I do not have the issue on a Haute42 G16 from Aliexpress running the same firmware, or on an Open-Frame1 I built running HayBox firmware. The G16 and Frame1 have MX-style switches in common while the Flatbox uses chocs. Everything mentioned uses hotswap sockets.
The latest RC GP2040-CE firmware added a debounce setting in the web configurator that I played with a bit. Default is 5ms. If I crank it all the way up to 120ms it solves most of the chatter (I tried many lesser amounts along the way with less luck), but that's a ton of latency and shouldn't be necessary. I'm trying to track down what went wrong but there are so many variable.
One Flatbox I tested is using choc silvers and another is using choc whites.
I want to install 2040zero on the PCB in reverse, with the type-c interface facing downwards, which can save some space and make it thinner. But I can't write firmware, I can only wrap the wire around the PCB once. I hope you can share a new firmware for 2040 zero, which can be installed backwards on the PCB. Thank you.
I think there is room for improvement in how the tactile buttons are laid out. Something to differentiate every other key by touch would help (sorta like how piano keys have some separation by the black keys).
I was thinking something like an added texture or height difference in the case above them (maybe a line or a dome like homing keys on keyboards). It may also help to put some space between the first three and last three on the PCB so you can feel a gap and know where you are.
I've been playing a lot of PC games with my Flatbox rev 5 the last few weeks and the third button from the left is used for the Steam button on the Steam Deck, which is pretty important (accept game invite, join someone's game manually, quit game, etc.). It's very difficult to find quickly and hit blindly. I often second-guess myself and go back and slowly feel out the buttons one by one trying to make sure I'm on the third one.
If anyone has done some sort of mod to theirs to help with telling apart the buttons, I'd be interested in hearing about that as well. Maybe I could stick something textured on some of my buttons, like a small piece of sandpaper or grip tape.
I'd say besides the keycaps breaking, this is probably the biggest weakness of the Flatbox I've noticed.
I also find that these buttons are a bit hard to press. I was playing Hammerwatch, where the map is on the Select button by default and is something you need to reference pretty often, and I found it somewhat slow/exhausting to keep pressing Select. I did finally just end up shifting my bindings around and finding a spot for the map on one of the main buttons instead as a workaround. I'm not sure if the main source of the difficulty in actuation is from the inner button itself or the way the case flexes to press the button. I'm using Choc Silvers for my main buttons on the Flatbox, but I'm also used to typing on a keyboard with Kailh Box Navy switches which are fairly heavy but still much easier to press than these tactile buttons.
edit: I see now that there is a small gap between the groupings of 3 buttons already. I guess it's hard to notice in the heat of the moment still.
Greetings!
I recently ordered a new batch of PCBs and it seems like the flash chip of two of them are having issues. I can flash the software included in the repo and everything works properly but once I unplug and replug, the controller is no longer recognized.
I suspect this is because of a faulty flash chip. Are there any alternatives for the "Winbond Elec W25Q128JVSIQ"? This part is not available in my country and importing it would be very expensive.
Thanks!
Is the rev1.1 pcb designed such that I can flip the layout and solder the switches and buttons on the other side?
I've just seen this tiny Pico alternative https://www.aliexpress.com/item/1005003504006451.html which looks like it should be easy to design around and would allow for a much cheaper non-SMD RP2040 version of the flatbox. It has a variant that comes with pin headers as well, which would make the soldering really easy because if you had holes for all the pins on your PCB the builder would only have to solder on one side. Also it has USB C!
Hi.
I just was about to make a acrylic version, but looks like the files were removed.
will they be re uploaded?
and. thanks for your hard work.
Is there a guide somewhere to troubleshoot so that the flatbox rev 5 can work on the ps4 or ps5? I thought it can work on it, but like only 8 minutes or something like that.
I got it to work on the pc, where it is recognized as a Xinput device.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.