Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Yes, you can build this floating-looking clock with an Arduino Nano, a DS3231 real-time clock, an 8×32 MAX7219 LED matrix, two buttons, and a transparent plate set at roughly 45 degrees. It is not a true volumetric hologram. The effect is a Pepper’s-ghost-style reflection: the hidden matrix reflects from the angled transparent screen, while mirrored software makes the reflected numbers read normally.
What you are actually building
The project has two separate systems:
- Electronic clock: an Arduino Nano reads the time from a DS3231 RTC module and drives the LED matrix.
- Optical enclosure: a clear, rigid plate reflects the matrix image toward the viewer.
The LEDs are not projecting light into empty air. The matrix is hidden from direct view, and the controlled reflection makes the numbers appear to float inside the enclosure. The original project, created by Mirko Pavleski (“mircemk”), was published in June 2023 and is marked complete on Hackaday. See the original project page for the published files and construction details.
Expect a restricted viewing angle rather than a 360-degree image. The display works best indoors, against a dark matte interior, with the viewer positioned in front of the intended reflection.
Recommended Free Tools
How the floating illusion works
Place the transparent acrylic, polycarbonate, or glass screen at approximately 45 degrees. Hide the LED matrix below or behind the screen so the viewer cannot see the LEDs directly. Light from the matrix reflects from the plate toward the viewer.
#1 Best Overall
- 35+ Guided Electronics Projects: Progress from LEDs and buttons to RFID access, real-time clocks, motion and distance sensing, environmental monitoring, motor control and interactive displays for STEM learning, coding clubs and maker projects
- More I/O and Memory for Larger Builds: The MEGA 2560 R3 provides 54 digital I/O pins, including 15 PWM outputs, 16 analog inputs, 4 hardware serial ports and 256 KB flash for projects that combine more sensors, controls and displays
- 200+ Components for Prototyping: Includes LCD1602, RC522 RFID, RTC, DHT11, HC-SR501 PIR, ultrasonic and water-level sensors, GY-521, MAX7219, keypad, joystick, rotary encoder, relay, SG90 servo, stepper motor, DC motor, breadboard and more
- Learn, Modify and Create: Follow 35+ guided lessons with example code, then adjust sensor thresholds, timing, display text, motor behavior and control logic to turn structured exercises into access systems, monitors, alarms and interactive projects
- Organized for Repeatable Learning: Pre-soldered modules, a solderless breadboard, storage case and small-parts box reduce setup time and keep sensors, LEDs, ICs, wires and other components easy to find between projects
The 45-degree arrangement is a useful starting point from the original build, not a universal dimension. The screen angle, matrix position, enclosure depth, and viewing height interact. Build the optical section temporarily with cardboard or clamps and adjust it before cutting permanent panels.
The matrix must display horizontally mirrored content. If ordinary text is reflected from the plate, it appears backwards. The software reverses the image first, so the reflection appears correctly oriented. If the numbers are backwards, fix the mirror transformation or the matrix-chain orientation before rebuilding the enclosure.
The apparent height of the floating image changes with the distance between the matrix and transparent screen. There is no single correct source-to-screen distance for every enclosure; adjust it experimentally while viewing from the final position.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Use black matte paper, paint, vinyl, or an enclosure lining around the matrix. Matte black surfaces absorb stray light and improve contrast. Glossy black plastic can create distracting highlights. Excessive ambient light behind the plate, direct visibility of the LEDs, dirt, scratches, or protective film on the screen can all weaken the illusion.
Features of the original project
The published clock software supports time display, date information, multiple display faces or modes, brightness adjustment, and 12- or 24-hour behavior. Two buttons provide control over settings and modes, although their exact pin assignments should be taken from the downloadable schematic and source rather than guessed from a parts list.
The creator also describes using the unit with specially formatted hologram videos played from a smartphone. For that use, the phone displays the appropriate black-background content at high brightness and the clock’s angled screen acts as the reflector.
Rank #2
- TURN CODE INTO REAL-WORLD RESULTS — Follow 22+ guided lessons to make LEDs blink, read temperature and distance, move servo and stepper motors, control an LCD and respond to joystick or IR input; ideal for a family weekend build, homeschool unit, coding club or STEM classroom
- MORE PROJECT VARIETY IN ONE ORGANIZED KIT — Includes the UNO R3 controller, LCD1602 with pre-soldered header, breadboard power module, ultrasonic and DHT11 sensors, joystick, IR receiver and remote, SG90 servo, stepper motor, relay, DC motor, fan blade, displays, LEDs, buttons, resistors and jumper wires
- START WITHOUT SOLDERING — Plug-in modules, a solderless breadboard and the pre-soldered LCD help beginners focus on wiring, code and testing; the illustrated component list makes it easier to find each part and move from one lesson to the next
- LEARN THE LOGIC, THEN CREATE YOUR OWN — Use Arduino IDE and the included example code to understand digital input and output, analog sensing, timing, motor control and display functions, then change thresholds, speeds and sequences for alarms, environmental monitors, reaction games and motion projects
- CLEAR SETUP SUPPORT FOR FIRST-TIME BUILDERS — Download the latest tutorial and code, select the UNO board and correct computer port, check component polarity and breadboard rows, and keep power-module input at 9V or below; younger learners should work with an experienced adult
Parts and tools
| Item | Quantity | Purpose and selection notes |
|---|---|---|
| Classic Arduino Nano or compatible ATmega328P Nano | 1 | Matches the original 5-V controller and legacy code. |
| 8×32 MAX7219 LED matrix | 1 | Four chained 8×8 sections provide the wide clock display. |
| DS3231 RTC breakout | 1 | Battery-backed timekeeping over I²C. |
| Momentary pushbuttons | 2 | Used for menu, mode, or time-setting controls. |
| Thin transparent plate | 1 | Acrylic is easy to cut; polycarbonate is tougher; glass is rigid but harder to work safely. |
| 5-V USB power source and data-capable USB cable | 1 | Provides power and allows programming. |
| Jumper or hookup wire, breadboard or perfboard | As required | For prototyping and final wiring. |
| Black matte enclosure material | As required | Blocks direct light and reduces internal reflections. |
You will also need a soldering iron and solder, wire cutters and strippers, a multimeter, screwdrivers, and a ruler or caliper. Depending on the enclosure, add a drill, saw, laser cutter, or 3D printer. A temporary cardboard mock-up is strongly recommended.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsChoosing the transparent screen
Thin acrylic is lightweight and inexpensive but scratches easily. Polycarbonate resists impact but may be more difficult to source optically flat. Glass is rigid and scratch-resistant but heavy and hazardous to cut. The original project notes that thick ordinary glass can blur the reflected image through refraction; treat that as construction guidance from this design, not a guarantee that every glass type will behave identically.
Controller and module compatibility
The classic Nano is approximately 45 × 18 mm, uses 5-V logic, has 14 digital I/O pins and 8 analog inputs, and provides 32 kB of flash and 2 kB of SRAM. It uses a Mini-B USB connector and has no dedicated power jack. These specifications are documented by Arduino.
Use the classic Nano if your priority is a faithful reproduction. Nano Every and Nano R4 use different controller families, bootloaders, and software environments. They may fit the same general form factor, but the original AVR-oriented sketch and libraries should not be assumed to compile unchanged.
The Nano R4 is substantially more powerful, with a 48-MHz Arm Cortex-M4, 256 kB flash, 32 kB RAM, USB-C, and additional hardware features. Those capabilities are unnecessary for a basic clock. Select it for a redesigned build only after verifying the complete sketch and libraries.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallWiring plan
Use the following connections for the classic Nano arrangement documented in the published project code. Check the labels on your actual matrix before applying power: connector orientation, DIN/DOUT direction, and power labels vary between modules.
Rank #3
- 30+ Guided Electronics Projects: Start with LEDs and build toward LCD1602 displays, RFID access, motion detection, distance sensing, motor control and environmental monitoring for STEM learning, coding clubs, classrooms and hobby projects
- 200+ Components Across 63 Types: Includes an ELEGOO UNO R3 controller, LCD1602, RC522 RFID, RTC, HC-SR501 PIR sensor, ultrasonic sensor, DHT11, GY-521, MAX7219, keypad, joystick, relay, SG90 servo, stepper motor, breadboard and more
- Begin Without Soldering: Pre-soldered modules, a solderless breadboard, organized storage case and small-parts box reduce setup time and help beginners move from lesson to lesson while keeping LEDs, ICs, wires and sensors easy to find
- Learn, Modify and Create: Program the ELEGOO UNO R3 board with Arduino IDE using the included PDF tutorial and example code, then adjust sensor thresholds, timing, display text and motor behavior to turn guided lessons into original projects
- Flexible Power and Project Setup: Includes a 9 V, 1 A power supply, breadboard power module, 9 V battery and USB cable to support controller, breadboard and module experiments without sourcing basic setup accessories separately
MAX7219 matrix
| Matrix signal | Classic Nano connection |
|---|---|
| VCC | 5 V |
| GND | GND |
| DIN | D11 |
| CLK | D12 |
| CS or LOAD | D10 |
The source code initializes the display as LedControl lc = LedControl(10, 12, 11, 4);, meaning load/chip-select D10, clock D12, data D11, and four controlled devices. This is a software configuration for the published build, not a universal pinout for every MAX7219 product. Connect to DIN, not DOUT; DOUT is used when chaining another module.
DS3231 RTC
| RTC signal | Classic Nano connection |
|---|---|
| VCC | A suitable 5-V-compatible supply for the specific breakout |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
The DS3231 communicates over I²C and maintains seconds, minutes, hours, date, month, day, and year. It includes leap-year compensation through 2100. The manufacturer specifies approximately ±2 ppm accuracy from 0 °C to 40 °C and ±3.5 ppm from −40 °C to 85 °C for the device family; actual module quality and temperature still matter. See the manufacturer’s specifications.
DS3231 breakout boards are not all identical. Some include EEPROM, charging circuits, voltage regulation, or different battery arrangements. Inspect the board and battery type instead of assuming that every inexpensive module is wired the same way.
Buttons
The original project uses two buttons, but the available published excerpts do not establish their complete pin numbers, pull-up configuration, and resistor arrangement. Do not copy an assumed button pinout. Download and follow the published schematic and source for those connections. If you redesign the inputs, document whether the code expects active-low buttons with internal pull-ups or external resistors.
All modules must share a common ground. Use a stable 5-V supply, check polarity with a multimeter, and avoid powering a bright matrix through thin or unreliable wiring.
Software setup
- Install the current Arduino IDE.
- Connect the Nano with a data-capable USB cable.
- Choose the appropriate Nano board under Tools → Board, then select the correct port under Tools → Port.
- Install the libraries required by the source:
LedControl,FontLEDClock,RTClib, andButton, using the exact source files and compatible library versions where necessary. - Upload a simple Blink sketch before connecting the complete project.
- Test the matrix and RTC independently, then compile and upload the clock sketch.
The historical project code was reportedly tested with Arduino IDE 1.6.5. That is not a recommendation to install such an old IDE. Modern library managers and APIs can differ, so treat missing-library and compile errors as compatibility problems to diagnose rather than proof that the wiring is wrong. Arduino’s current DS3231 library documentation lists the current library separately from the historical project dependencies.
Rank #4
- All-in-One Starter Kit for Arduino Beginners: The Kit features the original Arduino Uno R4 WiFi board, 300+ high-quality components, and 60+ free video lessons co-created with educator Paul McWhorter. With over 50 projects (30 basic, 13 fun, and 8 IoT), it's perfect for beginners aged 8+ to explore Arduino. Certified RoHS compliant, it ensures safety and quality for all learners.
- Powerful Arduino Uno R4 WiFi Board: Upgraded from the Arduino Uno R3, the Arduino Uno R4 WiFi features a 32-bit processor, more memory, and built-in WiFi and Bluetooth, enabling connection to third-party apps for more interactive and practical projects.
- 300+ Components for Endless Possibilities: With 300+ components and sensors, this kit is perfect for portable projects. It features step-by-step tutorials, open-source code, and compatibility with other Arduino boards like Uno R3 and Nano, offering endless customization and learning opportunities.
- Engaging Projects for Every Skill Level: Featuring 50 projects (30 basic, 13 fun, 8 IoT) with IoT app integration like Arduino IoT Cloud , this kit supports Arduino C++ programming, making it perfect for students, teachers, and engineers to learn, code, and create at any skill level.
- Dedicated Support for Beginners: Alongside online resources and video tutorials, SunFounder provides technical support and troubleshooting forums to help beginners solve programming challenges with ease.
Set and verify the time
Run an RTC readout or time-setting example first. Set the time once, compile and upload the setting sketch, then switch to a read-only clock sketch so the RTC is not reset every time the Nano starts. Confirm that the time advances correctly, disconnect USB power, wait several minutes, and reconnect to verify battery-backed operation.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →If the clock resets after power removal, check the battery, its polarity, the module’s charging circuitry, and whether the uploaded code overwrites the time at startup.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Recommended construction sequence
- Test the Nano. Confirm the board selection, serial port, bootloader option if required by your clone, and USB cable.
- Test the matrix. Run an all-pixels or text test. Confirm D10, D11, D12, 5-V power, common ground, and DIN direction.
- Test the RTC. Check A4/A5, identify the I²C address, set the time, and verify retention without USB power.
- Add the buttons. Follow the project schematic and confirm each input performs the expected action.
- Upload the clock program. Check the mirrored output, brightness, modes, date, and 12/24-hour behavior.
- Build a cardboard optical jig. Start near 45 degrees and experiment with the matrix-to-screen distance.
- Hide the matrix. Ensure the viewer sees the reflection, not the direct LED source.
- Line the interior. Use matte black surfaces and eliminate gaps that admit stray light.
- Make the permanent enclosure. Keep the screen rigid and preserve the successful prototype dimensions.
- Align in the final room. Test in both dim and bright conditions, from the intended viewing position.
Troubleshooting
Nothing appears on the matrix
- Confirm VCC, GND, DIN, CLK, and CS/LOAD.
- Check that the Nano and matrix share ground.
- Verify the module’s DIN/DOUT orientation.
- Confirm the software is configured for four devices.
- Try a known-good 5-V supply and inspect loose connectors.
Characters are backwards, scrambled, or upside down
Check the software mirror transformation, matrix chain order, module orientation, and font bit order. A physical rotation may solve one orientation problem while creating another; correct mirroring in software whenever possible.
The matrix flickers or shows random pixels
Shorten long jumper wires, improve the ground connection, use a stable supply, reseat the connector, and check that the software is not repeatedly reinitializing the display. Do not assume a universal current figure: consumption depends on the exact matrix and brightness setting.
The time is wrong
Set the RTC with a dedicated time-setting sketch, check the coin cell and polarity, and ensure the main program does not reset the clock on every boot. If the module contains unexpected charging circuitry, verify that its battery arrangement is suitable for the cell being used.
The buttons do nothing
Return to the downloadable schematic and source to verify the exact pins, active state, pull-up or pull-down arrangement, and button debounce behavior. A button wired as active-low will not work correctly if the program expects active-high input.
Best Value
- The most economical kit comes with everything compatible with Arduino to starting programming for beginners .
- This is the upgraded starter kits come with a 9V 1A Power Adapter (At least $5.99 on amazon) to replace a 9V Battery , and the Lcd1602 module come with pin header(not need to be soldered by yourself).
- Include High Quality Base Board base on Arduino UNO R3 compatible with Arduino IED and Sensors, Servo, Motor, ULN2003 driver board, lcds, etc.
- Free PDF Tutorial and Datasheet are available to download from our official website or you can contact our customer service.
- All of the Components and Integrated Circuits are individually packaged and labeled, and packing in a plastic box which is bigger enough for you.
The reflection is dim or invisible
Reduce ambient light behind the screen, increase brightness gradually, hide direct LED light, clean the plate, and adjust the viewing position. Maximum brightness is not always best: it can produce glare, reveal the source, or wash out the reflection.
The image is blurry
Check that the screen is flat and clean, remove protective film, improve alignment, and try a thinner plate. Thick glass was specifically associated with blur in the original project guidance, although material behavior varies.
The image is too high or too low
Change the distance between the matrix and transparent screen. Recheck the result from the intended viewing position before fixing the supports permanently.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →A smartphone video does not appear
Use content designed for this reflection geometry, a black background, high phone brightness, and the correct viewing angle. A normal video will not automatically produce the four-way hologram effect used by phone displays.
Possible upgrades
- Automatic brightness: Add an ambient-light sensor and adjust MAX7219 intensity for room conditions.
- Modern controller: Try a Nano Every or Nano R4 only after checking board-specific library and pin compatibility.
- Wireless time setting: A Wi-Fi-capable controller can synchronize time, but this changes the original architecture and power requirements.
- Expanded display: A larger matrix improves legibility but increases enclosure size, power demand, and software work.
- More information: Add alarm, temperature, or calendar modes, provided the display remains readable through the reflection.
- Custom PCB: Move to perfboard or a fabricated PCB after the breadboard wiring and optical geometry are proven. Fabrication services such as PCBWay are more appropriate at that stage than during initial experimentation.
An 8×12 Modulino LED Matrix is not a direct replacement for the 8×32 MAX7219 display: it uses a different ecosystem and has a much narrower display area. It could suit a redesigned small clock, not a faithful reproduction.
Is it worth building?
This is a strong beginner-to-intermediate project because the electronics are approachable and the visual payoff is high. The difficult part is not advanced coding; it is controlling reflections, hiding the direct source, choosing a suitable transparent plate, and aligning the enclosure.
Build the classic Nano version if you want the closest match to the published project. Prototype the optical geometry before committing to acrylic, glass, or a permanent enclosure. With realistic expectations—a reflection illusion, limited viewing angle, and indoor use—the DIY Arduino Holographic Matrix Clock is a practical and visually engaging display project.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.


Leave a Reply