loading

Before the “digital age” many families used wall calendars to show a monthly view of upcoming events. This modern version of the wall mounted calendar includes the same basic functions:

  • A monthly agenda
  • Sync of family members activities
  • Easy browse between months

Beyond those basic functions this gadget will also handle:

  • A whether forecast
  • Upcoming events in the surrounding area
  • Live information about the public transport
  • And even more...

What you need:

(Inspired by the instructable by Piney https://www.instructables.com/id/Raspberry-Pi-Wall-...)

Step 1: The Hardware

This is the hardware setup.

  1. Find a LCD laptop screen . Order a controller board on Ebay. Search for LCD Controller Driver Board and the serial number of your laptop screen.
    Read more: https://www.instructables.com/id/Old-laptop-screen-..
  2. Craft a piece of wood. Height should be more than 30mm, so the electronics can fit inside. The width and height depends on the size of your laptop screen, have a margin for an extra 10 mm on all sides. Carve out and make room for the electronics on the back. Drill holes for the buttons and wires.
  3. Fasten the laptop screen. I used the orginal mounting frame from the laptop.
  4. Cut out foamcore with equal thickness as the screen. and glue it on the wooden slab.
  5. Cover all sides with cork. Cut with a “snap-off blade knife” and glue with “glue spray”.
  6. Mount the Push Buttons. Use a large drill, and drill carefully by hand.
  7. Connect the electronics. Connect three of the Push Buttons to GPIO-pins 19/20/21 and to ground. https://ms-iot.github.io/content/images/PinMappin... Find out the pin for On/Off button for the controller board, and connect it with the fourth Push Button. (You will find it by trying to connect ground to each pin, suddenly the LCD will light up). Finaly, connect the HDMI cable between Raspberry and controller board, and connect the screen to the controller board.
<p>if anyone is still having problems with calendars, look at fullcalendar.io it's very good with loads of configurations and flexibility</p>
Does the LCD stay touch?
<p>I see a lot of nice examples on how people made this.</p><p>Am planning myself also to make it, but i wonder what screen size is most common to use ? how much inch ?</p>
<p>So I am limited tech but as a teacher I have access to a vast number of students that could help with the tech aspect. What platform did you use for the webpage? I am confident in the building aspect but could use a little guidance on the webpage aspect.</p><p><br>Thanks!</p>
<p>Hi, if you're just looking for the webpage, take a look at DAKboard (http://dakboard.com). It has all the functionality here, and adds RSS news feeds and photos!</p><p>Hope that helps!</p>
<p>This is real nice. It's always the calendar that gets me because I can't for the life of me figure out why in the age of digital calendars everyone insists on displaying previous days and weeks in their default views... The fact that your monthly view starts at the current week and goes forward is excellent. I'm a fan of the 7-day custom view in Google calendar so thumbs up. The only other suggestion I have now would be to integrate some more To-Do providers (I'm personally on Toodledo). But since the To-Do functionality seems new, I'd guess that might still be a work in progress.</p>
<p>Why did you go through the effort of configuring a web server? Won't the browser properly display a &quot;webpage&quot; that is locally stored? Don't get me wrong, this is a beautiful idea. I like the interactiveness afforded by the buttons and will most likely follow(steal) your programming if I can convince my wife that we need this in our home. :)</p>
<p>I was wondering this too. If it's all stored locally, surely the performance will be better? I still need wifi for external JS libraries, which might also dictate the need for my index.html to be on a web server </p>
<p>I have only one question - with a touchscreen I am not able to <br>modify anything. Yes, I can click on events that had been created in the<br> Calendar before but if I want to create a new event without going to <br>the button Create in Google calendar, I cannot do it. If I click on, <br>let's say, today's date, nothing happens. Going through Create button in<br> Google Calendar will. On Android it works either way. Do you know how <br>to resolve this problem? Maybe certain settings in the Calendar, even <br>though I have a touch screen at work and it works in Windows without <br>problem but in Iceweasel on Raspbian it is not. Thank you</p>
<p>It looked like it had USB ports. How about a small USB Bluetooth dongle and a blue tooth keyboard. I have a Bluetooth keyboard for my Android tablet and it is wonderful, but I can cut it off and stick it on a shelf. If you only need to make changes occasionally, this may be the way to do it.</p>
Why not hang your desktop against the wall! Keep it only a screen or you lose the meaning of this idea!!!
<p>Well, no. Since he was having trouble modifing the contents with only a touchscreen, keeping it only a screen would not be an interactive wall display, it would be an electronic picture frame. By using a blue tooth keyboard, he can make the changes needed or wanted, then put away the keyboard, leaving only the screen. If I do this project, which I may, I will probably use the keyboard and maybe even a BT mouse for information management.</p>
<p>Instead of connecting a mouse and keyboard why don't you just setup a remote desktop on the RPi and connect to it over the network? (https://www.element14.com/community/docs/DOC-78170/l/connecting-to-a-remote-desktop-on-the-raspberry-pi)</p>
​I'm making this.<br>I've had a good read of the comments and can offer the following:<br>For calendar, consider www.fullcalendar.io when used with iCalendar2FullCalendar this allows you to link with ICloud calendars. I have this working, simply created shared link for my calendar and now when i create an event on my phone, it's on my webpage too!<br><br><br>http://blog.darksky.net/forecast-embeds/ for weather, but struggling to change the font and icon colours.<br>I've also created moveable and resizable post it notes that can be drawn on using the touch screen from here: https://zipso.net/a-simple-touchscreen-sketchpad-using-javascript-and-html5/<br>Next is a photos module and live traffic map. Probably this one: http://www.jqueryscript.net/gallery/jQuery-Draggable-Rotatable-Photo-Viewer-Polaroid.html<br><br>I might add random quotes, and news if i can find a display I like.<br><br>Lastly, has anyone got an iOS style clock?
<p>I got the hardware all set up, when trying to get iceweasel it keeps getting a 404 not found. is there something I am missing or is there another way to do it?</p>
<p>So i just realized the old HP laptop screen i have is complete crap when i turn it to be portrait like in the pictures. How hard would it be if the design was in landscape to use the weather widgets etc?</p>
Thank you for your suggestion. I have to have a touchscreen. Just having a keyboard and mouse for example will not going to resolve my issue.
<p>For those who completed their calendars using buttons. In my research I've been seeing a lot of folks saying pull up resistors are needed when using momentary button switches. Can anyone confirm this? Has anyone used them? Many thanks.</p>
<p>You always need pull-up (or pull-down) resistors when using *PST (SPST, DPST,...) switches (and usually momentary switches are SPST), because you need a way to force another value when the switch is not pressed. BUT, if you look at the switch.py or the switch-extended.py scripts, you will see that in the GPIOs initialization he wrote pull_up_down=GPIO.PUD_UP. This means that he enabled the INTERNAL pull-up resistors (yes, the rPI has internal pull-up and pull-down resistors). So you don't need external ones. See this link for further infos: bit.ly/2iYm9k8</p>
<p>Such a sweet Idea! I love it!</p>
?Hello,<br>Thanks for the scripts, may I suggest to add an extra time.sleep(0.1) at the very beginning of the loop ? otherwise your processor ( top ) will be almost 100% dedicated to run the python script ... <br><br><br>cheers !
<p>I made one for my wife's birthday since she's the organized one in our family. Built a custom frame and hung it on a wall painted with chalkboard paint (I'll be running a recessed power outlet up behind it soon to hide the cord). I am really happy with how it turned out.</p><p>From top to bottom: </p><p>- Static Image (I was still working out spacing, so this image is a little squished, but we'll address that later)<br>- Date/Time display<br>- Google Calendar (I blurred that junk out to keep you creepers from creepin')<br>- Weather forecast app from forecast.io<br>- Instagram feed from Snapwidget.com<br>- News reader that features World, Local, and Sports news<br>- Random quote generator (I store about 150 quotes locally on the Raspberry Pi's SD card. It's a massive overkill 16 GB, so I've got plenty of space to add more later. Also, I've got plans to add some buttons, voice command, and music player in the future, so I decided to start out with a ton of storage space into which I can grow.)</p>
<p>Can you able to share your date and time code please?</p><p>Thanks</p>
<p>I'm very impressed with what you have done here. I am not nearly as technical as you all but I have a couple of questions: 1) Can this be set-up with Apple Calendar? 2) is there something out there that I can buy that will do what you all are doing?</p>
<p>This looks great! I'm well on my way to completing this project - I've removed the LCD bezel and it's ready to be put into a frame like yours. How did you attach the display to the frame? I can't really tell from the picture.</p><p>Also, is the front of the frame one single piece which has been routed, or is it four seperate pieces with miter cuts?</p><p>Thanks!<br></p>
You've pretty much got it... I made the frame first, used my router to cut in on the back of the interior lip of the frame, giving the frame just enough of a track to sit down into. I didn't use miter cuts, I actually just squared it off, making sure the box supported the frame across the square cuts. Since I was painting it, the cuts on the frame didn't matter all that much, so I didn't bother with the miter saw. The screen is held in place at the corners. This is probably the place where I could have spent more time/money getting it right, but I found that the screen almost wanted to stay in the track on its own. I used picture hangers tacked across all four corners and that is plenty secure.
<p>Thanks! I'm giving this a go this week. I had a chop saw set to 45deg for the mitre cuts, but it was about a degree acute, so they didn't match up. I've just bought a mitre box, so will be trying it by hand this time around.</p><p>I'll post pics if successful! :)</p>
How you hang it to wall?<br><br>Which material is the frame?
It's just pine boards I bought at the local hardware shop. It's premium boards, but since I painted it, anything would have worked with enough sanding. If I were going to build it again with just stain, I might use something that looked nicer, but paint covers a multitude of ugly spots on pine
<p>Anyone have the necessary code (redacted of course) for this particular build? It's got quite a few elements I like. In the process of making my own and trying to work out the best way to include elements such as these.</p>
<p>@Shamgar_BN Do you mind sharing your code? </p>
<p>Looks fantastic. I was able to mimic most of it, changing things where I wanted to. What did you use for your date/time? I've been trying to find some decent widget or javascript but I can't find anything good enough.</p>
<p><a href="http://time.is/widgets/California_City" rel="nofollow">http://time.is/widgets/California_City</a></p>
<p>Can you upload all index?</p>
<p>This one looks really smooth. I'm stuck on mine because of the webpage being too ugly.</p>
<p>I really like this is there any way you could post your code?</p>
<p>I was so taken with this i quickly put together a DAK board and mounted it in the kitchen on night while the wife was out. Short story is that Wife Approval Factor is extremely high and approval has been given for the &quot;full&quot; version.</p><p>i love the extensions that people have done to this and i will be using all of them!</p><p>I have an idea fro another 'extension, to add to my calendar, will keep you posted. actually i will probably be asking here for help to make it work!</p><p>thanks again!</p>
<p>I'm making this to have a use for an old Pi B board that I just can't bring myself to throw away. I picked up a driver board, traced down 5 VDC and ground, and connected it to the pi for power there. Overall things are working really well on the bench (okay - the footstool :)), so now it's woodworking time. <br><br>My question is - has anyone made the python code for the buttons work any more efficiently? It's taking up around 50% CPU, and I'd really like to cut that down. I already had to switch from Iceweasel to Epiphany for performance reason, which was working fine with me. That such a simple piece of code is strangling the CPU is concerning, but despite having passed a Coursera class in python programming - I know when to admit I'm in over my head and tweaking python is a weakness of mine. </p>
<p>I haven't looked at the code, but if the python is just looping forever waiting for a keypress, you may want to add a sleep command in there to let the other threads have some CPU.. That could be the problem there.. I've seen similar on other projects..</p>
<p>Wondering how things are coming with this. I too am trying to figure out a way to keep my Pi 1 B alive and this seemed like a good idea. I've only just begun and installed the latest version of Raspbian. Both IceWeasel and Epiphany spike the cpu to 100%. Any browsing activity spikes the cpu to 100%, so you can imagine it took a while to get to Goggle Calendar and once there the hot keys (M/A, N, P) were slow to respond. I'm wondering if I just have too high of expectations since it's an old Pi 1 B or if you have made any tweaks (overclocking, etc.). Thanks!</p>
I used a Pi B+ board for a while, and I had inconsistent loads of the web page info. Like you my board was always pegged at 100% CPU, and it just didn't respond well. <br><br>The reason I used the Pi B+ board in the first place was that I couldn't bring myself to throw it away, and in the end that was kind of a curse. One day I looked at the unused Pi 2 board I had, gracefully shut down my pical, snapped the Pi B+ board in half so I'd not be tempted to use it again, and replaced it with the Pi 2 board. Since then it always loads correctly, and the previously static weather map was animated. That was a surprise because it hadn't been before, which tells me that the system was trying to animate it but the pegged CPU just couldn't handle the load for that simple animation. <br><br>I totally get you wanting to use the Pi B board because I was in your shoes. If you can spare the dough for a Pi 2 or 3 board though, my advice is to ditch the Pi B board.
<p>You just saved me a lot of time. I tend to get a little stubborn when I think there's a chance I can make something work, so thanks for the reply. Pi 3 it is. Take care and thanks again.</p>
<p>You and me both, ad you're very much welcome. I hated to see that Pi B+ just sitting around doing nothing, and snapping it in half was the only way to make sure I wasn't in this same boat with another project later. You won't regret using a Pi 3 with this. </p>
<p>Can you upload all index?</p>
Can't really upload my whole index.html as it has the Google info linked to my personal calendar. :)<br> <br> However, I have updated how my piCal looks / works. I found the previous weather radar to occasionally cause resource issues because it was trying to do animation. To eliminate that, I have a script that I created (/usr/userscripts/radargrab) downloading the NOAA radar for my area every five minutes, and then changing the size of the picture to match what I want on my screen. I then updated my index.html to just grab that image.<br> <br> Here's my index.html, less the calendar info:<br> &lt;html&gt;<br> &lt;head&gt;<br> &lt;meta http-equiv=&quot;refresh&quot; content=&quot;900&quot;&gt;<br> &lt;script&gt;<br> <br> function setFocus() {<br> &nbsp;&nbsp;&nbsp; var iframe = document.getElementById(&quot;calender&quot;);<br> &nbsp;&nbsp;&nbsp; iframe.contentWindow.focus();<br> }<br> <br> <br> &lt;/script&gt;<br> &lt;/head&gt;<br> <br> &lt;body onLoad=&quot;setFocus()&quot;&gt;<br> &lt;br&gt;<br> &lt;iframe INSERT YOUR CALENDAR CODE HERE id=&quot;calender&quot;&gt;&lt;/iframe&gt;<br> &lt;br&gt;<br> &lt;iframe style=&quot;align:left&quot;id=&quot;forecast_embed&quot; type=&quot;text/html&quot; frameborder=&quot;0&quot; height=&quot;245px&quot; width=&quot;750px&quot; src=&quot;http://forecast.io/embed/#lat=35.2670&amp;lon=-81.1016&amp;name=Lowell,NC&amp;color=#00aaff&amp;font=Georgia&amp;units=us&quot;&gt; &lt;/iframe&gt;<br> &lt;br&gt;<br> &lt;img src=&quot;radar.jpg&quot; alt=&quot;Local Radar&quot;&gt;<br> &lt;/body&gt;<br> &lt;/html&gt;<br> <br> Here's the script I have running every five minutes:<br> #!/bin/bash<br> <br> cd /var/www/html<br> rm -f radar.jpg clt.gif<br> wget -q http://images.intellicast.com/WxImages/Radar/clt.gif<br> convert clt.gif -resize 745x450! radar.jpg<br> <br> I then added this to root's crontab:<br> */5 * * * * /usr/userscripts/radargrab<br> <br> I like how it works, and my piCal seems to have gotten some attention. My girlfriend has officially asked me to make her a piCal for her use. &quot;Sure, find me a working laptop screen&quot; was the reply she received. :)
<p>Hi Wonder if you can help me. Built me a raspberry pi3 calendar as per instructions using the latest raspbian jessie with chrominum and used your code to get my google calendar code. Placed it between the iframe brackets and run. Cant get my calendar to load but your weather app loads fine. HELP Please</p>
<p>Hey wood70 - Run through everything in Step 3 and you should be fine. That's what I did, and then I tweaked the weather forecast and radar from there. </p>
<p>Sorry about the late reply. Done what you said and if by magic up came my calendar. Now to play around with it. Thanks</p>
Perfect! Thanks men, i want to integrate a clock but i have some problem.<br><br>When i edit the index and insert clock code, i go to my web and the calenfar open but then it dissapears and then only shows clock....
<p><a href="http://time.is/widgets/California_City" rel="nofollow">http://time.is/widgets/California_City</a></p><p>You can type in the city name in the upper right corner (search icon) translate the page so you will see it in English.</p><p>This works perfectly for me</p>

About This Instructable

410,519views

2,644favorites

License:

More by ozua:Raspberry Pi: Wall Mounted Calendar and Notification Center 
Add instructable to: