Make: Projects
The Electronic Nag
Build a Notification Alert Generator that pesters you to do your chores.
It’s been said that “necessity is the mother of invention.” It’s also been said (at least by me) that “forgetting to take out the garbage after a splendid seafood dinner is the mother of an angry spouse.”
Hence the need for the NAG (Notification Alert Generator), which you can strategically mount on a wall near the bedroom to remind you of important upcoming events and tasks, such as taking out the festering garbage.
The NAG was my first real foray into building one of the crazy devices I’ve come up with over the years. Luckily a friend of mine who is a developer clued me into microcontrollers, and then I did some research and learned about the Arduino, its many shields, and the Wave Shield kit from the fabulous Adafruit Industries (http://adafruit.com), which stores WAV audio files that your Arduino can play.
When it comes to nagging, timing is everything, so this project uses a real-time clock (RTC) chip, which also contains a calendar. It also includes an LCD, proximity sensor, and a case to house the whole mess.
I’ll assume the reader has the prerequisite knowledge to build and modify an Arduino project and associated sketches. If not, head over to http://makezine.com/arduino to get started.
In my circuit, many of the Arduino’s limited number of I/O pins are used by the LCD and clock. The Wave Shield needs pins 2, 3, 4, and 5, but the Arduino LiquidCrystal code library lets you reassign LCD pins. So I made room for the Wave Shield by moving the pin assignments in the library, from LiquidCrystal lcd(12, 11, 5, 4, 3, 2); to LiquidCrystal lcd(9, 8, 7, 6, 15, 14);.
The purpose of the NAG is to nag someone as they walk by, instead of just throwing out reminders at predetermined times, unheard. To achieve this, I used a cheap infrared proximity sensor, the output of which I connected to the Arduino’s analog input pin 2.
Project Code and Templates
- Project code zip file.
- Case templates front and back and bottom.
- Drawing file: NAG_Laser_Cut_Case_v1.dwg
Steps
Step #1: Record audio notifications.
Next
- This is an opportunity to get the whole family involved in the project. We fired up my laptop with its built-in microphone and held a recording session: “It’s trash night, Daddy!” and “It’s recycle night, Daddy!” and so on, saving the snippets as WAV files formatted to Adafruit’s specification.
- NOTE: Digital I/O pin 0 (RX) on the Arduino is reserved for uploading sketches from your computer, so don’t use it.
- To cover as many bases as possible, we recorded notifications for all the hours of the day, and anything else I felt could come into play down the road.
- Record as many sound files as possible in a single session, because this keeps the ambient sound and overall quality the same. Then scale back as needed.
Conclusion
Going Further
I hope to enhance the NAG with a touchscreen so it’s easy to add new events such as meetings, birthdays, and sports events. (“Don’t forget to take an apple for the teacher today.”) Once the touchscreen programming is working, I’ll add more functionality. Just wait till the next version!
This project first appeared in MAKE Volume 30, page 50.








































cant set time or date on the electronic nag!