Hardware Buttons without IO Boards

Showcase builds, discuss cases, embedding MiSTer into existing computer cases.
ellie
Posts: 19
Joined: Tue Nov 03, 2020 8:20 pm
Been thanked: 2 times

Hardware Buttons without IO Boards

Unread post by ellie »

How would I go about hooking up mini momentary push buttons to act as the User/OSD/Reset buttons? I think they’re on pins 13, 15, and 17, and then they all go to ground?

Additionally, how useful are these buttons in reality. Reset seems redundant to being able to reset from the OSD or just hard cycling. What does User do? Is there a way to actually navigate the OSD once you have it up? Sorry if these are dumb questions and feel free to throw a guide at me. I have my build pretty much done, but I was deciding on whether or not to add the buttons.
User avatar
jrronimo
Posts: 82
Joined: Sat Jul 04, 2020 6:03 pm
Has thanked: 39 times
Been thanked: 11 times

Re: Hardware Buttons without IO Boards

Unread post by jrronimo »

This is a great question! I've been meaning to figure it out, too. :) If those pins are correct, then all you need to do is connect one of the button's connectors to the appropriate pin and another one to Ground. Pushing the button 'momentarily' connects it to ground, which closes the circuit and tells the DE-10 "Do whatever you're supposed to do when that pin is grounded", which in this case is "Open a menu" or "reset" or whatever.

If you get a button with an LED in it (and why wouldn't you?!), you will need to separately connect its power to the appropriate power on the board. iirc, MiSTer has 5V available on the board, so you'll need LED buttons that can power on 5V.

Typically I navigate the OSD with my gamepads once the OSD is up, so that part is easy usually.

Welcome to the forums and to the MiSTer community! It's been a load of fun for me so far. :)
ellie
Posts: 19
Joined: Tue Nov 03, 2020 8:20 pm
Been thanked: 2 times

Re: Hardware Buttons without IO Boards

Unread post by ellie »

Thanks so much! The only place I’ve seen User used is dirtying the define joystick procedure to skip a button. While I love the idea of it being 100% self-contained, I’d always still need something to navigate the menu with, so I think I’ll just keep it with no buttons and use a keyboard if I ever need to.

Do you happen to know if you can turn off the LEDs on the board, and if not, if I wire up external LEDs do the ones on the board turn off? They’re super bright, and don’t provide enough information for me to want to put up with them :).

Thanks again for the response and warm welcome!
User avatar
aberu
Core Developer
Posts: 1192
Joined: Tue Jun 09, 2020 8:34 pm
Location: Longmont, CO
Has thanked: 247 times
Been thanked: 411 times
Contact:

Re: Hardware Buttons without IO Boards

Unread post by aberu »

I would check the I/O board schematics if I were you, trace which buttons go to which GPIO pin on the DE10-nano. Might be the quickest route to figuring out what you need to know.

https://github.com/MiSTer-devel/Hardwar ... r/releases

Like for to the IO Board 6.1:

https://github.com/MiSTer-devel/Hardwar ... rd_6.1.pdf

I *think* this is how you'd trace it, but I'm not an expert, just trying to help point you to where you could go to finding out on your own.

This does indicate that at you are right, 13 (OSD), 15(User), and 17(Reset).
You do not have the required permissions to view the files attached to this post.
birdybro~
ellie
Posts: 19
Joined: Tue Nov 03, 2020 8:20 pm
Been thanked: 2 times

Re: Hardware Buttons without IO Boards

Unread post by ellie »

Thanks for that schematic!

It looks like the LEDs come off 1, 3, and 5, but is anyone able to confirm if the LEDs on the DE-10 are on or off with the IO board attached? My thought is I could wire lower wattage LEDs to the 1, 3, and 5 pins in order to turn off the DE-10 LEDs.
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: Hardware Buttons without IO Boards

Unread post by jca »

ellie wrote: Wed Nov 04, 2020 5:51 pm Thanks so much! The only place I’ve seen User used is dirtying the define joystick procedure to skip a button. While I love the idea of it being 100% self-contained, I’d always still need something to navigate the menu with, so I think I’ll just keep it with no buttons and use a keyboard if I ever need to.
.....
you can always use your controller to navigate the menu. Define a controller button to popup the OSD and use the DPAD: up and down to move one line, left and right for page up and down and A button for Enter.
notaburger
Posts: 4
Joined: Tue Sep 21, 2021 1:56 pm
Been thanked: 6 times

Re: Hardware Buttons without IO Boards

Unread post by notaburger »

Sorry to bring this back from the dead, but I recently picked up a cheap mini itx case and I'm looking to integrate the onboard LEDs and Button to my mister or mt32 pi. Based on what I'm seeing on the analog io board, it looks to me that I can wire a momentary push button to pins 12 and 13 to function as a reset button, correct? Also, I could pick off pin 4 from P1 for 3.3v and pin 6 from P1 for Ground to build my led circuit, right? I've attached a few images in case that helps.

If all else fails and I'm missing something critical here, I was thinking about building a single button keyboard using an Arduino and using that for accessing the menu and giving me a light to show the system is on but that is overkill if I can avoid it.

Any help would be appreciated.
You do not have the required permissions to view the files attached to this post.
notaburger
Posts: 4
Joined: Tue Sep 21, 2021 1:56 pm
Been thanked: 6 times

Re: Hardware Buttons without IO Boards

Unread post by notaburger »

Fyi, I tested it out and it worked great.
jup310
Posts: 2
Joined: Mon Sep 07, 2020 10:38 pm
Has thanked: 1 time

Re: Hardware Buttons without IO Boards

Unread post by jup310 »

Hello.

I was using the method described here to attach a tact switch to GPIO_1_D10 (AG25 pin) and use it conveniently as an OSD button, but after a recent update the button no longer works.

I tried the menu.rbf in Menu_MiSTer/releases/ starting with the oldest one, and it works up to menu_20230223.rbf, but it seems that menu_20240313.rbf and later no longer work.

I would like to know if there is a way to make this button work again, because it is very useful.

iainjh
Posts: 16
Joined: Sat Mar 20, 2021 7:08 pm
Has thanked: 8 times
Been thanked: 4 times

Re: Hardware Buttons without IO Boards

Unread post by iainjh »

Hi

I have been sent to this thread, from a query I posted in another thread.

I have a mister in an acorn electron case, wired with hardware momentary buttons needed for OSD and RESET. I am sure we not alone in needing these GPIO/functions to use Mister

Ive noted these no longer work on certain RBF's inc appleII and AO486. They still function on some cores such as PCE (for now anyway)

Can this function be restored please as its very useful! I dont want to throw away a case just because this has been deprected or taken out... I hope it can be restored?

(please and thank you in advance)

TIA

Iain

wickerwaka
Core Developer
Posts: 26
Joined: Wed Aug 31, 2022 1:35 pm
Been thanked: 36 times

Re: Hardware Buttons without IO Boards

Unread post by wickerwaka »

You need to connect pin AH27 to ground, this pin indicates that an analog IO board is connected and that the buttons are wired up directly to GPIO pins.

AH27 is Pin 10 on the GPIO1 header and it's right next to a ground pin.

20-pin_header_pin-out.png
You do not have the required permissions to view the files attached to this post.
iainjh
Posts: 16
Joined: Sat Mar 20, 2021 7:08 pm
Has thanked: 8 times
Been thanked: 4 times

Re: Hardware Buttons without IO Boards

Unread post by iainjh »

thank you! I shall do just that :0!

jup310
Posts: 2
Joined: Mon Sep 07, 2020 10:38 pm
Has thanked: 1 time

Re: Hardware Buttons without IO Boards

Unread post by jup310 »

My button also worked correctly the way wickerwaka showed. Thanks.

iainjh
Posts: 16
Joined: Sat Mar 20, 2021 7:08 pm
Has thanked: 8 times
Been thanked: 4 times

Re: Hardware Buttons without IO Boards

Unread post by iainjh »

Hi

I'm afraid that didnt resolve my issue.

with a jumper on GPIO 1 pins 10<>12 (AH27<>GND), some cores still do not respond to reset, osd or usr momentary to ground eg

IMG_8565 Small.jpeg

arcade cores generally work. appleii, Ao486 - no.

I dont think my switches are the issue. To check, I've disconnected my existing momentary switches and used a dupont to touch between pin AG25 and ground. -no change.

My only other ground on that GPIO 1 is normally occupied by a fan header, ive tried using that instead of pin 12 - no change.

if I revert to an old mister setup from 2023, it works in all cores I'm aware of

I might try another psu.. and I'll check all my other wiring. I am stumped!

PS that change ( if its not my setup/hardware!) presumably for AH27 to be pulled low(?) for a reason -is there an alternative to allow GPIO user buttons? or making it optional so this setup doesnt break?

regards iain

You do not have the required permissions to view the files attached to this post.
bluescrn
Posts: 10
Joined: Tue May 26, 2020 12:33 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Hardware Buttons without IO Boards

Unread post by bluescrn »

Is anyone else also seeing that LEDs wired up as per the diagram above are no longer working with recent cores (but do still light up with some older cores)

I've also got buttons hooked up, but rarely use them and hadn't noticed whether they were still working or not (edit: just tested - they don't work in the C64 core, but do work in the ZX Spectrum Next core - an older build - where my LEDs also work)

Can anyone confirm that they still work on complete IO boards? (Assuming they do, I wonder what's changed - maybe the cores are doing something to check for the presense of an IO board before doing anything with those GPIO pins?)

All switches are in the off position in the cluster of 4 config switches (it looks like turning that on with no IO board attaches may disable buttons: https://github.com/MiSTer-devel/Templat ... 5ba98809b4)

(Edit: Should have read above posts more carefully. Ended up digging around in the VHDL to find the solution that'd already been posted here - I just needed to ground VGA_EN == AH27 == GPIO1 Pin 10. Should 'enabling VGA' be safe with no IO board attached, just to get the LEDs/buttons working?)

Post Reply