Open source family wall calendar

Your family's day, framed.

Marco puts the family calendar, the weather, birthdays and your photos on one calm screen in the kitchen or the hall. Run it on your own server, a mini PC, a NAS or a Raspberry Pi, and your data stays with you. Or let us host it with Marco Cloud.

Screen style
curl -fsSL https://marcohome.app/install | bash
Star on GitHub

One glance before school.

Who has football, when the dentist is, whose birthday is on Sunday and whether to take a coat. Marco keeps it on the wall, so nobody has to ask or open an app.

  • 11layouts, landscape or portrait
  • 3languages: English, Spanish, Portuguese
  • 0accounts or subscriptions needed at home

The display

What's on the wall

It all comes from the calendars and feeds you already use. This is what the screen shows.

Every calendar in one month view

Google Calendar, iCloud, Outlook or any iCal link. Each calendar keeps its colour, and events get a matching emoji by themselves: football, the dentist, flights, dinners.

Every calendar in one month view

Holiday rental stays

Airbnb and Booking calendars show up as bars from check-in to check-out, with small icons for the guests. Arrivals and departures also appear next to the clock.

Holiday rental stays

Announcements with sound

"The washing machine is done." A full-screen card with a chime, sent from Home Assistant, a script or your phone. Reminders like "Take out the bins" can repeat every Tuesday and Friday.

Announcements with sound

News, countdowns and a note for everyone

A ticker from any RSS or Atom feed, countdowns to the dates that matter, a to-do list and a message of the day.

News, countdowns and a note for everyone

Live weather on the screen

With Open-Meteo or Home Assistant, the screen follows the sky outside: drops on the glass, falling snow or a warm sun. This one runs live in your browser.

Live weather on the screen

Birthdays with ages, and what is coming up

"Today: Elena (39)", "In 2 h 12 min: client call", "Halloween party tomorrow". The important things sit next to the clock.

Birthdays with ages, and what is coming up

Weather without an API key

Current conditions, hourly and five days ahead from Open-Meteo, or from your Home Assistant sensors. When it rains outside, it rains on the screen.

Weather without an API key

Your photos, framed well

Your own gallery or stock photos. Smart cropping keeps faces and pets clear of the clock and the weather, with a slow zoom and soft transitions.

Your photos, framed well

One server, several screens

Put one in the living room and one in the kitchen. Each screen has its own layout, theme, photos and calendars, and you can reload, identify or dim any of them from your phone.

One server, several screens

Private links and pairing codes

Screens are private by default. Open the screen's private link, or type the code a new TV shows into your phone. You can revoke a device at any time.

A new screen showing a pairing code and a QR code

And a lot more

  • Sound alertsEvery announcement plays a chime, so you hear it from the next room. Send one from the admin in two taps.
  • Scheduled messages"Take out the bins" on Tuesday and Friday from 20:00 to 22:00, or a one-off note for tomorrow morning.
  • Night modeThe screen dims on a schedule and wakes up in the morning, or you can switch it from your phone.
  • Countdowns"Trip to Madeira in 12 days." Add them by hand or let Marco pick them up from your events.
  • Local events and birthdaysAdd events straight in the admin, repeating every week, month or year. Import birthdays from a CSV file.
  • Filters and renamingHide "Not available", rename a long series or give it its own colour and emoji, with a preview of the next 14 days.
  • Emoji rules you can edit35 categories and about 400 keywords in English, Spanish and Portuguese, with a tester to try a title.
  • Live updatesChanges reach the screen within a second, without a reload. If the server goes away, the screen keeps the last data.
  • Home Assistant and webhooksWeather entities, indoor sensors and API tokens, so your automations can talk to the screen.
  • BackupsAutomatic backups, export and import with a preview, and an activity log of what changed.
  • Light on a Raspberry PiA 30 fps cap, it pauses when hidden, and a lite mode turns the 3D effects off on old hardware.
  • Three languagesThe screen and the admin speak English, Spanish and Portuguese.

Two styles

Modern or Classic, screen by screen

Each screen picks its own look, and it works with any layout. New screens start in Modern. You can switch in the admin, under Layout.

The big calendar layout in the Modern style: glass cards over a fjord photo and the month on the right.
ModernDefaultMinimal and calm: glass cards over your photo, a large clock like the one on a phone lock screen and a clean month grid.
The same screen in the Classic style, with solid panels and coloured event blocks.
ClassicThe original Marco look, with solid panels and bright event colours. Still there for anyone who prefers it.

Glass you can tune

In Modern, the cards are made of glass, and you decide how it looks.

  • AppearanceTransparent, tinted or automatic, following the photo.
  • TransparencyFrom almost clear to nearly solid.
  • BlurHow soft the photo looks behind the cards.
  • TintLight, dark or taken from the photo.
  • Light edgeA thin bright rim around each card, on or off.

Layouts

One screen, any shape

Eleven layouts, from the big family month to a dim clock for the bedroom. Each one works in landscape or portrait, with a dark or light theme, and the calendar can switch to a week view.

  • Big calendar: The month fills most of the screen, with the clock and weather beside it.
    LayoutBig calendarThe month fills most of the screen, with the clock and weather beside it.
  • Left and right: Clock and weather in one column, the calendar in the other. Shown here with the light theme.
    LayoutLeft and rightClock and weather in one column, the calendar in the other. Shown here with the light theme.
  • Top and bottom: Clock and weather across the top, the month below.
    LayoutTop and bottomClock and weather across the top, the month below.
  • Big clock: A large clock over your photos.
    LayoutBig clockA large clock over your photos.
  • Agenda: The next few days as a list.
    LayoutAgendaThe next few days as a list.
  • Today: The day hour by hour with a line for now, the next event in large type and the weather for the coming hours.
    LayoutTodayThe day hour by hour with a line for now, the next event in large type and the weather for the coming hours.
  • Per person: A column for each person or calendar, with today and tomorrow.
    LayoutPer personA column for each person or calendar, with today and tomorrow.
  • Photo frame: The photo on its own, with a small clock card in the corner you choose.
    LayoutPhoto frameThe photo on its own, with a small clock card in the corner you choose.
  • Two weeks: The month grid with just two roomy rows, so more events fit each day.
    LayoutTwo weeksThe month grid with just two roomy rows, so more events fit each day.
  • Board: The family board: agenda, countdowns and upcoming birthdays.
    LayoutBoardThe family board: agenda, countdowns and upcoming birthdays.
  • Bedside: A huge, very dim clock with the next event and the temperature. It dims further at night.
    LayoutBedsideA huge, very dim clock with the next event and the temperature. It dims further at night.
  • Week view: Seven columns, hour by hour, in any layout.
    ViewWeek viewSeven columns, hour by hour, in any layout.
  • Portrait: Hang the screen upright and the layout turns with it.
    OrientationPortraitHang the screen upright and the layout turns with it.
  • Big clock, upright: The clock over your photo, on a screen hung upright.
    OrientationBig clock, uprightThe clock over your photo, on a screen hung upright.

Live demo

The real app, running right here.

This is the same display you install at home, live in your browser with sample data. Turn it upright or switch between Modern and Classic to see how it looks.

Marco live demo with sample data (Landscape)Marco live demo with sample data (Portrait)

Two ways to run it

Two ways to run Marco

The same app either way. You choose where it lives.

Available now

On your own server

A Raspberry Pi, a NAS, a mini PC or any Linux machine at home. One command installs it and everything stays on that machine.

  • No account, no subscription
  • Works on your home network
  • Updates with one command
Beta

Marco Cloud

We host it for you at app.marcohome.app, entirely on Cloudflare (Workers, D1 and R2), with your data stored in the EU. It uses the same admin as the self-hosted version, and your first screen is ready in a few minutes.

  • Nothing to install or update
  • Open your screens from any browser
  • Free for families

Marco Cloud

Prefer not to run a server? Use Marco Cloud.

Marco Cloud is the same app, hosted by us, and you manage it from the same admin as the self-hosted version. Create an account, add your calendars and open the private link on any TV, tablet or old phone, or pair a TV with a code. It all runs on Cloudflare's infrastructure: Workers, D1 and R2.

  • Sign in with a password or a link by email
  • Your calendars, birthdays and screens in one account
  • Pair a TV with a code, nothing to install
  • Data stored in the EU

Start in a few minutes

