Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Bitdo Boy - 3D printed Gameboy style bluetooth phone controller sleeve  (Read 9985 times)

0 Members and 1 Guest are viewing this topic.

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
FINISHED:
Tinkercad files are linked to in reply #18: http://forum.arcadecontrols.com/index.php/topic,152133.msg1596901.html#msg1596901
Assembly instructions are in the post following that one.



ORIGINAL POST:
I hardly ever play games on my phone because I hate using touchscreen controls for anything other than puzzle games.
The goal here is to approximate the feel of a gameboy while keeping the package somewhat minimalist.

After doing some research and reading reviews, I settled on using an 8bitdo Zero bluetooth controller.



Although I had measurements beforehand, this thing is smaller than I expected.  The buttons are about 2/3 the size of original gameboy buttons.
Still the width of the controller means that the board and buttons can just be swapped into another housing without having to hack much.
I tested the controller with retroarch, John GBS, & MasterGear.  It worked good with all of them.
The buttons and D-Pad have a good feel to them.  They have a good amount of travel and only take a light touch to activate.



I was hoping the battery was on the bottom so the thickness could be cut in half.



The two halves were held together with a small amount of glue.  There were alignment pegs, but no clips.
The glue broke loose fairly easily by prying them apart with a heavy guitar pick starting on top the shoulder buttons.
The battery was indeed on the bottom and only held in place with some thin double sided tape which easily separated.







Since the spacing on the D-Pad and buttons are nearly identical, it's tempting just to flip the thing upside down and then remap the emulators so the charging port will be on the bottom.
Having start and select on top would bother me though.



The select and start buttons are made a little differently.
They each have a post in the center that presses a blister button on the pcb.

« Last Edit: December 10, 2016, 09:11:08 pm by BadMouth »

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #1 on: October 30, 2016, 04:37:02 pm »
The shoulder buttons came right off after applying a little pressure to them.
Originally I planned to just ditch them, but after messing around with the emulators, I may add them somewhere else and utilize them for emulator functions like exiting games.
Still might not though, as the emulator menus are displayed in such a way that you'd have to remove the phone from the sleeve to see them anyway.

To have a template, I cut off the alignment posts and scanned in the front of the controller.
Another nice thing about the way this controller is built is that the PCB is screwed down to the front, so I can incorporate the mounting posts into my 3D printed design and the PCB will be aligned correctly with the openings.





I did a quick mockup in a raster program and printed out actual size.
Here is what I'm going for:



I'm actually getting a new phone this week, so I'll probably wait until I get that before going much further.
I'm also new to 3D modeling & printing so this project is probably going to take me a while to get done because of the learning curve.
If anyone else wants to take the info here and beat me to the punch, go for it!


Slippyblade

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3167
  • Last login:June 05, 2024, 10:30:57 am
  • And to the death god we say, "Not today!"
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #2 on: October 30, 2016, 04:44:59 pm »
Cool project, sub'd!

PS: Where did you buy it?  Link please.
« Last Edit: October 30, 2016, 04:48:59 pm by Slippyblade »

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #3 on: October 30, 2016, 04:45:04 pm »
If someone wanted something useable and didn't care what it looked like, you could just get one of these cheap cases:


cut the window bigger, extend the battery leads, hot glue the front part of the 8Bitdo controller on the front of the case, & glue the battery below it.
Ergonimically it would be the same thing I'm doing, but would only take a half hour or so.

Slippyblade

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3167
  • Last login:June 05, 2024, 10:30:57 am
  • And to the death god we say, "Not today!"
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #4 on: October 30, 2016, 04:51:25 pm »
Nah, the "Cool Guy" design and fab is what makes these projects neat!

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #5 on: October 30, 2016, 07:06:16 pm »
PS: Where did you buy it?  Link please.

https://www.amazon.com/Gam3Gear-Wireless-Gamepad-Controller-Shutter/dp/B01F32ABFI/ref=sr_1_1?ie=UTF8&qid=1477868126&sr=8-1&keywords=8bitdo+zero

There are other sellers on amazon as well.

I made a bit of a mess of the PCB removing the micro usb port.  Too impatient to change iron tips or go buy stuff to rig up a hot air system.
I'll know if I really messed it up or not when the micro usb breakout board comes in sometime this week.
So the USB port is definitely getting relocated to the bottom now.
I'm still deciding on how to handle the indicator LED.  The easy way would be to just mount a clear LED above the surface mounted one on the PCB.
It wouldn't be hooked up, but just act as a window for the light to shine through. 
The light would be facing you though, which kinda sucks.


BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #6 on: October 31, 2016, 12:20:10 pm »
I think I can pull this off in TinkerCad, which will speed up the process.
This is just a first try to learn how to do it.  The button holes are correctly sized and spaced.  The mounting posts are not correctly spaced.  The slots to align the buttons aren't there yet, etc.  But I'm learning how to pull this stuff off.
I'm not combining any of those building blocks into one piece until I've got my new phone.  I guess I should keep a version with them separate so they're easier for other people to resize.  There will be a flat square plate that rests on the ledge to protect the front of the phone.  The back will mirror the curve of the front, but I haven't decided how to attach it yet.  Everything needs to be serviceable.  There will be two holes for the sound to pass through at the bottom.  The charging port will probably be in the middle.  Dunno about the LED indicator yet.

Just wanted to share my progress since I don't think it's half bad for a first project.


BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #7 on: November 03, 2016, 03:44:41 pm »
Trying to extend the microUSB port has gotten the better of me.
I tried my smallest soldering tip and used wire from a patch cable, but just couldn't get the job done working at that small of a scale.
I've lifted and broken half the traces.  I took some pics, but had trouble transferring them from my new phone.
The controller still works, but I'm not sure if the battery can be charged directly.

Because of that and wanting to get a useable prototype printed faster, I'm going to cop out on quite a lot.
First, I plan on buying a new controller after all the prototyping is done and leave the microusb port right where it is.
Second, instead of trying to accurately model all the posts and openings of the front of the controller, I'm just going to leave a big hole that the front half of the controller's plastic shell can be fitted to.
Cosmetically, I think it will look better anyway although I wish it didn't have to be all the way at the top edge for the charging port to be usable.

So here is the direction I'm going (the back is still real rough, just a concept at this point):


I still need to make it prettier, align stuff & make some holes for sound and phone charging.
One of the things I've been pondering is how to attach the front and back.
I've decided to just use tiny screws in the sides.  There will be a recess for the screw heads.
The battery leads will still need to be extended and the battery will have it's own compartment.
For the LED, I'm going to rig up something where the one on the current PCB will be reflected to a little window on the front.
A spare clear LED didn't work very well.  I suppose it's only meant to propagate the light it's generating, not light coming in from the sides.

Tired of tinkering with it for now, but think I've got my direction.
My goal is to have a prototype 3D printed this weekend.

The current design can accept phones up to 75mm wide and 10mm thick.
I plan to line the inside with felt tape or microsuede.
It covers up the bottom 65mm of the phone.

EDIT: The entire shell is 85mm wide and around 20-22mm thick.
« Last Edit: November 03, 2016, 03:58:59 pm by BadMouth »

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #8 on: November 03, 2016, 05:05:04 pm »
Most of the walls are 2.5mm thick.
Anyone with experience 3D printing have an opinion on that.
Too thick?  Too thin? About right?

Sent from my Life One X2 using Tapatalk


BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #9 on: November 05, 2016, 09:21:46 am »
Found some time to tinker with it this morning.
For the LED, I made a slot that the translucent block from the original controller can fit in.
I'm hoping that enough of the light from the LED on the PCB will get to it to be visible.

Still need to make the top end look a bit nicer and put in the recesses for the screws.
There is also an issue to work out with the alignment of the curve of the back edge with the back piece.
I hope to attempt a print tomorrow evening.


Le Chuck

  • Saint, make a poll!
  • Wiki Contributor
  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5509
  • Last login:June 14, 2025, 06:26:06 pm
  • <insert personal text here>
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #10 on: November 05, 2016, 11:15:02 am »
I'm no help when it comes to 3D printing advice but this is totally fun to watch.  Keep it coming man!

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #11 on: November 05, 2016, 11:57:28 am »
Thanks!   

I learn a lot faster from mistakes, so I went ahead and started printing the front piece.
That way I can see what doesn't come out right and then figure out why.
It should be done in a couple hours and then I'll see how stuff fits.

I'm so grateful for Tinkercad at this point.  With basic building blocks and some ingenuity, I was able to create what I wanted in just a few 2 hour sessions. (I did go through the tutorials and some youtube videos about a month ago) 
Exported a .stl file from Tinkercad, opened that with Cura, set the infill to 100%, exported in G-code format to a microSD, and now it's being printed.  :applaud:

The most likely thing to go wrong will be the overhangs or the phone charger opening drooping.
If so, I'll just go back and give it sharper edges and some supports.

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #12 on: November 05, 2016, 04:47:22 pm »
Looks better in person than in the pic, although it does has some artifacts from the way the pieces fit together in tinkercad.
The most pronounced are recessed lines next to the corners.  (I did align everything) 

I'm happy with it for a first attempt....at least it was a successful print.
The openings and overhangs I was worried about aren't going to be an issue.



First major screwup: The opening isn't large enough for the controller front to settle down in.
I must have measured wrong.  :-\ (EDIT:  measured correctly, but must have resized the part in Tinkercad at some point)
The height of the LED block opening is good, but it needs widened the tiniest bit.


The biggest thing is that I want my thumbs an inch higher.  It's workable as is, but just doesn't have the right feel.
It needs to be long enough that the bottom can rest on my pinky fingers.  That is what I think would feel right.
I can take it up about a half inch further before the playfield starts getting covered.  The playfield is resizeable, but I don't want to shrink it.

« Last Edit: November 05, 2016, 05:19:30 pm by BadMouth »

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #13 on: November 06, 2016, 12:51:08 pm »
Longer version of the front piece is being printed.
I have the middle divider and back ready to print, but will wait and see how the front fits first.




This is how far the phone will extend into it.  I didn't want to add anything too permanent to keep the phone propped up.
I'm leaning toward putting tabs on the back part, since that part would be easier/cheaper to print and swap out.
I still may do something adjustable or cut to fit.



I couldn't locally find tiny 3 or 4 mm screws like I'd planned to put into the sides.
Ebay from China is an option, but it would be a bag of 1,000 and take too long to get here.
So, I'm still not sure how the front and back will be attached in the final design.

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #14 on: November 06, 2016, 04:52:36 pm »
well, Tinkercad seems to have crapped out on me.
I went back to print the divider and all of my designs give an error.  I even tried to make a new one from scratch, but that craps out too.
Tried 2 different browsers on 2 different computers.  I sent a support ticket.
I was hoping to have a complete Rev.2 to post, but oh well.
Here's the front, which came out better than the last one.

Artifacts much better this round, but still there on the right corner.  I'm assuming that I'll have to learn how to use another program to eliminate them completely.  I redid the build surface with a self adhesive PEI sheet rather than masking tape used in the last round.
Bottom layer is much smoother, although you can see where every bubble in the PEI was.  (I could not see them when installing it...maybe blisters from the heated bed?)




The opening for the controller still isn't 100% right.  I think I'm trying to make the tolerances too tight.
I will add more wiggle room to the next revision.  Same goes for the cutout for the translucent block for the LED.  It fit, but was way more trouble to get in than it should have been.

MAIN THING WHEN GLUING IN THE CONTROLLER IS TO TAKE IT APART SO YOU DON'T GET GLUE ON THE BUTTONS!
The glue will run straight into the B button hole...which it did.  I had to take it apart, sand, work a little with an exacto, etc.
Now I know for next time.



