Wow, I couldn't believe my eyes when you opened the subwoffer and the atmel was socketed
@Jonas_Meyer8 жыл бұрын
Well Teufel is a german company :D
@OemarLP8 жыл бұрын
+Jonas Meyer Still not as good as they were 10 years ago.
@OemarLP8 жыл бұрын
Pretty good... I had a Stereo System from Teufel and it was great but too big for my new house... 2 months ago I wanted to buy a new Stereo system from Teufel but the sound and build quality for 1500€ was pretty bad. Now I have a Sorround System from Bose for almost the same price and it sounds extremely nice.
@casemodder898 жыл бұрын
teufel audio is no cheaposhit ;) you get pretty much for what you pay !
@NicholasElliott7 жыл бұрын
Oh boy 😍 I'd have probably tried reverse engineering the entire control board and write new code for it, maybe with more functions and likely using the tv remote instead of another arduino
@wonseok_song7 жыл бұрын
4:13 In which universe 'couple of years' is 125.6 years?
@SinuheZubieta7 жыл бұрын
Great work, Just one recommendation. Why use a wake up switch? you can use pin change interrupt on the 3 main switches to wake up the board. Pin Change Interrupt work on any of this arduino pins. Pin Change Interrupt Request 0 (pins D8 to D13) Pin Change Interrupt Request 1 (pins A0 to A5) Pin Change Interrupt Request 2 (pins D0 to D7)
@thetommantom8 жыл бұрын
idk how i found your videos a while back but i just keep watching new ones and learning on old ones and the knowledge you share is incredible. a lot of your videos you can just swap out parts to do different things and do tweak them for whatever project you can think of. your videos give me so many ideas
@greatscottlab8 жыл бұрын
Awesome ;-)
@lucystanley74707 жыл бұрын
This is voiding your warranty with style
@aaronnorman97552 жыл бұрын
Style is an understatement
@simonthecucumberenjoyer10427 жыл бұрын
In 100 years great Scott will still use the remote with the same battery
@mitropoulosilias7 жыл бұрын
and same speaker system...
@AnalysIR8 жыл бұрын
1:01 it looks like there is already an IR receiver on the main system board. Presumably the original remote is lost :) Often, it is possible to get the IR codes online to use with IRremote. +1 on the earlier suggestion of using un-used buttons on an exiting remote or just a spare remote control. Will also get longer range (vs 100R driven directly from MCU) great videos!
@dkiller8578 жыл бұрын
Recently I think about remote turning off lights in my bedroom,fortunately you give me this video. Thank you very much Scott!!!
@LIVEWIREMEDIAENT8 жыл бұрын
I dont always get what this guy is talking about , but I cant help but watching ......
@ankdoeslego97318 жыл бұрын
Same
@danijel1248 жыл бұрын
I am ashamed to say that I am an electrician but microcontroller stuff is beyond me :P
@ankdoeslego97318 жыл бұрын
+danijel124 I understand microcotrollers but when he starts talking about maths I get very confused.
@Trident72358 жыл бұрын
So why you don't always get what this guy is talking about? Because of his stupid English pronounce or because you are too stupid for electronics?
@beicel8 жыл бұрын
LUL
@joachimpri8 жыл бұрын
Nice video... Why not just use unused buttons on an existing ir remote? I would not want an open circuit remote lying on my coffee table. Nice tip with the arduino low power. Who knew!
@greatscottlab8 жыл бұрын
I already used your described approach in a previous video. I wanted to do something different.
@joachimpri8 жыл бұрын
+GreatScott! Great... hmmm... somehow I missed that one... oh wait... I think that was the one with the LED strips behind your tv. Anyway, great videos man... keep it up. you are the highlight of my sunday evening viewing pleasure here in Boksburg, South Africa.... Shoutout to great scott! quick question, do you accept project ideas or not really? if so, where can i send it?
@greatscottlab8 жыл бұрын
Joachim Prinsloo You can put your ideas in the comment section. If I like them I put them on my to do list.
@joachimpri8 жыл бұрын
+GreatScott! awesome! Will do so. cheers!
@TheRoKitMan088 жыл бұрын
+GreatScott! You should 3d print a case for the remote board
@sharedinventions7 жыл бұрын
Why do we need NPN transistors for acting like switches in the receiver? We are talking about logic levels, not about current flow. I would connect our Arduino pins though some hundreds ohm resistor to the "open side" of the switches. Am I wrong? (Maybe using optocouplers would be an elegant solution, but that's a different story.)
@HerczegZsolt8 жыл бұрын
With a little more programming, you could use all the 3 buttons as wake-up pins. You can do the IR code sending instantly on wake-up, and go to sleep when code is sent. That way, you don't need the 4th button, and the power consumption is even smaller.
@spacemonkey23778 жыл бұрын
Your videos are obviously popular now, and for good reasons. But I expect them to become references for a long long time. I mean I still go back to some Afrotechmods videos after all these years if I forget some details. Keep it up friend! Your work is of high quality, very intructive, and it's inspiring.
@maxximumb8 жыл бұрын
Great project. I had an idea to eliminate the need for a wake up button. As there are only 2 pins available for the Nano to use IRQ (I think I'm correct here?) Then if you link each of the 3 original pins to pin 2 with a diode on each pin, to stop current flowing from the button pins back to pin 2 and then to ground. Pressing any of the 3 buttons will connect pin 2 to ground through the button you pressed and the pull down resister. I don't know how long the Nano takes to wake, but if it isn't too long, the original button press, might be picked up by the nano before the user lets go of the button.
@ferrypals71658 жыл бұрын
can you also use a attiny 45/85 for the resever/transmitter
@khashmeshab8 жыл бұрын
Great as always! But: 1. I've used the unused buttons of other remote controllers for my projects, so you don't need to built a remote or carry one with you which decreases the probability of it getting lost! 2. You could use the PCINT function of the ATmega328 instead of that fourth button. Look at its datasheet for more info. 3. You didn't need the transistors. Just make the output of the 328's pin low. 4. With the help of 3 diodes (1n4748) you could disconnect the ground from your microcontroller in the remote and connect the power to it only when a button is pressed. So, zero power when standby = theoretically infinite battery life!
@asdffghjkllkjhgfdsa84797 жыл бұрын
Masoud Gheysari 1. He shows how to create a IR remote of course you can use another 2. The Mikrocontroller takes a couple of seconds to star
@khashmeshab7 жыл бұрын
Asdffghjkl Lkjhgfdsa 2. No. It's at most 65ms. It can be easily decreased to less than 1ms.
@asdffghjkllkjhgfdsa84797 жыл бұрын
Masoud Gheysari Realy? Do we mean the same? do you disconnect the power from the microcontroller ? i have an arduino nano and it takes ~1,5 seconds until the code is running but i am learing on arduino since this year ^^
@ShadowMythThe8 жыл бұрын
Wow, I just stumbled upon this channel! I want to thank you for rekindling my interest in creating my own pcbs. It's been years since I've done projects such as these. You have me hooked again.
@forgeteverythingyouknow54132 жыл бұрын
First, I'm jealous of the time you have to do these things And second You're my hero.
@electroGoal4 жыл бұрын
Is that possible to use microphone Jack as a ir input and decodeing its code. If you have any idea please comment
@BowersElectronics8 жыл бұрын
I was just thinking about making something like this last week. but instead of making a remote I would take the output of another remote to get the hexadecimal code for the receiver. I'm sure everybody has a remote laying around that doesn't control anything. also what about adding RF capability to the remote? that would be quite interesting.
@maxximumb8 жыл бұрын
I was wondering about making a programmable universal remote.
@richardlighthouse53284 жыл бұрын
Since speaker system already has avr microcontroller, I would get the assembly from the mcu and reprogram to work it with custom ir codes as well.
@id5131288 жыл бұрын
More advanced than my last project. I like deep sleep mode as well! Awesome again +GreatScott!
@Olli1208 жыл бұрын
2:33 I'm sorry for the stupid question, but why do we need resistors here? Wouldn't it also work without them?
@SkillfullyBlind8 жыл бұрын
You're videoes really are inspiring, ive watched youre videoes for a while now and i see that we think in a very similar fashion. Today the sharging port on my phone broke and i did not come up with a good way to fix it, so i used a TP4056 micro USB battery charger that i clued to a peace of plywood, fitted that with some wires as contacts and now i charge one battery out of two so i can use my phone as i come up with a more permanent selution. Thank you, i would not have had the knolage or the TP4056 if i havent startet watching you'r videoes
@LucasHartmann8 жыл бұрын
Well done with the low-power lib. Can't you attach interrupts to all 3 switches, though?
@maxximumb8 жыл бұрын
No, the Nano and Uno only allow interrupts on pins 2 & 3.
@LucasHartmann8 жыл бұрын
Then maybe one switch to each interrupt, and the other switch via diodes to both interrupts?
@maxximumb8 жыл бұрын
Lucas Hartmann I posted a comment about linking the three pins to pin 2 via a diode on each pin. I can't see why it wouldn't work. I'm tempted to pull out my project box and rig up the circuit to give it a try. I just have other stuff I should be doing instead of playing with my toys.
@LucasHartmann8 жыл бұрын
+Maxx B Just remembered, we could arrange the switches in a 3x1 matrix (instead of the usual 4x3 matrix), and use the 1 as the interrupt pin.
@Chowmix128 жыл бұрын
Use arduino's pin change interrupt instead to give you access to wake the arduino on many more digital pins playground.arduino.cc/Main/PinChangeInterrupt
@reiserdog8 жыл бұрын
Hmm.. Connect all the buttons with diodes to the wake up pin, and lose the wake up button?
@greatscottlab8 жыл бұрын
Possible
@MD-vs9ff7 жыл бұрын
Petteri Kähärä Pin change interrupts. No need to bother with a separate wakeup switch for this, then you can just put it immediately to sleep.
@RWBHere7 жыл бұрын
A Tesla coil would not work as a reliable, low-powered remote, running from a button cell...
@m00str7 жыл бұрын
Exactly what I thought. Well not exactly. I thought of two-connection switches (I have no clue what they are called) where the first connection goes to the designated input of the Arduino and the other connection goes to the interrupt
@neckslicer5 жыл бұрын
Yeah that's actually a really good idea
@rich10514148 жыл бұрын
Couldn't you configure it to use the default audio subsystem controls on your universal remote? I understand the cool factor of making your own remote, it just seems more logical to me, to use a common standard as reference so any universal remote will work.
@onkelpit8 жыл бұрын
As always a really great video. Wouldn't it be possible to read the binary from the AT89 and read out the literals for IR-codes? Or are the lockbits set?
@canaDavid12 жыл бұрын
Alternatively, reprogram the '89
@simonnicholson59132 жыл бұрын
Great project. I particularly like the wake up button.
@RiyadhMarthinus8 жыл бұрын
Please make a video explaining how to make an H-bridge. It is something that I have been trying to do for a very long time but you do the best at explaining these things.
@greatscottlab8 жыл бұрын
I wouldn't mind doing one. But for the meantime check out Afrotechmods channel. He has a very good video about H-bridges.
@dickheadrecs8 жыл бұрын
+GreatScott! don't be afraid to double up on others content. you have an interesting perspective!
@Makerside8 жыл бұрын
That was very intersting! I'm not an electronics engineer, but easyEDA is the disclosure for me. Thanks for video :)
@unclepecos54263 жыл бұрын
I do love your step by step explanation which is exactly my style! Thanks for great effort.
@cdxa58628 жыл бұрын
Keysight MSO X 3054T Oscilloscope worth about 15.000$ in amateur lab. Well I'm impressed! BTW. Your videos are very interesting, fresh look on usual things.
@greatscottlab8 жыл бұрын
Thanks mate ;-)
@RexDorchester8 жыл бұрын
You should have used DPDT momentary switches so that you can use the second pole to connect and disconnect the "sleep". So you could press any button to wake it up and then press it again and it'd send a command... yet that's not really a much better design, I thought it was a good idea.
@rklauco8 жыл бұрын
I'd do a slight mod of the transmitter - by adding diodes to the 3 switches you can avoid the wakeup button. The atmega wakes up fast enough to detect the button no problem. And you can do the transmitter and receiver by ATtiny, saving clovk circuitry and power ;)
@LeoDDJ8 жыл бұрын
I think you could have solved it without the fourth button. Two ideas that popped into my mind immediately: 1) Use Pin Change Interrupt (if the library supports it) 2) polling the buttons takes only a few microseconds. On another project of mine, in the loop, I simply slept for 1ms or so (maybe even up to 5ms) and then polled the buttons. I don't remember the exact current draw anymore, but it was around a few micro amps. Because the human reaction time (which I let my friends try ;) ) is at maximum 10ms, polling every 1ms is more than enough for reaction time. (I also used direct port manipulation to read the pins, because it saves sooo much time (and therefore power) in comparison to digitalRead) Option number two would probably be the best solution, depending on power draw.
@shanerobertson1007 жыл бұрын
Where do you get your jumper wires? The look sturdy
@michaeliline95107 жыл бұрын
Awesome! However when I saw the mictocontroller I couldn't help but wonder how could one extract code from that and possibly reverse-engineer the original IR commands. Any ideas?
@DrZipZwan5 жыл бұрын
GreatScott!, your sound system has already an IR receiver , why not simply clone the native remote it came with, lets say for example its original remote broke... It would have been easier for most people to clone the broked remote. So it would have been a project that would have saved a lot of people. Great video as always ;)
@hopkinskong8 жыл бұрын
Also, you can check the PRR to reduce power usage when your processor is at running state.
@tasmedic8 жыл бұрын
Cool mixing of technologies. Wonderful.
@emuboy858 жыл бұрын
Awesome video as always , if it were me I would probably replace the main atmel on the control board, looks like that is just reading the buttons and the infrared and feed a pwm or two, then you would be able to use any kind of transmitter you want :)
@charliecarpenter28406 жыл бұрын
Very helpful video Thanks. Would it be possible to connect the wake up pin to each button so that only one button press is needed ?
@martin22508 жыл бұрын
Du kannst bei der Fernbedienung zum Aufwecken den pin-change-interrupt verwenden. bei den meisten 'Megas hat jeder Pin den PCINT und der funktioniert auch im power-down mode (tiefster Schlafmodus) damit kannst du dir den 'Weck'-Knopf sparen
@TreudtLP3 жыл бұрын
Klasse Videos. Sehr lehrreich und dabei entstehen immer tolle Geräte, weiter so.
@randyhavard60847 жыл бұрын
Seems like a good hack for things that did not come with a remote as well as things with missing remotes
@mariog1996ist8 жыл бұрын
+GreatScott! You could easily use pin change interrupt for waking up the atmega328p with the buttons you already had. There's no really need for an dedicated for wake up button.
@stevieboi612 жыл бұрын
i not skilled in this field but enjoyed ur vid & i learned something! thankyou for sharing. 👍
@tutirjeh4 жыл бұрын
Why did you used a pro mini and not a nano?
@wasanthawimaladharm4 жыл бұрын
Can you add learning function to add new remote buttons function with the help of ir reciver and extra switch as well
@neirad5378 жыл бұрын
It's there like a two stage button that act like a shutter button of a camera where you can semi press it or fully press it? That way you don't need an extra button to wake it up. Or the controller required a bit of time to wake up before you can press any button?
@ChunkySteveo8 жыл бұрын
Great little project Scott, a practical use for diy electronics and Arduino! Maybe as a follow up video some time - you could look (review) into using an online PCB supplier and create a smaller remote setup and then also design and print a case with Tinkercad/123D etc and your delta printer? A tech smorgasbord of a follow up video!?!
@tunahankaratay15237 жыл бұрын
The NPN BJTs are not necessary. Since the supply voltage comes from the same source, they have the same 5v and gnd. So you could directly connect the pins to the arduino pins with a pullup resistor.
@EdwinNoorlander8 жыл бұрын
Why don't you use the original ATmega op de board en reprogramming that? It was only a dual layer board, so not hard to reengineer!?!
@Jonas_Meyer8 жыл бұрын
Looks more like a one layer board and im not so sure how hard it would be. Definitly not impossible but not really a easy hack.
@thedankoona_58548 жыл бұрын
'op de'.. DUTCH
@appelnonsurtaxe8 жыл бұрын
Before modifying the code you need to find it online.
@Jonas_Meyer8 жыл бұрын
MrAnima If the engineers didnt disable it you could dump the hex data and decompile it into assembly and work with assembly. It is also possible to reverse engineer the circuite and sniff on protocals like i2c or spi if present with a logic analyzer.
@EdwinNoorlander8 жыл бұрын
***** Yes, thats what I should do. That's a nice video
@adhominems7 жыл бұрын
Have you considered making your own pcb for these more permanent projects that you interact with daily? That would reduce the size of your circuit, reduce error, and add to the over all aesthetic value of the end product.
@TechieTrevor8 жыл бұрын
best video in a long while! keep up the great work! :)
@BoomBrush8 жыл бұрын
Thats a really smart idea. Maybe use flexible filament to make squishy buttons?
@ASerenidadeEstoica8 жыл бұрын
Another nice HACKED project... GreatJobMan
@andrejbaca7 жыл бұрын
you can use plus and minus buttons as interpunts ? and wake up up it easily
@hermandarr62748 жыл бұрын
Another great scott project...rock on dude
@GeeksTutorial8 жыл бұрын
You are a genius! keep it up!
@hielkebaron70078 жыл бұрын
awsome! i've learned a lot! but why didn't you use an attiny85? you can connect all the butons to one analog in by adding some resistors right? i think it would use less power and shrink down the project?
@KhalilEstell8 жыл бұрын
Where did you put the receiver, such that the transmitter could transmit to it?
@greatscottlab8 жыл бұрын
The receiver is now inside the subwoofer unit.
@Andrew-nr1me8 жыл бұрын
Cool video! Can you move the IR transmitter LED to a different pin? If so, how? I don't see where you can define a pin number.
@bur1t07 жыл бұрын
My experience has been if you send a company an email asking for technical detail on a subject, usually they happily give you the information. Have you tried emailing Teufel regarding the IR codes for your model speaker?
@danielpiotrowski16818 жыл бұрын
Thumbs up for the video type variety! Wow, what a coincidence! I just pulled a 65 inch tv out of the trash. Unsurprisingly, the remote was not with it and a replacement is outrageously expensive. Unfortunately, this hack will not work as very few of the functions are laid out on the tv itself. Could you have used an attiny instead of the pro mini? Dan
@Boffin558 жыл бұрын
no need to add pull up/down resistors on your remote. Put the buttons from IO pin to ground, and set the io pins to INPUT_PULLUP instead of INPUT to use the Atmel processor's internal 40k pulluip.
@tablatronix7 жыл бұрын
confused, was that not a ir receiver in there ?
@wacko78jacko6 жыл бұрын
tablatronix, Correct, and a working RC is available from the manufacturer (Teufel)
@paweljaworskipl6 жыл бұрын
Why not scan all the codes and build remote only? IR code scanner is great idea for a project.
@neckslicer5 жыл бұрын
@@paweljaworskipl agree, however as he said, this is the only choice when you've lost the actual remote, you create your own with custom codes and the receiver triggers the buttons, that way you can still control it when you lose the remote.
@redtech52467 жыл бұрын
So the battery would last longer than the remote🤔🤔🤔🤔
@DanelonNicolas8 жыл бұрын
Mr.. will you create a case for this peace of art? what's next with this project ?
@elektrodenio8 жыл бұрын
Another great video! Thank you! One question:Where do you get the ideas for your projects?
@greatscottlab8 жыл бұрын
From my environment, I would say.
@ABSthescientist8 жыл бұрын
.
@chickennugget22488 жыл бұрын
Scott can you make high wattage inverter?
@greatscottlab8 жыл бұрын
No
@chickennugget22488 жыл бұрын
+GreatScott! you mean yes or really no.
@thebeginnerelectricalengin37178 жыл бұрын
Probably no. High wattage inverters should be left to professional engineers (Not saying that Scott isn't one) but they often require high power precision components which are expensive, are hard to acquire and use.
@MrNo4Name8 жыл бұрын
What piece of software do you use to create scematics?
@greatscottlab8 жыл бұрын
EasyEDA
@cristiansalas4438 жыл бұрын
thanks :)
@NicolasBana8 жыл бұрын
Wasn't it possible to use some diodes to connect all 3 buttons to the "wake up" terminal ?
@baconsledge8 жыл бұрын
Scott...this may be a worn out question but I will ask anyway. What kind of microphone do you use when recording? Your audio is excellent!
@greatscottlab8 жыл бұрын
t.bone SC440
@lordimac8 жыл бұрын
Why not use the original Teufel Remote?
@greatscottlab8 жыл бұрын
I lost it
@lordimac8 жыл бұрын
Ah okay :)
@JugaadItYourselfJIY4 жыл бұрын
@great Scott can you make one WiFi remote which will be compatible with alexa?
@90MrMan908 жыл бұрын
Is it possible to exti the sleep mode by pressing one of the buttons instead of using on extra button? So you can save som space on you remote control.
@mohamedroshdy48978 жыл бұрын
how to use crystal oscillator ,and how to know does it work,and what are the electric calculation of oscillators
@shangen27838 жыл бұрын
Some suggestions: Instead of a 8 bit AVR why not use those super cheap PIC or ST microcontroller. Another way is to use a existing remote and reverse engineer it and program the receiver accordingly. Power consumption can be lowered with a slower clock speed. You might want to try that on the AVR.
@shangen27838 жыл бұрын
If you choose to go to AVR route, why not instead use a ATTINY. They are cheaper and they suit this application more.
@rustbeltrestoration8 жыл бұрын
Scott, what is your soldering iron, and what wattage is it? Thanks
@GypsyBackwards8 жыл бұрын
do you think you'd ever be willing to do a video on how to lay solder traces like you do on your perf boards? i've been trying it for awhile but i can't seem to get it right, they always overflow and make a mess.
@geoninja89713 жыл бұрын
Great work, now you just need a case for the remote.... or it will look like one of my projects!
@atomipi6 жыл бұрын
you can use your input control switches to wakeup the atmel.. with 3x 1N4148 diodes as an OR gate to your wakeup input.
@padmalayarawal30915 жыл бұрын
Awesome tutorials 👍 Can you please tell that is it possible to get the arduino code which is uploaded on our board to our laptop ?
@UnrealVideoDuke7 жыл бұрын
Why did you not hack the Atmel that was already in the speaker control?
@Orion2223dz7 жыл бұрын
UnrealVideoDuke I think it's impossible to have all the code which is inside by retro-ingeneering
@sameeryele8 жыл бұрын
+GreatScott! Which marker did you use to mark on the perf board?
@RC-ij4je8 жыл бұрын
If you wanted to add a IR remote, what was the IR receiver that was already in the speaker control board for?
@sebimoe8 жыл бұрын
Are there any advantages of using INPUT mode and pulling up with resistors rather than using INPUT_PULLUP and pulling down to ground directly? In the pull-up mode (PORTX and DDRX set = INPUT_PULLUP) the pin is pulled up to VCC with high value resistance.
@baraahalabi8 жыл бұрын
Great Project ...But where can i found the low power library ??
@maxximumb8 жыл бұрын
playground.arduino.cc/Code/Enerlib There are more to choose from.
@baraahalabi8 жыл бұрын
Thanks for responding :)
@maxximumb8 жыл бұрын
This might not be the one he uses, but it works well.
@MrWilliam9328 жыл бұрын
Are the buttons of the subwoofer still usable?
@cobaltdragon_56788 жыл бұрын
yes they are still usable (the ATMEGA board is just an additionary option)
@greatscottlab8 жыл бұрын
Yes
@Arrviasto8 жыл бұрын
I think you could do it without transistors. When you connect your controller to common ground, simply setting pins low could do the trick. I'd only add some resistors for safety.
@fredlllll8 жыл бұрын
why not use the power supply that is supplying the builtin atmega with power?
@anoopsahal12028 жыл бұрын
I can see your style of soldering is compatible with a trackless PCB
@RC-ij4je8 жыл бұрын
I didn't understood, what was the ir reciever that already was in the board for?
@Pvsmuntje8 жыл бұрын
Would you be able to measure the output of the remote (IR flashing) and turn that into a script to recreate the remote? Would it also be possible without an oscilloscope?
@greatscottlab8 жыл бұрын
Yes, I already did a video about it. I think it is called "How to control your LEDs with a remote"
@SharkLasers3808 жыл бұрын
+GreatScott! Ummm... where did you get that pen?
@hopkinskong8 жыл бұрын
Why not hook up the 3 buttons on the interrupt pins (with wake up in sleep mode capibility)? So you don't need an extra button solely to wake up the processor.
@rajchauhan80938 жыл бұрын
this video is nice but I have a question how to make a homemade powerful subwoofer 2.1 home theater with simple circuit and how make a large loud home theater? please make a video about it.
@Snow.20405 жыл бұрын
you have to upload the bootloader if you want to use atmega 32p microcontroller
@ravm846 жыл бұрын
Nice but I think that waking up the CPU of you remote controller can be done without extra button "wake-up". I solved it in my project by connecting all available buttons to some Interrupt pin (lets assume that you configure this interrupt at pin value change, set this pin as input and pull down to 0). As far as I remember wake up from power saving mode can be configured by external interrupt so just single press of any button will wake cpu up and more you can put in this interrupt a procedure to detect which button was pressed without doing it in main loop. And even more I think that with such solution you can put CPU to sleep straight away after a signal was sent without any special delay, this would extend battery life cycle significantly.