Create your free accountI already have an account

Free for families, with no paid plan. We may change or end the service, always with notice first. The terms have the details.

See how we handle it in the privacy policy.

Install

Install it at home

Marco runs on Raspberry Pi OS, Debian, Ubuntu or Docker. Pick the way that fits your setup.

One-line installer

Run this on the machine that will host Marco. It asks what role that machine will play:

curl -fsSL https://marcohome.app/install | bash

It downloads the latest release (or builds it from source if there is none yet), sets up a system service and shows a QR code so you can finish the setup from your phone. After that, the marco command does the chores:

marco status
is it running, and where
marco update
install the latest release
marco logs
follow the log
marco url
print the admin and screen addresses
marco uninstall
remove it, keeping your data if you want

First run

Set up in five minutes

A fresh install opens a setup wizard. No default password and no config files to edit.

Setup wizard screenshot, step 1: Welcome
Setup wizard screenshot, step 2: Password
Setup wizard screenshot, step 3: Location
Setup wizard screenshot, step 4: Calendars
Setup wizard screenshot, step 5: Look
Setup wizard screenshot, step 6: Done
Change everything from your phone.

Change everything from your phone.

The admin works on any phone or computer in your home. Changes show up on the screen within a second, without reloading it.

  • Send an alert with sound in two taps
  • Dim the screens at night, or wake them up
  • Add a birthday, an event or a countdown
  • Upload photos straight from the camera roll, iPhone HEIC included
  • Pair a new screen with the code it shows
  • See which screens are online, and reload or identify them

Hardware

What you need

Very little. Most families already have the pieces in a drawer.

  • A Raspberry Pi 3, 4 or 5

    A Pi 4 or 5 is best. A Pi 3 works with lite mode, which turns off the WebGL effects. Any mini PC or old laptop works too.

  • Any TV or monitor

    Anything with HDMI. Hang it sideways and Marco switches to the portrait layout.

  • Or just a browser

    A tablet on the fridge or the browser on a smart TV. A new screen shows a short code: type it on your phone to start that screen.

Kiosk mode on the Pi

  • Boots straight into the calendar, full screen.
  • No screen blanking and no mouse cursor.
  • Give it the screen's private link once and it boots straight into it.
  • Night mode dims the screen on a schedule.
A new screen showing a pairing code and a QR code

Privacy

Your photos and calendars stay home

With self-hosted Marco, everything runs on your own hardware. We never see your calendars, your photos or who is in your family.

  • No accountNo sign-up and no subscription for the self-hosted version.
  • No telemetryIt only connects to the calendars, weather and news feeds you add, stock photos if you choose them, and an emoji font from Google Fonts.
  • Read-onlyGoogle Calendar access is read-only. Tokens stay on your server.
  • MIT licensedThe code is on GitHub. You can read it, change it and run your own copy.

Questions

Frequently asked questions

Does it work with Google Calendar?

Yes. Paste the calendar's secret iCal address, or create a free Google OAuth client and link your account for read-only access with faster updates. iCloud, Outlook and any iCal link work as well.

Which Raspberry Pi do I need?

A Raspberry Pi 4 or 5 with Raspberry Pi OS Bookworm (64-bit) is best. A Pi 3 works with lite mode. Any mini PC, old laptop or Docker host can run the server too.

Does it need the internet?

Only to fetch your calendars, the weather and the news. If the connection or the server drops, the screen keeps showing the last data it had.

Which languages does it speak?

English, Spanish and Portuguese, on the screen and in the admin. Each screen can use its own language.

Does it work with Home Assistant?

Yes. Marco can show a Home Assistant weather entity and indoor sensors. Home Assistant can send announcements, reload screens or turn night mode on and off through the API.

How much does it cost?

Nothing. Marco is free and MIT licensed. Marco Cloud is free for families as well.

Can I use a tablet or a smart TV?

Yes. Any modern browser can be a screen. Open its private link or pair it with a code.

How do I update it?

Run marco update if you used the installer. With Docker, pull the latest code and run docker compose up -d --build. Your data is kept.

Hang it on the wall tonight.

Run one command, answer a few questions in the setup wizard, and the family calendar goes up where everyone can see it.

curl -fsSL https://marcohome.app/install | bash