Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Ÿ Casio Dashboard

A retro LCD-style personal dashboard designed for old iPads (iPad 2, iOS 9+) β€” or any browser. Displays the time, weather, and your Google Calendar events for the next 7 days, with a Casio F-91W aesthetic.

Casio Dashboard


Features

  • πŸ• Real-time clock with DSEG7 LCD font (authentic 7-segment display)
  • 🌀️ Live weather via Open-Meteo β€” no API key needed
  • πŸ“… Calendar β€” next 7 days across multiple Google Calendars
  • 🎨 3 themes β€” Green (classic), Blue (backlight), B&W (monochrome)
  • πŸ“± Works on iPad 2 / iOS 9 β€” no CSS variables, no modern JS
  • ⚑ Deploy to Vercel in 1 minute β€” static HTML + 2 serverless functions

Deploy in 1 minute

Deploy with Vercel

  1. Click the button above
  2. Set your environment variables (see below)
  3. Done β€” your dashboard is live πŸŽ‰

Configuration

Location (weather)

Edit index.html and update the coordinates at the top of the <script>:

var LAT = -34.6037;  // your latitude
var LON = -58.3816;  // your longitude

Calendar β€” Option A: ICS URL (simplest)

Works with Google Calendar, iCloud, Outlook, or any .ics feed.

  1. In Google Calendar β†’ Settings β†’ [your calendar] β†’ Integrate calendar
  2. Copy the "Secret address in iCal format" URL
  3. Set in Vercel environment variables:
CAL_NAME_1=Work
CAL_ICS_1=https://calendar.google.com/calendar/ical/you@gmail.com/private-TOKEN/basic.ics

CAL_NAME_2=Personal
CAL_ICS_2=https://...

Calendar β€” Option B: Google Apps Script (for Workspace accounts)

If your events show as "BUSY" with the ICS method, use this instead:

  1. Go to script.google.com β†’ New project
  2. Paste this code:
function doGet() {
  var cal    = CalendarApp.getDefaultCalendar();
  var today  = new Date();
  var limit  = new Date(today.getTime() + 7 * 24 * 60 * 60 * 1000);
  var events = cal.getEvents(today, limit);

  var result = events.map(function(e) {
    var start  = e.getStartTime();
    var end    = e.getEndTime();
    var allDay = e.isAllDayEvent();
    return {
      title:    e.getTitle(),
      date:     Utilities.formatDate(start, 'America/Argentina/Buenos_Aires', 'yyyy-MM-dd'),
      dayLabel: ['DOM','LUN','MAR','MIΓ‰','JUE','VIE','SÁB'][start.getDay()],
      dateNum:  Utilities.formatDate(start, 'America/Argentina/Buenos_Aires', 'dd/MM'),
      start:    allDay ? null : Utilities.formatDate(start, 'America/Argentina/Buenos_Aires', 'HH:mm'),
      end:      allDay ? null : Utilities.formatDate(end,   'America/Argentina/Buenos_Aires', 'HH:mm'),
      allDay:   allDay,
      calendar: 'Personal'
    };
  });

  return ContentService
    .createTextOutput(JSON.stringify({ events: result }))
    .setMimeType(ContentService.MimeType.JSON);
}
  1. Deploy β†’ Web app β†’ Execute as Me β†’ Anyone can access
  2. Copy the URL and set:
CAL_APPS_SCRIPT_URL=https://script.google.com/macros/s/YOUR_ID/exec

⚠️ Change the timezone in the script to match yours (America/Argentina/Buenos_Aires β†’ your timezone)


iPad setup (kiosk mode)

To keep the iPad always on and locked to the dashboard:

  1. Open Safari β†’ navigate to your Vercel URL
  2. Tap Share β†’ Add to Home Screen
  3. Open from the Home Screen icon (full screen mode)
  4. Settings β†’ General β†’ Accessibility β†’ Guided Access β†’ Enable, set a PIN
  5. Triple-click Home β†’ Start β€” iPad is now locked to the dashboard

Keep it plugged in so it never dies πŸ”‹


Tech stack

  • Frontend: Vanilla HTML/CSS/JS (compatible with iOS 9 / Safari 9)
  • Backend: 2 Vercel serverless functions (Node.js)
    • /api/weather β€” proxies Open-Meteo (bypasses iOS 9 TLS issues)
    • /api/calendar β€” fetches ICS / Apps Script and parses events
  • Fonts: DSEG7 (LCD display font) + Share Tech Mono
  • Weather: Open-Meteo (free, no API key)

License

MIT β€” do whatever you want with it.

Made with ❀️ and a recycled iPad 2.

About

πŸ“Ÿ Retro Casio LCD dashboard for old iPads β€” real-time clock, live weather & Google Calendar. Works on iPad 2 / iOS 9+. Deploy to Vercel in 1 minute.

Resources

Stars

47 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages