[FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Completed sale threads will be moved here to keep things tidy in the main For Sale forum.
User avatar
Akina86
Posts: 11
Joined: Wed Jun 29, 2016 8:34 pm
Has thanked: 1 time

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by Akina86 » Wed Jul 06, 2016 10:09 am

Thanks for your help. sorry to be a pain, i'm so close to having my GB Zero finished that i'm going a little bonkers at this point. i'll stay tuned.

Nik14
Posts: 3
Joined: Sat Jul 09, 2016 5:53 am

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by Nik14 » Sat Jul 09, 2016 1:53 pm

What is the difference between the "pcb only" and the "fully assambled" option?

User avatar
kitsch-bent
Posts: 93
Joined: Tue May 10, 2016 4:15 pm
Has thanked: 31 times
Been thanked: 20 times

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by kitsch-bent » Sun Jul 10, 2016 7:53 am

Nik14 wrote:What is the difference between the "pcb only" and the "fully assambled" option?
the 'pcb only' is just the pcb. only that. the assembled version comes put together. the parts are soldered to it.
its full of Game Boy Zero stuff!!! -----> -----> -----> http://store.kitsch-bent.com

(^_^) *(^_^)* (^_^) >*(^_^)*< (^_^) *(^_^)* (^_^)

Image

User avatar
Akina86
Posts: 11
Joined: Wed Jun 29, 2016 8:34 pm
Has thanked: 1 time

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by Akina86 » Sun Jul 10, 2016 2:42 pm

Ok, so I waited a few days and nothing of any significance has appeared. I find this extremely frustrating and hard to understand why a board that you made has no support. This board was made for one purpose; to work in a GB Zero, and yet there is no script or tutorial how to use it. If this board was even tested once to insure that it was working, you should already know how to use it and easily be able to explain to others interested in this how to use it. It only makes sense to want to help people that buy your product because that influences future purchase by others. At this point all I can say is this board is useless to me and I can’t recommend it to anyone. I’m currently waiting on a board from Helder since the solder points look like they are easy enough for a hobbyist like me and it looks like he is active in his community addressing issues and repairs and HELP. I honestly don’t know why you are even selling these boards if you aren’t going to properly stand behind them.

Image

User avatar
kitsch-bent
Posts: 93
Joined: Tue May 10, 2016 4:15 pm
Has thanked: 31 times
Been thanked: 20 times

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by kitsch-bent » Sun Jul 10, 2016 9:49 pm

Akina86 wrote:Ok, so I waited a few days and nothing of any significance has appeared. I find this extremely frustrating and hard to understand why a board that you made has no support. This board was made for one purpose; to work in a GB Zero, and yet there is no script or tutorial how to use it. If this board was even tested once to insure that it was working, you should already know how to use it and easily be able to explain to others interested in this how to use it. It only makes sense to want to help people that buy your product because that influences future purchase by others. At this point all I can say is this board is useless to me and I can’t recommend it to anyone. I’m currently waiting on a board from Helder since the solder points look like they are easy enough for a hobbyist like me and it looks like he is active in his community addressing issues and repairs and HELP. I honestly don’t know why you are even selling these boards if you aren’t going to properly stand behind them.

Image
but, there is an example script on the product page, and i've continuously pointed that you should check out the datasheet for the MCP23017 IC. all the address information is there, and this board is used quite a bit in hobbyist projects. of course its been tested and working before it was offered for sale. i also see no reason that I would sell something that doesn't work, we agree on this. but, bear in mind, my customer base is not entirely from the RaspPi community and the most common hobbyist board is still the arduino platform, hence providing a script so people can see how it works with this is my initial priority. I've been selling the common ground PCBs for some time after being requested by the community who developed them to do this and the GBZ is basically just the most recent use of this type of board. it would not take long to convert this script to teensy (or whatever a user's platform might be), but doing so with RaspPi opens up too many unknown variables like the pins you are using and such and without it being addressed in a guide would cause a bit of confusion. with arduino, I2C is basically done on just two of the pins, almost always apart from the most advanced boards. the Wire library just defaults to those even, so there isn't much guess work.

