Giter Site home page Giter Site logo

flatbox's People

Contributors

jfedor2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flatbox's Issues

Replaced button won't work

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?

Where is the circular button file

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 a question

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

flat box rev4 not detected as controller after firmware loaded

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:

  1. Connect rev4 via USB
  2. Bolt boot + reset
  3. Copy pre-compiled firmware to RPI-RP2
  4. Windows unmounts and remounts RPI-RP2
  5. Disconnect and reconnect simply re-mounts RPI-RP2 rather than being detected as a controller

Another bizarre thing is that I dont actually need to hold boot and reset, it always just opens RPI-RP2 by default?

Case top heat-set inserts don't fit

The model for the case top has 2.8mm diameter openings for the screws.
Screenshot 2023-09-11 at 8 54 46 PM
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?

Won't Detect or Power After Firmware Flash and Unplug

Expected Behavior:

After flashing the firmware, I should be able to unplug the controller and have the controller be detected once it is plugged in again.

Actual Behavior:

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.

Steps to Reproduce the Problem:

  1. Plug USB into Flatbox PCB and PC
  2. Press the RESET switch while holding down the BOOT switch
  3. Mount and open "RPI-RP2"
  4. Copy "flatbox-rev4.uf2" to "RPI-RP2"
  5. Unplug controller from PC
  6. Plug controller back into PC

Specifications

Version: Flatbox Rev4
Platform: Windows 10 21H2 & EndeavourOS

About the choice of switch

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.

  1. Can I use Kailh Low Profile Backlight Switch on your PCB?
  2. If 1 is possible, does the LED work normally?

Wait for your reply.
thank you

start button not getting detected rev1.1

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

PCB design alternatives?

Don't have much experience with PCB design. I've been checking JLCPCB the past couple months, and a couple parts have been out of stock. Would it be possible to replace some of the parts with alternatives? Would it require a new gerber file?
(this is specifically for rev4)
JLCPCB

Quick Question Regarding Resistors

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:

PCBMissing

Can you enlighten me on what resistor to buy for these slots? I will solder them myself to save the PCBs.

Thanks in advance!

LT/RT Buttons don't get picked up by Steam Deck

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.

Struggling to find 3x10mm wood screws

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.

Any recomendations for 3d filaments?

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?

Future plans: USB passthrough?

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.

Rev4 cnc files

Is there a chance that rev5 cnc files will work for rev4 boards, or could they be modified to fit rev4?

More of a question

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.

Differences between Rev1 and Rev1.1

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!

Flatbox detected, buttons presses not registering

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.

Switches don't fit

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.

Error to compile the firmware.

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

Rev 2 additional material requirements

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?

Trouble with rev5 files

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.

release the working files for the cases?

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!

Question: Is the PCB needed?

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?

Button mapping for tact switches

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.

Soldering PCB of rev3

I saw that you need to directly solder the Brook pcb. Will using connecting pins interfere with the case?

Firmware not working

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?

JLCPCB CNC Machining Question

There is a required field called "Product Desc". I'm wondering which of the many options I should choose for the Flatbox Rev5.

how to get to web loader and Switch 2 Rev 5

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 !

Repo history rewrite..?

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!

3D Printing Question

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

About Function buttons

I want to make the 6 function buttons in the upper left corner into prototype buttons. Is there any corresponding data or production suggestion

Rev3 PCB Pin Header Sizes Not Listed

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.

Key chatter / double-pressing problem on multiple Flatbox builds

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.

2040 Zero firmware issues

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.

Improve tactile button layout

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.

Question regarding flash chip alternatives

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!

Flipped layout?

Is the rev1.1 pcb designed such that I can flip the layout and solder the switches and buttons on the other side?

Consider RP2040-Zero variant

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!

where did the acrylic version went?

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.

PS4 or PS5 not recognizing the flatbox rev 5

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.