Touch the buttons

Soft buttons without sound

Mmmm … wonder what that means?

Edit: the photos took a long time to turn up. I saw the words only and these were cryptic.

1 Like

Cool capacitive touch buttons! I’ve been thinking about doing something similar, do those buttons have little capacitive controllers on them? I think I have seen them before I might have to look into that…

How does it play? Do the buttons feel responsive?

Yes they do. they use a TTP223 controller and can be programmed between momentary and toggle modes by soldering a jumper (Got a few here but still unused). Would be cool for that one special project too :wink:

At first I thought the touch buttons were fine, but after testing I noticed that it reacts before I touch it.
About 5 mm before I touched the button, the status was 0.
After more tests, I realized that my finger activates two or three buttons unintentionally.
For example, when I wanted to activate the top button, the left side was activated at the same time, making it difficult to play.
I decided to reduce the touch sensitivity so that it is activated only by touching the button with the finger

I think for the up, down, left, right direction buttons
ttp224 is a better option.
4 touch points in one part makes the circuit easy.
What do you think about using ttp224?

Wonder, do these exist in multiple input/output packages so you could use like a 10 pin package or something hopefully not need 6 of these?

I didn’t know this existed either


With 8 I/Os, reset and power buttons can be added. Does the arduboy turn on at the touch of a button?

1 Like

Looks good. Has more configuration options. The one i like most is that you can configure it always in fast mode. so it always has the shortest response time of 60ms ( for the TTP224N )

Those don’t look good for making a touch Arduboy. Using 2x TTP224N looks best to me (speed and power consumption)

1 Like

It’s possible to put the 32u4 into a sleep mode that can be woken up by a hardware interrupt. There is an available hardware interrupt on the A button. so it can be done!

Modifications to the bootloader would be required in order to enable this function outside of a specific game.

Why not? How much different? Is it because these are scanned or something? How much more power does it take? It looks like the same series of chips, so I would imagine that they are using mostly the same silicon just scaled up. Am I gonna have to read some datasheets lol.

Power consumption isn’t a concern for the project I’ve got in mind.

It would be much easier to use a single touch chip in toggle mode to drive a FET that controls the power of the Arduboy.

FYI There’s also a hardware interrupt available for the B button

The datasheet mentions scanning techniques and no fast modes. So one may assume it doesn’t respond as fast as the other chips. The 60ms fast mode is already almost 4 frames @ 60 fps.

1 Like

60ms is a lot of input delay for a controller!

All of the buttons can generate “pin change” interrupts that can wake the chip if sleeping. It’s just that the A button interrupt (INT.6) is supported “out of the box” by Arduino.

I thought the deepest state of sleep requires hardware interrupt not pin change?

From the datasheet section 7.3 Power-Down Mode:

Only an External Reset, a Watchdog Reset, a Brown-out Reset, 2-wire Serial Interface address match, an external level interrupt on INT6, an external interrupt on INT3:0, a pin change interrupt or an asynchronous USB interrupt sources (VBUSTI, WAKEUPI), can wake up the MCU.

(Emphasis mine.)

I’m thinking of making a touch joystick.
Something like a half ball with touch points on it.


A small bubble with touch points on the َArduboy.
Similar to joystick but touch. (I could not make the pictures well) :grinning:


This picture is better

I wish. The D-Pad buttons do not have pin change (or any other) interrupt support.

Ok I knew there was something. I remember putting extra effort into making sure the A/B button could wake the device and being restricted on what pins could actually do that.

I stand corrected :flushed:. For some reason I thought all pins could generate pin change interrupts. Maybe I was thinking of a different MCU.