It's still not as useable as I was hoping to accomplish this evening.  The back part is needed to keep the phone centered.
Trying to prop the phone up off the bottom and keep it centered while playing is a PITA. 
Hopefully they'll straighten out my tinkercad designs and I can still get the back printed tonight.
(The LED window worked out well)



EDIT: The controller itself works great!  It just feels right.  No noticeable lag, buttons only require a light touch.

DOUBLE EDIT:  I must still have some muscle memory kicking around because I had to reverse the A and B buttons for it to feel right.
« Last Edit: November 06, 2016, 06:36:18 pm by BadMouth »

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #15 on: November 08, 2016, 10:12:29 pm »
It turned out to be a sitewide issue with Tinkercad.  Took them a couple days to get it working again.

The divider is just a plain plate.



Just added tabs to prop the phone up to a proper height.
The idea is that someone else will be able to move them to the proper spot for their own phone before printing.



This is how it fits together.  I don't like that I can see light through a gap in the bottom.  The next revision will have some type of overlap there.



It just fits my phone with the case on.  The phone case keeps the front from contacting the screen. 
Future revisions will have some extra room for felt tape or something similar.



....pretty much exactly what I had in mind.  ;D



The next revision won't be much different than this one.  Mostly making it prettier and finding a better way to attach the front and back.

thomas_surles

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2118
  • Last login:September 13, 2024, 06:34:49 pm
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #16 on: November 11, 2016, 09:40:34 am »
I like it. Good work.

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #17 on: December 03, 2016, 11:37:55 am »
Been busy, but I do plan on making this a more polished design and making the files public.
Hoping to get a lot done on it tomorrow.

The design was becoming too big in tinkercad due to all the unseen "hole" objects used to shape the parts.
I copied and pasted individual parts to their own build, exported them to stl, then reimported them so they are only one single piece.
(Instead of the four boxes and six "hole" objects that went into making them).
This round I'm keeping resizing for different phones and ease of assembly for random yahoos on the internet in mind



The last thing to work out is a system for connecting the sides.
My current plan is to have it keyed so they slide together, but with a flexible section and latch near the bottom so it locks into place.
Where the latch is, there will be a hole through to the outside so it can be pressed and released.

I need to print test parts to test tolerances and flexibility.

« Last Edit: December 03, 2016, 11:59:38 am by BadMouth »

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - Gameboy style bluetooth phone controller sleeve
« Reply #18 on: December 06, 2016, 09:42:10 pm »
I'm waiting for a different color filament (smurf blue!) before doing the final print and tutorial on installing the 8bitdo Zero.
The design is progressed enough that I feel comfortable going ahead and putting it out there though.
This is sized for a Blue Life One X2 in its factory case with a thin layer of microsuede.
You'll most likely have to resize the design for your own phone.

Front: https://tinkercad.com/things/14BLxmGMUgC
I tried to make it simple to resize, for width anyway.
The green parts are grouped and can be resized.
The holes are separate objects and their size will not be affected by resizing the green parts.
After doing that and realigning the side, re-center the blue and "hole" parts.


Divider: https://tinkercad.com/things/ivE4pQ5P4iM
The notch for the USB port goes toward the bottom facing away from the front.
After making the back more curved, I had trouble keeping the USB cable hole big enough.
This is probably the only thing that still might change.

Back: https://tinkercad.com/things/evSloCseXef
orange tabs are grouped and can be moved up or down (in tinkercad) to adjust the height of the phone.
(run the emulator and see how much of the phone needs exposed for it to look correct)

« Last Edit: December 10, 2016, 09:12:01 pm by BadMouth »

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - 3D printed Gameboy style bluetooth phone controller sleeve
« Reply #19 on: December 10, 2016, 08:44:09 pm »
HOW TO ASSEMBLE:

