Help with making first clone?

Well, Ive got the screen working successfully (thanks so much!) but unfortunately not the buttons. Or, the directional buttons may or may not work, but the a and b (or left and right) buttons dont work for sure, as Ive just tried uploading the ardubreakout example, and it says to ‘press fire’ but neither button work.

I have a and b wired into 7 and 8, as labelled by the table, and I have all six of the buttons wired up so the positive is in one side, and on the other is data, then the appropriate resistor draining to ground.

Also, I may or may not just need to try a different power supply, so as soon as I can do that (later tonight) ill update. Thanks again!

1 Like

The button inputs in this case are using the Arduino’s internal pull-up resistors, so you do not need to add your own resistors.

As an example, these are the only connections you would need to wire for the button on pin 7:

So… here you have GND from the Arduino connected to the Ground rail of the breadboard, pin 7 connected to one side of the button, and the other side connected to the Ground rail.

When the button is pressed the input is pulled down to ground, and when it is released the internal pull-up resistor pulls it back up again.

Also helpful is a look at the internals of the button (borrowed from here):

5 Likes

Ah, thanks so much, I saw the drawing of what a button looked like internally, but wasn’t sure how it correlated physically, thanks for the pin labelling. And as for the resistor part, I see what you mean as well, so I will try again here shortly and post the results. Thanks so much!

Sorry, this is probably a dumb question,but I don’t need to ground each button to the Arduino, do I? Or can I simply wire one side of the breadboard to Arduino ground and ground each button to that, instead?

Edit: also, sorry I haven’t gotten around to setting everything up again yet, just moved into a new place and have a new desk to set up tomorrow as well, but as soon as my work space is back up I’ll tackle it. Thanks!

Take one side to the corresponding pin and the other to ground.

you can daisy chain ground between buttons rather than running a cable from each to a ground point.

2 Likes

Yes, you can wire the button grounds to a bus on the breadboard that is also connected to a ground pin on the Arduino.

2 Likes

Just a quick update- got the left, right, a, and b buttons working, just not the up and down because my breadboard is a bit too small (could put them side by side, but now that I have the wiring right would rather just wait til my PCBs and wire get here in the mail). I’ll come back with some more questions when I get the materials in the mail, thanks so much for the help so far!

Sorry for another question, but does anyone know any good resources for tutorials on how to make prototype boards? Just been trying to sketch the ideas in my head but when I look at the required components I’ve ordered (two different materials and a variety of different sized PCBs, two different types and color 24 gage wire, and lot of assorted.capacitors just in case), I’m not sure I can quite see how the Arduino connects to the PCB and how the wires connect, etc.

Sorry for such a simple question, I just know it’ll spare me asking more if I can do my homework in the meantime. Thanks!

Edit: Sorry, now that I look at what materials I have, I see I have male pin headers for the Arduino, so now I see how that would fit and be soldered in the PCB, then the screen and buttons as well, but now i’m just not sure I see how to connect and solder the wires to the other hardware. Thanks!

As im prototyping using a Leonardo and a grid board, and i’m semi decent at soldering (enough so to successfully solder headers onto an attiny and a micro/mini, whichever one isn’t compatible with the arduboy), I can update on my progress as I go and post my final design schenatics, if anyone wanted to take the next steps to make their own custom PCB based on the wiring.

Alright, I’ve got a couple (different) blank perfboards and an assortment of wires. When I look at the design for your Leonardo shield, I can (more or less) imagine how I could fit the Leonardo into the perfboard and follow along with your design (as well as my own notes on pin locations), to adapt a similar (but obviously less efficient) design of my own, but for that I’d need to desolder the female headers from the Leonardo and resolder it with male headers, or should I simply solder the male headers to the perfboard and wire everything on/to those?

Also, when I solder the parts, obviously i should put the components side out and solder on the opposite side, but how do I connect/solder the wires? Sorry for the simple questions, thanks!

Note that the spacing between the two headers on the longer “digital” side of the Leonardo isn’t a standard 0.1 inch. Therefore, with standard headers installed it won’t plug directly into a 0.1 inch perfboard. You’ll have to get creative to make a shield out of a perfboard.

1 Like

Hmm, I did notice the gap, but to me it looked (just by eyeballing it) that it was a standard spacing, and when I did a fit check with the Leonardo pins it seemed to fit okay, but I didn’t press it together or force it so I didn’t see for sure (and fortunately nothing got bent). I’m also not sure if the perfboard grid I have is large enough to fit everything, so I have some more planning to do yet, but will update as soon as I get a bit more info. Thanks!

Edit: went ahead and desoldered the female in favour of male pin headers, but now it’s especially apparent the mismatch on the one side. I’m honestly just too new at this to have any ideas of my own how to work around it, as I’d imagine just bending them in place wouldnt exactly be advised. Thanks!

When you use perfboard for making this shield make sure you double sided perf board. Just like @MLXXXp said, you need to be creative when routing the cable to the pins

1 Like

Ah, okay @Hendra, I suppose it’s just time to start getting creative. Thanks!

Easiest would be to get an Arduino proto shield

But you can also get creative. On an old project I sewed up some single sided perf board parts with wire :laughing:

2 Likes

I suddenly regret not paying more attention in sewing class at school.

(That was a joke, I was actually quite good at sewing.)

Out of interest, what was that old project for?
Based on the heart I can only assume it was either some kind of fancy heart monitor or part of a Mahou Shoujo costume.

3 Likes

Alright, so I was looking at what materials I have available to me (and what is on the way in the mail) and the only way I could make it functional and structural would be to put an individual perfboard (20x30) on either side, but bend one set of the pins at a slight angle to fit.

Then, i could put a long and thinner (maybe half the width) across the two up top for the screen, fix that in place to either side, and still access the icsp headers/pins (and the reset button/usb port, as these would still be exposed). It’s a little hacky, but it seems like it could work. Would there be any foreseeable problems, or would bending these pins at a slight angle affect anything?

It’s a dumper shield for the Tamagotchi P’s (Japanese color Tamagotchi) accessories that contain a SPI flash chip with additional contents. The one mounted with the little mushroom character is called Nameko Pierce

I wouldn’t recommend bending pins. bent pins can’t be fully inserted in the Arduino’s female headers and could make poor contact also when applying pressure the stress from the bent pins may break or wear out the contacts. Have you tried googling for ‘diy arduino shield perfboard’ ?

2 Likes

I have found a workaround, which used 90 degree pin headers instead (because the offset of two sets side by side added up to just about the difference in spacing), I’m just struggling broke at the moment and don’t have the money for any materials (and everything I’ve bought has been especially cheap from overseas). So in that case, I’ll just have to wait until I can get ahold of those. Thanks!

Well, that’s what I would do. I’d pull individual pins from the plastic retainer/spacer and bend them, to create the proper offset, in the space where the plastic would be (with non-stackable male headers). I’d only do this for the header that doesn’t line up with the rest.

offset_pins

2 Likes