all | audio | badgelife | breakout | clocks | displays | experiments | feather | handhelds | home automation | howto | LED art | misc | props | robots | sewing | software | tools | no_category

FAME BOY

A contest entry to the "Hack Like Heck" contest

A contest entry to the "Hack Like Heck" contest. PI portable with integrated cartridge reader.

FAME BOY | FAME BOY - build log 6 - Hack Like Heck

2018-04-22 12:29:04

So I've decided on using the Mode 3 (2nd) of the pinouts for RGB565 as seen here https://www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/README.md

After a while I've figured out where to solder what cable and also managed to do the device tree overlay for the PI Zero W.

pi@retropie:~ $ sudo raspi-gpio get  
BANK0 (GPIO 0 to 27):  
  GPIO 00: level=1 fsel=6 alt=2 func=PCLK  
  GPIO 01: level=1 fsel=6 alt=2 func=DE  
  GPIO 02: level=1 fsel=6 alt=2 func=LCD_VSYNC  
  GPIO 03: level=1 fsel=6 alt=2 func=LCD_HSYNC  
  GPIO 04: level=0 fsel=6 alt=2 func=DPI_D0  
  GPIO 05: level=0 fsel=6 alt=2 func=DPI_D1  
  GPIO 06: level=0 fsel=6 alt=2 func=DPI_D2  
  GPIO 07: level=0 fsel=6 alt=2 func=DPI_D3  
  GPIO 08: level=0 fsel=6 alt=2 func=DPI_D4  
  GPIO 09: level=0 fsel=0 alt=  func=INPUT  
  GPIO 10: level=0 fsel=0 alt=  func=INPUT  
  GPIO 11: level=0 fsel=0 alt=  func=INPUT  
  GPIO 12: level=0 fsel=6 alt=2 func=DPI_D8  
  GPIO 13: level=0 fsel=6 alt=2 func=DPI_D9  
  GPIO 14: level=0 fsel=6 alt=2 func=DPI_D10  
  GPIO 15: level=0 fsel=6 alt=2 func=DPI_D11  
  GPIO 16: level=0 fsel=6 alt=2 func=DPI_D12  
  GPIO 17: level=0 fsel=6 alt=2 func=DPI_D13  
  GPIO 18: level=0 fsel=2 alt=5 func=PWM0  
  GPIO 19: level=1 fsel=2 alt=5 func=PWM1  
  GPIO 20: level=0 fsel=6 alt=2 func=DPI_D16  
  GPIO 21: level=0 fsel=6 alt=2 func=DPI_D17  
  GPIO 22: level=0 fsel=6 alt=2 func=DPI_D18  
  GPIO 23: level=0 fsel=6 alt=2 func=DPI_D19  
  GPIO 24: level=0 fsel=6 alt=2 func=DPI_D20  
  GPIO 25: level=0 fsel=0 alt=  func=INPUT  
  GPIO 26: level=0 fsel=0 alt=  func=INPUT  
  GPIO 27: level=0 fsel=0 alt=  func=INPUT  

And here is my complete stolen together config.txt file. I've changed the frequency to 9.6 MHz as baldengineer suggested here: https://www.element14.com/community/people/baldengineer/blog/2018/03/13/screen-success

dtparam=i2c_arm=off  
#dtparam=i2s=on  
dtparam=spi=off  
  
dtparam=audio=on  
gpu_mem_256=128  
gpu_mem_512=256  
gpu_mem_1024=256  
overscan_scale=1  
  
# usb network  
#dtoverlay=dwc2  
  
# enable the DPI display  
enable_dpi_lcd=1  
display_default_lcd=1  
  
# Set screen size and any overscan required  
  
overscan_left=0  
overscan_right=0  
overscan_top=0  
overscan_bottom=0  
framebuffer_width=480  
framebuffer_height=272  
  
# set up the size to 480x272  
dpi_group=2  
dpi_mode=87  
  
# set up the hsync/vsync/clock polarity and format  
dpi_output_format=0x7F013  
  
# set up the size to 480x272  
hdmi_timings=480 0 40 48 88 272 0 13 3 32 0 0 0 60 0 9600000 3  
https://cdn.hackaday.io/images/4508081524392779242.png
https://cdn.hackaday.io/images/7458311524392779440.jpg

FAME BOY | FAME BOY - build log 6 - Hack Like Heck

2018-04-22 12:29:04

So I've decided on using the Mode 3 (2nd) of the pinouts for RGB565 as seen here https://www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/README.md

After a while I've figured out where to solder what cable and also managed to do the device tree overlay for the PI Zero W.

pi@retropie:~ $ sudo raspi-gpio get  
BANK0 (GPIO 0 to 27):  
  GPIO 00: level=1 fsel=6 alt=2 func=PCLK  
  GPIO 01: level=1 fsel=6 alt=2 func=DE  
  GPIO 02: level=1 fsel=6 alt=2 func=LCD_VSYNC  
  GPIO 03: level=1 fsel=6 alt=2 func=LCD_HSYNC  
  GPIO 04: level=0 fsel=6 alt=2 func=DPI_D0  
  GPIO 05: level=0 fsel=6 alt=2 func=DPI_D1  
  GPIO 06: level=0 fsel=6 alt=2 func=DPI_D2  
  GPIO 07: level=0 fsel=6 alt=2 func=DPI_D3  
  GPIO 08: level=0 fsel=6 alt=2 func=DPI_D4  
  GPIO 09: level=0 fsel=0 alt=  func=INPUT  
  GPIO 10: level=0 fsel=0 alt=  func=INPUT  
  GPIO 11: level=0 fsel=0 alt=  func=INPUT  
  GPIO 12: level=0 fsel=6 alt=2 func=DPI_D8  
  GPIO 13: level=0 fsel=6 alt=2 func=DPI_D9  
  GPIO 14: level=0 fsel=6 alt=2 func=DPI_D10  
  GPIO 15: level=0 fsel=6 alt=2 func=DPI_D11  
  GPIO 16: level=0 fsel=6 alt=2 func=DPI_D12  
  GPIO 17: level=0 fsel=6 alt=2 func=DPI_D13  
  GPIO 18: level=0 fsel=2 alt=5 func=PWM0  
  GPIO 19: level=1 fsel=2 alt=5 func=PWM1  
  GPIO 20: level=0 fsel=6 alt=2 func=DPI_D16  
  GPIO 21: level=0 fsel=6 alt=2 func=DPI_D17  
  GPIO 22: level=0 fsel=6 alt=2 func=DPI_D18  
  GPIO 23: level=0 fsel=6 alt=2 func=DPI_D19  
  GPIO 24: level=0 fsel=6 alt=2 func=DPI_D20  
  GPIO 25: level=0 fsel=0 alt=  func=INPUT  
  GPIO 26: level=0 fsel=0 alt=  func=INPUT  
  GPIO 27: level=0 fsel=0 alt=  func=INPUT  

And here is my complete stolen together config.txt file. I've changed the frequency to 9.6 MHz as baldengineer suggested here: https://www.element14.com/community/people/baldengineer/blog/2018/03/13/screen-success

dtparam=i2c_arm=off  
#dtparam=i2s=on  
dtparam=spi=off  
  
dtparam=audio=on  
gpu_mem_256=128  
gpu_mem_512=256  
gpu_mem_1024=256  
overscan_scale=1  
  
# usb network  
#dtoverlay=dwc2  
  
# enable the DPI display  
enable_dpi_lcd=1  
display_default_lcd=1  
  
# Set screen size and any overscan required  
  
overscan_left=0  
overscan_right=0  
overscan_top=0  
overscan_bottom=0  
framebuffer_width=480  
framebuffer_height=272  
  
# set up the size to 480x272  
dpi_group=2  
dpi_mode=87  
  
# set up the hsync/vsync/clock polarity and format  
dpi_output_format=0x7F013  
  
# set up the size to 480x272  
hdmi_timings=480 0 40 48 88 272 0 13 3 32 0 0 0 60 0 9600000 3  
https://cdn.hackaday.io/images/4508081524392779242.png
https://cdn.hackaday.io/images/7458311524392779440.jpg

FAME BOY | FAME BOY - build log 5 - Hack Like Heck

2018-04-22 12:24:58

I have spent waaaay too much time on the design so far and I'm only at 75% of finishing it. It seems like the parts will arrive this Friday, so it's going to be a long weekend. I've set up a "war zone" for the project, a "FAME BOY only" table of 100 x 60 cm2. Today the button boards arrived from aisler.net, with a bit of drilling and snipping some plastic posts I was able to fit almost everything but the shoulder buttons. I've ordered a set of buttons again, this time in black! Every part you see needs to be reprinted though, to fit the shoulder buttons. I have the shoulder button design ready, and the bottom parts are ready for a draft print as well. I will try to fit everything in and then com back to the design later, when everything is placed.

So back to the "war zone", I need to fix the Game Boy cartridge reader. It won't start with the program but in the bootloader mode and I need to find out what that was all about. Then I can come up with a way to alert the Raspberry PI that there is a cartridge present. I don't have any diodes on the button pcbs, something I now regret because it's going to be tough to just add the cartridge state as one of the buttons. Ghosting could get tricky.

https://cdn.hackaday.io/images/9970251524392689074.png
https://cdn.hackaday.io/images/1831591524392689217.png

FAME BOY | FAME BOY - build log 5 - Hack Like Heck

2018-04-22 12:24:58

I have spent waaaay too much time on the design so far and I'm only at 75% of finishing it. It seems like the parts will arrive this Friday, so it's going to be a long weekend. I've set up a "war zone" for the project, a "FAME BOY only" table of 100 x 60 cm2. Today the button boards arrived from aisler.net, with a bit of drilling and snipping some plastic posts I was able to fit almost everything but the shoulder buttons. I've ordered a set of buttons again, this time in black! Every part you see needs to be reprinted though, to fit the shoulder buttons. I have the shoulder button design ready, and the bottom parts are ready for a draft print as well. I will try to fit everything in and then com back to the design later, when everything is placed.

So back to the "war zone", I need to fix the Game Boy cartridge reader. It won't start with the program but in the bootloader mode and I need to find out what that was all about. Then I can come up with a way to alert the Raspberry PI that there is a cartridge present. I don't have any diodes on the button pcbs, something I now regret because it's going to be tough to just add the cartridge state as one of the buttons. Ghosting could get tricky.

https://cdn.hackaday.io/images/9970251524392689074.png
https://cdn.hackaday.io/images/1831591524392689217.png

FAME BOY | FAME BOY - build log 4 - Hack Like Heck

2018-04-22 12:23:38

What a perfect fit of colors, but sadly this PLA wont print on both of the companies Zortrax M200. There's an option to load external materials on the Zortrax M200 for a while now and I was too shy to test it out (Zortrax is closed gcode and was closed filament). Since I've printed with PLA on my 2014 printrbot simple already, I didn't think there could be too many problems though and so I did a little trip to 3dk.berlin, that was 4 metro stations away from home. Sadly the printer won't even load the filament and after asking around in the zortrax user group on facebook it turns out that you have to use a hotend+nozzle purely for the PLA for "best results". Well no, I'll just use one of the white tones in the material that I know prints and have laying around. Bummer, had a great time in the store. Let's talk about getting a CR10 + custom color PLA after the contest.

[update] the acrylics for the screen protector went to my parents place instead to me. They were not there to receive it and the shop it went to is only open from 10 to 5, Monday through Friday. The eBay person was good enough to resend it though, so I can expect it to arrive on Thursday, almost a delay of one week.

https://cdn.hackaday.io/images/8910571524392593011.png

FAME BOY | FAME BOY - build log 4 - Hack Like Heck

2018-04-22 12:23:38

What a perfect fit of colors, but sadly this PLA wont print on both of the companies Zortrax M200. There's an option to load external materials on the Zortrax M200 for a while now and I was too shy to test it out (Zortrax is closed gcode and was closed filament). Since I've printed with PLA on my 2014 printrbot simple already, I didn't think there could be too many problems though and so I did a little trip to 3dk.berlin, that was 4 metro stations away from home. Sadly the printer won't even load the filament and after asking around in the zortrax user group on facebook it turns out that you have to use a hotend+nozzle purely for the PLA for "best results". Well no, I'll just use one of the white tones in the material that I know prints and have laying around. Bummer, had a great time in the store. Let's talk about getting a CR10 + custom color PLA after the contest.

[update] the acrylics for the screen protector went to my parents place instead to me. They were not there to receive it and the shop it went to is only open from 10 to 5, Monday through Friday. The eBay person was good enough to resend it though, so I can expect it to arrive on Thursday, almost a delay of one week.

https://cdn.hackaday.io/images/8910571524392593011.png

FAME BOY | FAME BOY - build log 3 - Hack Like Heck

2018-04-22 12:22:11

Still looking for the right material to print the case in, but on Saturday I will go to the store of a local filament maker, worst case scenario they could mix up a DMG colored PLA plastic. But I'm sure I'll be happy with one of their 5 greys they have in store so I don't have to pay 240 Euros for 5kg of filament. I also spoke to a friend of mine who works in the copy shop I used to work and he had some great ideas about the screen bezel. I might be able to grab some better new buttons and silicone pads as well. Exiting stuff! Here's a current "render" of the case, I've placed the raspberry pi on the left side and the battery pack on the right. I'm a bit worried about it not being well balanced and I'll have to see about that when I have the rest of the parts.

https://cdn.hackaday.io/images/4195461524392523703.png

FAME BOY | FAME BOY - build log 3 - Hack Like Heck

2018-04-22 12:22:11

Still looking for the right material to print the case in, but on Saturday I will go to the store of a local filament maker, worst case scenario they could mix up a DMG colored PLA plastic. But I'm sure I'll be happy with one of their 5 greys they have in store so I don't have to pay 240 Euros for 5kg of filament. I also spoke to a friend of mine who works in the copy shop I used to work and he had some great ideas about the screen bezel. I might be able to grab some better new buttons and silicone pads as well. Exiting stuff! Here's a current "render" of the case, I've placed the raspberry pi on the left side and the battery pack on the right. I'm a bit worried about it not being well balanced and I'll have to see about that when I have the rest of the parts.

https://cdn.hackaday.io/images/4195461524392523703.png

FAME BOY | FAME BOY - build log 2 - Hack Like Heck

2018-04-22 12:21:18

Much buttons - such board

I'm done with the boards for the buttons! that's the most sloppiest board I've ever "designed". My main focus was on getting the dimensions for everything right. Hopefully every plastic nibble has the corresponding drill hole. The angles should be right. The shoulder button might be on the wrong side of the board, but maybe it's just right for the biggest lever I could achieve with the buttons. Boards are ordered from aisler.net, a German oshpark.com "strive to be", hopefully the boards will get here within the next week. Designed with EAGLE, because there was no time to learn to do that in KiCad (I notice a theme here).

I hope I get this project done before my sister arrives, she will visit our home town right days before the end of this contest, so I need to steal some time before that. Now it's back to waiting for the results and further designing on that case design. From there it should be mostly soldering and programming that I can do from anywhere.

Thank you for reading this short log! I hope the naming choice is quite obvious by now - I started with my LAME BOY that had a lower resolution than the GAME BOY, so it's lame. The FAME BOY purely exists to become famous like Ben Heck - a vanity project to gain subscribers  Well I wouldn't have started something like it at least and this contest is about becoming a paid youtuber somewhat. Not so many choices with naming to come after that.

here's the git I've started for the project, currently only the boards are inside https://github.com/davedarko/FAMEBOY

https://cdn.hackaday.io/images/8259051524392454663.png

FAME BOY | FAME BOY - build log 2 - Hack Like Heck

2018-04-22 12:21:18

Much buttons - such board

I'm done with the boards for the buttons! that's the most sloppiest board I've ever "designed". My main focus was on getting the dimensions for everything right. Hopefully every plastic nibble has the corresponding drill hole. The angles should be right. The shoulder button might be on the wrong side of the board, but maybe it's just right for the biggest lever I could achieve with the buttons. Boards are ordered from aisler.net, a German oshpark.com "strive to be", hopefully the boards will get here within the next week. Designed with EAGLE, because there was no time to learn to do that in KiCad (I notice a theme here).

I hope I get this project done before my sister arrives, she will visit our home town right days before the end of this contest, so I need to steal some time before that. Now it's back to waiting for the results and further designing on that case design. From there it should be mostly soldering and programming that I can do from anywhere.

Thank you for reading this short log! I hope the naming choice is quite obvious by now - I started with my LAME BOY that had a lower resolution than the GAME BOY, so it's lame. The FAME BOY purely exists to become famous like Ben Heck - a vanity project to gain subscribers  Well I wouldn't have started something like it at least and this contest is about becoming a paid youtuber somewhat. Not so many choices with naming to come after that.

here's the git I've started for the project, currently only the boards are inside https://github.com/davedarko/FAMEBOY

https://cdn.hackaday.io/images/8259051524392454663.png

FAME BOY | FAME BOY - build log 1 - Hack Like Heck

2018-04-22 12:17:42

[blatently copied from e14]

Okay, wow - the competition is strong. So I thought in case I'm in the TOP10, I'd use that sweet screen and go another route, instead of using a classic DMG case! Here's a mockup of what I'd like to do, drawn in 123D Design, since I doubt there's enough time for me to learn fusion360 and finish the design in it. The cartridge reader is supposed to fit classic Game Boy cartridges and Advance games, therefor the dummy cartridge is a mix of both. This design is 20cm wide, so to prevent warping and early release from the build plate, I'm going to spilt it up and make it modular, but the controllers wont come of. While looking for pics of the switch, I sadly found a similar design rendered by an artist. But I guess that happens to every one and I like the design and want to go no with that. There will be shoulder buttons, too. let's see if I can fit everything inside and how thick it will be in the end :) 

Here is a test print of the controller buttons, all on one side, just to check how the buttons are fitting. With some minor tweaks this should be perfect!

https://cdn.hackaday.io/images/7424281524392067263.jpg
https://cdn.hackaday.io/images/9554451524392067057.jpg

FAME BOY | FAME BOY - build log 1 - Hack Like Heck

2018-04-22 12:17:42

[blatently copied from e14]

Okay, wow - the competition is strong. So I thought in case I'm in the TOP10, I'd use that sweet screen and go another route, instead of using a classic DMG case! Here's a mockup of what I'd like to do, drawn in 123D Design, since I doubt there's enough time for me to learn fusion360 and finish the design in it. The cartridge reader is supposed to fit classic Game Boy cartridges and Advance games, therefor the dummy cartridge is a mix of both. This design is 20cm wide, so to prevent warping and early release from the build plate, I'm going to spilt it up and make it modular, but the controllers wont come of. While looking for pics of the switch, I sadly found a similar design rendered by an artist. But I guess that happens to every one and I like the design and want to go no with that. There will be shoulder buttons, too. let's see if I can fit everything inside and how thick it will be in the end :) 

Here is a test print of the controller buttons, all on one side, just to check how the buttons are fitting. With some minor tweaks this should be perfect!

https://cdn.hackaday.io/images/7424281524392067263.jpg
https://cdn.hackaday.io/images/9554451524392067057.jpg

FAME BOY | TOP10 - woot!

2018-04-13 17:55:46

https://www.element14.com/community/docs/DOC-88580/l/act-6-grand-prize-winner-announcement

Time to go over the documentation (meaning write one)

FAME BOY | TOP10 - woot!

2018-04-13 17:55:46

https://www.element14.com/community/docs/DOC-88580/l/act-6-grand-prize-winner-announcement

Time to go over the documentation (meaning write one)

FAME BOY | It's time to vote :)

2018-04-05 18:18:42

Please consider registering to vote on the platform, as likes on the element14 community count the most!

https://www.element14.com/community/docs/DOC-89137/l/hack-like-heck-davedarko-fame-boy?ICID=Mfilmfest-contestant-widget

FAME BOY | It's time to vote :)

2018-04-05 18:18:42

Please consider registering to vote on the platform, as likes on the element14 community count the most!

https://www.element14.com/community/docs/DOC-89137/l/hack-like-heck-davedarko-fame-boy?ICID=Mfilmfest-contestant-widget

FAME BOY | A bit of a hmpf moment

2018-03-20 16:25:46

on the 13th of May the winners of the BOM  auditions were announced - on the 23rd the parts are expected to arrive here in Germany (send today, national winner packets were send on last friday). My plastics for the screen bezel were supposed to arrive last friday, hopefully it will get here on thursday. Ebay decided to redirect it to my parents place, so we had to resend it cause the dropoff place is open from 10 to 4... argh. I'm trying to print ABS now, seems like I have killed the hotend with the attempt to print with PLA. 

Meh.

FAME BOY | A bit of a hmpf moment

2018-03-20 16:25:46

on the 13th of May the winners of the BOM  auditions were announced - on the 23rd the parts are expected to arrive here in Germany (send today, national winner packets were send on last friday). My plastics for the screen bezel were supposed to arrive last friday, hopefully it will get here on thursday. Ebay decided to redirect it to my parents place, so we had to resend it cause the dropoff place is open from 10 to 4... argh. I'm trying to print ABS now, seems like I have killed the hotend with the attempt to print with PLA. 

Meh.

FAME BOY | feels a bit empty, for reasons

2018-03-18 18:54:11

There was an unofficial statement of "bonus points for blog posts" on the element14 community page for the "Hack Like Heck" contest, so that's why I'm posting my logs there and I'm too lazy to copy them over here. Wouldn't feel right either, so I admit to being lazy.

Here's what I have so far:

FAME BOY - build log 1 - Hack Like Heck

FAME BOY - build log 2 - Hack Like Heck

FAME BOY - build log 3 - Hack Like Heck

FAME BOY - build log 4 - Hack Like Heck

FAME BOY | feels a bit empty, for reasons

2018-03-18 18:54:11

There was an unofficial statement of "bonus points for blog posts" on the element14 community page for the "Hack Like Heck" contest, so that's why I'm posting my logs there and I'm too lazy to copy them over here. Wouldn't feel right either, so I admit to being lazy.

Here's what I have so far:

FAME BOY - build log 1 - Hack Like Heck

FAME BOY - build log 2 - Hack Like Heck

FAME BOY - build log 3 - Hack Like Heck

FAME BOY - build log 4 - Hack Like Heck