Freeplay Zero Build - thoughts and questions
#1
I received both my RetroModding and Freeplay Zero packages yesterday and started working on the assembly after dinner. I am still not done but should complete it tonight or tomorrow.

Here are my initial impressions:
  • The packaging of the FPZ kit is great and professional. I liked the little touches like the printouts showing the right and wrong way to assemble. I also liked the little sticker on the the headers reminding users to check the orientation of the pins.
  • I bought a brand new "fancy" X-Acto handle and a package of blades. The plastic on the GBA shell is not easy to cut through. Vertical cuts that go straight down are manageable, and maybe scraping or shaving millimeters of plastic off are fine. But any sort of cuts parallel to the shell, especially for long lengths is extremely difficult and quite frankly, dangerous. I am not sure how people are pulling this off. I think these cuts might be possible with a box cutter blade (which are much thicker than X-Acto) but their size doesn't make it easy to work in small spaces. 
  • Definitely use a set of flush cutter (pliers). They are especially useful to get things started or to snip away vertical walls or posts.
  • The best tool though, is a Dremel. I used a bit with a ball tip that's probably meant for engraving. This worked great to chip away at the plastic and grind it down. It also is helpful to get the long short walls reduced around the LCD screen.
  • Triple check your marks for the X and Y buttons. I double checked, drilled them this morning, and they are mere millimeters (we are talking maybe 1/4 mm) off and my buttons don't fit. I am really annoyed at myself because now I have to enlarge my holes in a certain direction (making the hole oblong). I am worried about having too much space around the buttons once everything's installed.
  • Be really sure you seat the ribbon cable into the FPZ board securely. I thought I had it but it came slightly loose and I didn't get any display on a test startup.
  • Ed keeps updating the Google Doc instructions making things more and more clear. It's really awesome and appreciated.
Here are some general questions I have:

  1. The hot glue covering where the speaker wires connect to the board just fell off on its own. I was just handling the board normally, doing test fits and I noticed it on my carpet. I think one reason is it might have been too thick (easier to come off). Should I put a dab on there to replace it?
  2. The speaker cable is quite long which makes confused about where it should be routed. Should a slot be cut in the speaker slot wall to allow the wires to go through? How should the wires be folded, bent, to clear the frame?
  3. Without looking at the videos or images, my initial guess at how the LCD ribbon should be routed, was the complete opposite of reality. I don't remember if it'll reach but it feels like since it naturally folds, it would have been "neater" to have the LCD connection on the FPZ board on the opposite side. Or, get an LCD panel with the ribbon on the other side. The way it currently works, you have to double fold the ribbon which doesn't seem great.
  4. Is there any way to modify contrast and (especially) brightness for the LCD? It is SUPER bright and this hurts battery life and, in the long run, I am guessing the life of the screen. Even if it's a software solution where we can set it once, from the shell (and it'll modify the firmware of the screen?) would be ok with me. I am guessing I only need to run the screen at "level" 30 (out of 100) and it''d be perfectly useable
  5. I did a test boot with the screen and Pi installed, using the image provided by Freeplay. It did the initial boot, then there was an error something I didn't catch, then it automatically restarted and finally entered Retropie. The display looks good but it seems like maybe it's not centered correctly. This might change once I have it fully installed with the screen cover on (since there's a border). But I think maybe the overscan or some other settings need to be tweaked to shift the display.
  6. How do the button covers for the X and Y stay in place? They don't look like they have any tabs or anything. What keeps it from falling  out if you flip the GBA upside down? (I haven't tried it yet since I am still having problems with my drill holes).
Thanks!
Reply
#2
Okay. I'll try to address the questions and any other issues. I appreciate all that, because we're working to make this a great experience for everyone. It's not always easy for us to tell what a first-time builder might have issues with (now since we've done it so many times ourselves).

First, some answers can be found in the videos we (and other people) have posted. Yeah, I know you don't want to watch several hour-long videos to answer your questions, but you can skip around to try to find how we (and other guys) have dealt with these things.
https://www.youtube.com/playlist?list=PL...R3lxbe71sf

I will post my text, and then I will see if there's anything I can post photos of to make things more clear (for here and the build document).

General reactions to the impressions (for you and anyone else reading):
Some people like the X-Acto method, and other people like the Dremel. In retrospect, I guess that the build documentation that's available is likely skewed toward X-Acto, because that's what I'm comfortable with. When I build one up, I do almost everything with the X-Acto and a wire cutters. In some cases, I snip the plastic down and then clean it up with the hobby knife blade. This guy had a real nice/clean build, and he used the Dremel most of the time (https://www.youtube.com/watch?v=1F_rVmJi...sf&index=3).

For several reasons, the X/Y buttons are tricky, but the biggest thing is that they're right on the front face of the console. People will be much pickier about the look of these cuts than any others in the build. I've seen/tried several techniques. One good recommendation is to drill them just large enough that the button shafts fit through. Then, do the rest very slowly (maybe even by hand with a knife) a tiny bit at a time until the caps fit just how you want.

Yes, for anyone that hasn't used the LCD ribbon cable like this before (and even for people that have), the ribbon must be seated properly with the shoulders locked in place. It's good to boot the machine up with both HDMI and the LCD connected (before putting everything in the shell). The screen should go white when you press the ON button. Hold the ON button until the green light comes on. The HDMI will come on first and then the LCD should become a clone of the HDMI after a few seconds. If that doesn't happen, the LCD is likely not seated properly. We check both the PCB and the LCD before we ship them, so it is most a problem with this ribbon/connector if you don't see video on the LCD (if there is video on the HDMI). If there's no LCD output, it also could be that you used a different SD card image (like one directly from RetroPie).

Responses to questions
1) Don't worry about the hot glue. I think the next production run should have a different sort of epoxy there. At any rate, it's a bit of an afterthought anyway. The reason it's there at all is only to prevent the wire from bending where it hits the PCB. If the speaker swings back and forth a bunch of times (like when you're building the unit), the wire can break. We saw that happen on a few early builds, so we did 2 things. We added more solder, and we added the hot glue. That just keeps the wires from flopping right there. If you lost the hot glue, it's probably fine, especially once the whole thing is built. They won't be flopping around after that, anyway.

2) In fact, I think those wires are cut short compared to how they came from the factory. We already asked them to make them shorter. Smile You shouldn't need to cut any plastic for the routing of the speaker wire. What I usually do is to put the speaker in place and let the extra wire wrap around the "back" side of the PCB when the front side of the shell is attached. Then, when you put the back side of the shell on, you only need to make sure the wire is clear of any of the white circle areas on the PCB. That's where the shell ends up touching the PCB.

3) We have thought about putting this connector elsewhere, but there are several restrictions stopping us from doing that. The main reason, however, is that leaving this "length" of LCD ribbon cable allows the builder to place the LCD down and then still have plenty of room to get in there and adjust anything before securing the PCB to the shell.

4) The way the LCD is built, it has 3 (if I recall correctly) LEDs built in for the lighting. These are just wired (through a resistor) to the power to give them a constant brightness. There aren't any extra GPIO on the Pi Zero, so we can't connect them up to allow the software to control them. We have considered this for the Freeplay CM3, but (in fact) it isn't something we've added there either. As far as I know there is no way to change the contrast of that screen. I haven't heard anyone else have brightness issues, but it is something we should monitor in case it is a common issue. As far as battery life goes, it would be possible for us to change out some resistors on the board to decrease the brightness, but our estimates are that it would maybe only give 20min or so more play time (from 2000mAh of battery).

5) The "error" you saw was likely the messages from when it resizes the partition on initial bootup. What happens is that the SD card image is made to work with any SD card (that's big enough of course), but if you just take a 4GB SD image and apply it to a 16GB card (as an example) it will leave 12GB of space unusable. We use a tool that shrinks the image to the smallest size and then sets the image to automatically resize (to use the full SD card) on first boot. The drawback is that the first boot looks/acts a bit funky compared to subsequent boots. We used to use the overscan settings to control the display size, but we've recently changed to a different technique that happens during screen writing. It should be more efficient, but there is a small drawback in that it has to be specific sizes (maybe in 16pixel increments IIRC). The problem with the overscan approach is that it also affects the HDMI, so you would never get full-screen even when playing on your TV/monitor. Also, on top of this, if you look at the LCD itself, there's an area that appears to be part of the screen, but it's not actually. The way that the LCD sits in the GBA-style shell, that area would be the right side of the screen.

6) We use superglue to attach the caps. You probably could use Sugru or whatever. They just need to not fall off, because there's not really any force on them once installed. However, you made me realize that I need to get this info into the build doc!
As far as drilling goes, here are some videos.
https://www.youtube.com/watch?v=5qwiKOBXaqs (used a conical dremel bit)
https://youtu.be/b7zX67WjtSg?t=23m31s (starts at ~23min in)
https://youtu.be/1F_rVmJiN8g?t=23m16s (also ~23min in, and this builder is quite meticulous)
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#3
I have just added a bunch of new photos to the X/Y button area ("Drill holes for the X/Y buttons.") of the build document.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#4
Thanks for the information about the holes. Mine are pretty ugly but functional. I also finally understood what you were talking about with the shoulder buttons. You were talking about making room for the actuators (connected to the FBZ board) and not the should plastic button covers (that you press when playing games).

My speaker wires disconnected from the PCB and since they were through hole solders, I can't restore it. I just soldered them to the top of the covered holes hoping it'll work.

Quick question - there's a lot of mention of the power button (actually a slider, right) being a momentary switch. With just the bare FPZ board, I can see it's spring loaded and rests in the off position. However, when I put on the switch cover and the close the case, the switch is a sliding clicky, locking in the on and off position. Is this right or did I get some weird freak of a GBA shell? If that's true, how am I supposed to use it as a hotkey toggle like you explain in the docs (ie press and release)? Thanks.

Quick Edit: Two more questions - my d-pad isn't very clicky. It mostly works (sometimes down doesn't register) but it feels really mushy. I compared it to other dpads including a N3DS and they all have a distinct click click action while this one feels mushy. Is this normal?

Also, I made the mistake of configuring the GPIO gamepad. I don't think this is a big deal but I know the hotkey is connected to the power switch somehow. Is there anyway to edit a config file to "restore" this setting or do I have to flash the image again? I just put Select as the hotkey for now.
Reply
#5
Some more observations - the speaker sounds great, very crisp, hardly any white noise but did you know it goes in the opposite direction as the label on the shell? Looking from the bottom, rotating to the right should increase volume, but it decreases on the FPZ. Not a big deal but just funny.

Also, the charging microusb port on the FPZ seems super finnicky. If I move the cable even a little bit, the blue charging light turns off.

I take back what I said about the screen being off center. It's perfect and whatever theme/mods you made to the theme is very easy to read.
Reply
#6
I did a full update of installed packages (standard way through RetroPie setup menu) last night and it removed my controller settings. A bootup into RetroPie immediately launches the controller setup, saying no controllers detected. Is there a way to shell in and fix these settings or do I need to reflash? I am worried that any sort of update to the system could result in this issue again.

Also, the USB charging port issue was due to my cable which had a flimsy connector that kept coming loose. I also am able to confirm the charging light and circuit works because this morning the green LED was lit. Any help with the controls would be appreciated.

Edit: I was able to fix the controller problem with the instructions from the readme accompanying the sd card image. However, the steps are slightly different. I couldn't get the command to work so I manually went into the /usr/src folder and saw I had a slightly newer version 0.1.5.5. So I ran the build and install commands from there and updated the -v parameter to reflect the new version.
Reply
#7
Somehow I missed your responses. I'm sorry about that. There's a lot here for me to respond to, but I can't do it right now. I'll try to get to this with some information for you and everybody else that's reading soon.