GBZ is a DIY/hobbyist project, and these boards do certainly have an element of DIY to them, naturally. I will help how I'm able, but lately with the issues I've had in my home and that I'm getting married in..... like, 3 weeks, my free time just is not available in a manner to walk everyone through a DIY component with an element of coding. so, i can't tell you exactly how to edit your particular config file or anything else, but i'm not guilt ridden by this as they are, as is the whole GBZ build, a DIY component and some level of coding experience is not unreasonable to expect.

i'm sorry to hear you can not get it working. i will refer you once again to the script on the product page which includes each and every address pertinant to getting it working in any application such as this. whether its arduino, teensy, RaspPi, beaglebone, or whatever... all the relevant address information is in that script and the underlying logic is sound.

here is a google search for projects which use RaspPi in conjunction with this IC.
https://www.google.com/#safe=off&q=Rasp ... B+MCP23017

Its my goal to standardize this for this GBZ project (i.e., have an available file meant for use with this particular PCB), but I'm really lacking any time whatsoever to do this atm, so for the time being its sold as its meant, as a DIY project. this is no different to how an arduino is sold, or a RaspPi itself.... there is a basic functionality which is provided (like the LED Blink script everyone starts with on an arduino), but getting it to work in an individual's project is really up to that individual to a certain point. as is the nature of any breakout board.

again, the address for this device is 0x20.
you need to enable the pull-up resistors on both ports, so 'tell' them 0xFF (or the value 255 if this is how your code is working)

the example script lays out all the pertinent addresses pretty clearly. how to address the ports, the pull-ups, to turn them on, to set the ports as inputs rather than outputs.

sorry for your dissatisfaction. but, this board is not made for this single purpose, as the button breakout boards have existed for quite some time before GBZ was even a project. the provided script provides a foundation on which one can easily build and adapt it to their own needs. for whatever platform they choose. or, one can always read the datasheet for the IC which is how the arduino script itself was created. i explained it as easily as I know how.

here is the script, commented, and it cannot get easier than this to adapt to your project if you reference the google link above. unless you are following the GBZ guide to the letter, your build will need tweaking anyways, its no different than that:

Code: Select all

byte data_from_port_a; 
byte data_from_port_b; 

#include "Wire.h"

void setup()
{
  Serial.begin(9600);
  Wire.begin(); // wake up I2C bus
  
  Wire.beginTransmission(0x20); // this is the IC
  Wire.write(0x0c); // port A pull-up resistors
  Wire.write(0xFF); // turn them on
  Wire.endTransmission(0x20);
  
  Wire.beginTransmission(0x20); // this is the IC
  Wire.write(0x0d); // port B pull-up resistors
  Wire.write(0xFF); // turn them on
  Wire.endTransmission(0x20);
}

void loop()
{ 
  Wire.beginTransmission(0x20);
  Wire.write(0x12); // this is port A
  Wire.endTransmission();
  Wire.requestFrom(0x20, 1); 

  data_from_port_a = Wire.read(); // you want to read port A, meaning use it as inputs

  Wire.beginTransmission(0x20);
  Wire.write(0x13); // this is port B
  Wire.endTransmission();
  Wire.requestFrom(0x20, 1); 

  data_from_port_b = Wire.read();  // you want to read port B, meaning use it as inputs

  Serial.print(bitRead(data_from_port_a, 0)); 
  Serial.print(bitRead(data_from_port_a, 1)); 
  Serial.print(bitRead(data_from_port_a, 2)); 
  Serial.print(bitRead(data_from_port_a, 3)); 
  Serial.print(bitRead(data_from_port_a, 4)); 
  Serial.print(bitRead(data_from_port_a, 5)); 
  Serial.print(bitRead(data_from_port_a, 6)); 
  Serial.print(bitRead(data_from_port_a, 7)); 

  Serial.print(bitRead(data_from_port_b, 0)); 
  Serial.print(bitRead(data_from_port_b, 1)); 
  Serial.print(bitRead(data_from_port_b, 2)); 
  Serial.print(bitRead(data_from_port_b, 3)); 
  Serial.print(bitRead(data_from_port_b, 4)); 
  Serial.print(bitRead(data_from_port_b, 5)); 
  Serial.print(bitRead(data_from_port_b, 6)); 
  Serial.println(bitRead(data_from_port_b, 7)); 

  delay(10);
}
its full of Game Boy Zero stuff!!! -----> -----> -----> http://store.kitsch-bent.com