Use a heavy guitar pick to pry apart an 8-bitdo Zero starting at the shoulder buttons.
(Leave the protective film on the controller face until the end)


Remove the battery from the back of the PCB and extend the battery leads 3 inches.  Keep the doubles sided tape side of the battery facing up.
We're going to rely on reusing it.  You could get away with leaving the battery in place if you made the front face a few mm thicker.


Disassemble the rest of the 8-bitdo Zero so that glue does not get into the parts when the faceplate is glued on.
Place the faceplate of the 8bitdo zero on the front panel and align it using the USB opening at the top for reference. 
There are a couple flat edges there that should fit fairly precisely.  The rest of the opening allows for some wiggle room.
Glue the faceplate in place using a couple dabs of superglue (I used gel).


The top of the faceplate should be flush with the top of the 3D printed housing.


After the top has set, add a couple dabs of superglue at the bottom.  I used a bottle to keep it pressed down while the superglue set.


When the dabs of superglue are dry, go all the way around the edge.

Using a small screwdriver or exacto knife, pry up on the tabs on each side of the translucent white LED window in the 8bitdo zero back.
It should pop off easily.


Using tweezers, place it into the printed front panel.  Be careful, it will go flying if you squeeze the tweezers too hard.
Use tweezers to get it started, then press it in with something solid.  It should come out flush with the front.  Ad a dab of glue on each side.


After the glue dries, reassemble the 8bitdo zero into the front panel.
It helps to keep it elevated off the surface you're working on so the buttons don't press against the stuff behind them and lift them out of position.
(prop the bottom part of the 8bitdoboy up on something)

All the parts are keyed so there is only one correct way for them to go back in.
The D-pad is keyed on this corner:


The rubber contact pad for the buttons is flat on this side:


Route the battery wiring and stick the battery to a lower compartment using the original double sided tape.


If you want to add a layer of microsuede to line the interior, now is the time.  Be careful not to extend it into the channels the back will slide into.
(I went back and added it after taking the following pic.  I also messed up and didn't allow enough room on the edges for the sides to slide together)


Put the divider in place, shiny side toward the phone.


Slide the back into place.  If it doesn't slide down all the way, check the bottom of the channels for imperfections that may need cut away.


Peel off the protective layer, pair it with your phone and you're done!







This was printed in PLA on my monoprice mini and fits together real snug.  It feels like it snaps into place at the bottom even though I didn't incorporate any latches.
I printed this blue one in much thinner layers and higher heat.  I don't really think it made it any better.  The ridges on the sides from the print just feel like a part of the design.
I'm new to 3D printing, so your results may vary and I probably can't tell you how to correct for it.
« Last Edit: December 10, 2016, 09:30:41 pm by BadMouth »

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9269
  • Last login:Today at 07:10:16 am
  • ...
Re: Bitdo Boy - 3D printed Gameboy style bluetooth phone controller sleeve
« Reply #20 on: December 10, 2016, 08:44:23 pm »
One thing to add...

The A and B buttons were in reverse order on the original gameboy. (B then A)
They can't be swapped on the 8bitdo Zero because the tabs for them are oriented differently.

I found that the games felt more correct if reversing them in the emulator, even though it may make on-screen instructions more confusing.
Could just be muscle memory from playing these games long, long ago.\

EDIT: I also kind of wish that I'd just made the bottom flat.  It won't sit upright with the current rounded bottom.  That would also allow for a bigger opening for the charging cable and more interesting speaker holes.
« Last Edit: December 11, 2016, 12:54:31 pm by BadMouth »

05SRT4

  • Trade Count: (+5)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1092
  • Last login:May 15, 2025, 05:08:07 am
  • Check out my Pow Pow
Re: Bitdo Boy - 3D printed Gameboy style bluetooth phone controller sleeve
« Reply #21 on: December 10, 2016, 08:53:17 pm »
Pro plays with the tinkercad. Once you learn the whole grouping thing its not that bad and can produce great results. Thanks for sharing the links ill have to give this a try.