About the power switch, there is a quick mod that you can do to cut off the little nub on the plastic. It's in our video, but I bet it didn't make it into the build document for some reason. Again I can't really check right now, but I will get back to you.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#8
No rush Ed. Thanks for all your help and support. I know this a bit of a rambling thread by now but honestly, I think it's a good log of what a first time build might look like and I am hoping it can help others be prepared in case they come across the same obstacles. The only issues I am having right now are:

  1. Each time I remove the batteries, I tug at the connector and am worried the wires will come out eventually. This is not a common case except initially when I need to make a lot of adjustments.
  2. I should have gotten a tri-wing aka Y screwdriver. Right now my case is only held on with two Phiips. My own fault
  3. I really am curious what the controller config file looks like and where it's located. I want to understand the button configuration.
  4. Even when I don't use the hotkey, I am able to press start and select to exit roms. Since my power button locks into place, the only way I use it is to slide it on until I see the green light (then i slide it off), to boot. Or I slide it on so it executes the setup script, then I slide it off and it shuts everything down. I know the meat of the functionality is to use it as a hotkey but I don't understand how this is advantageous over using the normal hotkey (select). Pressing select R Shoulder to  save is a lot easier than toggling power, then R shoulder. Also since my switch is not momentary, I am not sure if the hotkey functionality is even working. I tried all the combinations using select as the hotkey and it works fine. I must be missing something with power as a hotkey.
  5. My dpad is really sticky and unreliable. Sometimes I press left and down gets stuck and it starts scrolling the menu. I know this is not related to the FPZ thought it might be based on tolerances, position of the board etc. I got the buttons and rubber pad from Retro Modding. Are there different versions of the pad and button? Have you seen this issue in your FPZ or Game Pi Advance builds?
Reply
#9
I'll try to quickly address each of these. Please don't be afraid to re-iterate anything that you're still having issues with. In fact, I really appreciate that you're going by the documentation here, because it really helps to solidify that. Many people watch the videos only, and (of course) that information is really hard to update/edit.

(09-17-2017, 01:28 PM)sygyzy Wrote: [*]Each time I remove the batteries, I tug at the connector and am worried the wires will come out eventually. This is not a common case except initially when I need to make a lot of adjustments.
This is actually something we've discussed adding to the build doc, but I guess I never actually got it in there. Those battery connections are actually very solid. It also makes them difficult to disconnect. There are two (square IIRC) "bumps" on the top of the battery portion of the plug. They pop into place in the receptacle. You can actually shave them off with your X-Acto or wire cutter. Because of how the batteries fit on the compartment, there's not really any danger of these coming accidentally unplugged, so shaving these won't negatively affect anything. It'll just make it much easier to unplug.
(09-17-2017, 01:28 PM)sygyzy Wrote: [*]I should have gotten a tri-wing aka Y screwdriver. Right now my case is only held on with two Phiips. My own fault
Yes. This should be in the tools section. Many of the shells I've seen come with the tri-wing, but many don't. This is an oversight on my part. Thanks for mentioning it!
(09-17-2017, 01:28 PM)sygyzy Wrote: [*]I really am curious what the controller config file looks like and where it's located. I want to understand the button configuration.
There are actually 2 main ones.
"/opt/retropie/configs/all/retroarch-joypads/GPIO Controller 1.cfg"
"/opt/retropie/configs/all/emulationstation/es_input.cfg"

You can see a version of the Freeplay Zero cfgs here: https://github.com/TheFlav/Freeplay-Support
I have since made one minor change to the exit hotkey, IIRC (changed from HKY+SELECT to HKY+START).

If you want more in-depth info about either/both of these, just ask.
(09-17-2017, 01:28 PM)sygyzy Wrote: [*]Even when I don't use the hotkey, I am able to press start and select to exit roms. Since my power button locks into place, the only way I use it is to slide it on until I see the green light (then i slide it off), to boot. Or I slide it on so it executes the setup script, then I slide it off and it shuts everything down. I know the meat of the functionality is to use it as a hotkey but I don't understand how this is advantageous over using the normal hotkey (select). Pressing select R Shoulder to  save is a lot easier than toggling power, then R shoulder. Also since my switch is not momentary, I am not sure if the hotkey functionality is even working. I tried all the combinations using select as the hotkey and it works fine. I must be missing something with power as a hotkey.
If you re-defined a controller, you may not have defined a hotkey. If you didn't, then I think START+SELECT is the default for exiting. Also, the emulators that are named something like lr-systemname are built specifically for libretro. Those ones will use the libretro button configs. Other emulators (non-lr ones) will use their own defined (maybe compiled-in) button mappings. These non-lr emulators often just default to START+SELECT to exit. If I recall, offhand, the version of fba that's often used isn't a lr-emulator (even though there is a lr-fbalpha). That defaults to START+SELECT to exit even if you have a hotkey defined in RetroPie.
See https://github.com/RetroPie/RetroPie-Setup/wiki/Arcade

For cutting the nub off the power switch, see here. You only need to take the back off the FPZ to get access to it. You can keep the front of the shell connected to the PCB.
https://youtu.be/V4rKXcX7Iu8?t=50m30s

You can feel free to set the hotkey to anything you want. If you want to set it to the PWR button, you need to hit the PWR button twice (in the controller setup). The first time toggles the PWR button's special hotkey mode, and the second press basically just gives the system HOTKEY by itself. Otherwise, if you tap the PWR button and then SELECT (just as an example), it would give the system (PWR+SELECT). I know it's not intuitive, but it works well.

And why is it this way at all? The problem I kept encountering has to do with the GBA button layout. START+SELECT is actually quite good to exit emulators. EXCEPT in any game that uses either key during heated gameplay. There was a game that I was playing that required you to hit START during tense gameplay. Too often, I'd accidentally hit START+SELECT and just exit the game (without saving of course). It was quite maddening.

If that's not an issue for you, then go ahead and set up SELECT as your hotkey. It could work just fine for you.

I find that PWR works well as a hotkey, BUT if you have that nub on your PWR plastic, it's a terrible hotkey. Smile
(09-17-2017, 01:28 PM)sygyzy Wrote: [*]My dpad is really sticky and unreliable. Sometimes I press left and down gets stuck and it starts scrolling the menu. I know this is not related to the FPZ thought it might be based on tolerances, position of the board etc. I got the buttons and rubber pad from Retro Modding. Are there different versions of the pad and button? Have you seen this issue in your FPZ or Game Pi Advance builds?

I really think this isn't an issue with the PCB, but there's a chance that it is. If there were something sticky on the DPAD area of the PCB, that could definitely be a problem. What might be sticky? Is there a chance some of your hot glue ended up there? During soldering, sometimes flux can get on the board. I don't think we used the sticky kind on these boards, though.

What I might guess that it could be is how the rubber/plastic of the DPAD went together. I wonder if something isn't working quite right. Is is possible that the plastic of the DPAD has some little burr on it? The plastic (that your thumb presses on) should have a middle that goes through the rubber. If this isn't correct, it might not actuate properly.

Also, the rubber portion has 2 holes in its perimeter. They are meant to pop over 2 plastic posts of the shell. If they don't, the rubber pad could be out of place.

Google just popped up this result for me.
https://gbatemp.net/threads/improving-a-...ad.468162/
It not only shows some nice photos, but it talks about improving a mushy dpad. It seems rather worth a try for you.

What else should we talk about (maybe tomorrow)?
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#10
Oh, by the way, yes, I've encountered that problem where it scrolls the menu. I didn't realize that was the problem we were talking about until I re-read it. Do you have any sticky/unreliable issues during gameplay? Is it just in the EmulationStation menu system?

What I prefer is to turn off the option that's called something like quick system select. I don't have it in front of me right now, so maybe that's not actually the name. Anyway, when you're in a system (like SNES) game list, you can go up/down to scroll. If you hit left or right (using the quick system select), it will change systems (to like NES or whatever). I find that feature pretty annoying overall. Usually, if I turn it off, I don't encounter that sticky problem with the scrolling. I think it happens when you jump over to another system while you're also hitting up or down. Then it's like stuck until you hit something else.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)