(^_^) *(^_^)* (^_^) >*(^_^)*< (^_^) *(^_^)* (^_^)

Image

User avatar
abrugsch
Posts: 971
Joined: Tue Aug 02, 2016 10:00 am
Has thanked: 356 times
Been thanked: 430 times
Contact:

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by abrugsch » Tue Aug 02, 2016 10:16 am

Akina86 I don't know if you've managed to resolve your situation but thought I'd give you a little nudge as it seems you're way out of the depth that KB thinks you are at.

so for the ELI5: what you have is a a board based on an MCP23017 which is a port expander that works over I2C (which is a serial bus)
now just hooking one up doesn't make the new GPIO's magically appear to the RPi as new GPIO pins that can be accessed in the same old way.
they need to be accessed through the I2C interface. this means you need a program that either 'polls' (checks the state) of the I2C bus or handles 'interrupts' (the I2C device saying to the system "Hey! I have something for you... Deal with it")
once you have the input handled, you need to translate that into a keypress or a joystick button press that the emulator will understand as an input.
That really needs to be a kind of driver and unfortunately KB gave you some nuggets based on arduino code and a vague link to a google search but missed out some key information to push you in the right direction.

as it happens someone has written a joystick driver for the MCP23017 so all you have to do is follow the instructions on this github page: https://github.com/recalbox/mk_arcade_joystick_rpi
and you'll get your control panel running in no time.

in fact retropie may even have the driver built in...

User avatar
Akina86
Posts: 11
Joined: Wed Jun 29, 2016 8:34 pm
Has thanked: 1 time

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by Akina86 » Tue Aug 02, 2016 9:02 pm

Thanks abrugsch, i'll have to check it out if i make another one of these. i purchased one of the boards from helder and got everything working and finally been able to move on with my life hehehehe. its funny how the expectation of something can drive you crazy until it is a reality. whats even worse than that is the fact that; now that i am done, i really haven't played with it much. it's so sad that after all that work, i really don't have much time to sit down and just play with it. thanks again for the post, this looks like something i should be able to follow to put this board to use!

User avatar
abrugsch
Posts: 971
Joined: Tue Aug 02, 2016 10:00 am
Has thanked: 356 times
Been thanked: 430 times
Contact:

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by abrugsch » Wed Aug 03, 2016 2:38 am

Akina86 wrote: whats even worse than that is the fact that; now that i am done, i really haven't played with it much. it's so sad that after all that work, i really don't have much time to sit down and just play with it.
Yeah... I've been building mine now for over a year and when it's finally finished i'm pretty sure i won't have time either (new baby...)
but the existence of this driver means i can do essentially this and free up GPIO for other things. I'm already using 2 MCP23017's in my project so adding a 3rd will be a no-brainer.

username
Posts: 11
Joined: Wed May 18, 2016 1:55 pm
Has thanked: 13 times
Been thanked: 1 time

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by username » Mon Aug 22, 2016 11:27 am

Does this version make it reasonably easy to forgo the Teensy and connect it directly to the RaspPi without a noticeable decrease in performance? I assume this also means additional programming of the RaspPi but if I can save space I'd be interested in this version over the "common ground dmg button pcb (A/B/X/Y version)". I was hoping to skip the teensy anyway.

vexxecon
Posts: 4
Joined: Wed May 04, 2016 10:58 pm
Has thanked: 7 times

Re: [FOR SALE] expanded dmg button pcb (i2c version) [WORLDWIDE]

Post by vexxecon » Fri Aug 26, 2016 1:29 am

username wrote:Does this version make it reasonably easy to forgo the Teensy and connect it directly to the RaspPi without a noticeable decrease in performance? I assume this also means additional programming of the RaspPi but if I can save space I'd be interested in this version over the "common ground dmg button pcb (A/B/X/Y version)". I was hoping to skip the teensy anyway.
This gets rid of the teensy and minimizes the number of things you need to wire up. I'm going to go with @helder's all in one board for my own build, but I'm still going to make another one for funsies(i have all the parts anyways), so this is the board I'm using for that. While I wait for one of the all in ones, I'm gonna get some stuff done for the other one, including a how-to for this pcb.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest