Close
0%
0%

Persistence of Vision Business Card

A circuit in the business card form factor that uses persistence of vision and hand actuation to scroll contact information using LEDs.

Similar projects worth following
0 followers
This idea was conceived and designed specifically for the 2024 Hackaday Business Card challenge. The idea is to use an MPU-6050 accelerometer and a 1D array of LEDs to draw letters in the air via user hand motions and some signal processing from the accelerometer to detect appropriate times to turn LEDs on and off. Small form factor limits the circuit to be relatively simple. The microcontroller is an ATMega328 configured for Arduino on a breadboard. Circuit will be powered by a CR2032 battery in a holder. Hand soldered on a breadboard with through-hole components for now, hopefully I might be able to develop a second revision using custom PCB and SMT components.

This is a business card that uses persistence of vision to display characters in space generated via hand actuation. An accelerometer/gyroscope is used to detect the direction of actuation to properly cycle through character pixels in the appropriate direction so that the character is displayed correctly for both up and down hand swings.

The project is run on an ATMega328PU which receives telemetry from a GY-521 module which itself is based on the MPU-6050 combination accelerometer/gyroscope. The ucontroller receives telemetry on the Analog 4 and 5 pins via I2C. The telemetry is processed to determine the direction of travel and the ucontroller outputs digital high/low signals on digital pins 5 through 13 to light the LEDs, There are two momentary button switched attached to digital pins 2 and 3 with internal pull-up resistors for user input.

The current implementation of the card only examines direction of travel  to increment or decrement a counter which scans over an array of values representing the outputs needed on the ucontroller to display the character, Currently there is only a static delay between individual steps for a character "sweep" but future development will hopefully utilize the combined accelerometer and gyroscope telemetry to more sophisticatedly determine frequency and position of the card to display characters in a more stable fashion- more development is needed in this regard. 

  • 1 × ATMega328PU Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × Battery 3V CR2032 Coin Cell, LiCB-CR2032-10
  • 9 × LED Fiber Optics / Emitters
  • 2 × Momentary Push Button 6mmx6mm push button for ucontroller input
  • 1 × Battery Socket Through Hole Battery Socket Holder for use with CR2032 battery - BSH-BB-3V-B-10

View all 9 components

  • REV 2 progress and Catching up on history

    DTW Projects2 hours ago 0 comments

    I have been very deficient in project logs and now I will suffer trying to capture development history but here it goes:

    • Ran into persistent issues with REV 1 board where battery browns out and resets the systems. This was most likely due to directly driving LEDs from ucontroller outputs with no resistance to limit current (I'm aware this is generally bad practice but I wanted to get blinkin' quickly- I paid for this with the brown outs)
      • This wasn't an issue when board was powered through Arduino 3.3 V pin which was fine for development and testing but made it difficult to test persistence of vision with all the cables hooked up
      • More than once unplugged cables which were supplying power and providing debug info through arduino serial. Also fatigued a couple cables 
    • Spun a second revision of the board with 800 ohm resistors to limit LED current.
      • Battery test indicated that coin cell can easily handle reduced load
      • 177 mA max current with rev 1 board - All LEDs on. brief research suggests coin cell will be drained in about an hour (abismal)
      • 30-40 mA max current draw with rev 2 board - 8 hours of continuous operation (significantly better and definitely overkill)
      • Regarding power: i've identified a need to incorporated sleep functions into ucontroller and accelerometer to increase battery life
    • Ran into problems with GY-521 boards
      • no telemetry on some
      • registers returning all zeros
      • so far investigation suggests either ESD or damage from accidentally applying 5V. incorporated practed
      • 4 boards useless so far
        • current board won't populate two largest bits on Z acceleration which is unfortunately the more pertinent metric
        • Mitigating by examining X-axis gyro for now
        • ordered more boards to further investigate (maybe I'll get one that works without issue)
        • rev 1 board works flawlessly but has been soldered in (not gonna risk removing as rev1 is my backup for development)
    • Need to post video of test but rolling shutter issues limit the effect

  • Minor board spin to improve testability and development

    DTW Projects20 hours ago 0 comments

    Added a couple photos of a second revision: the original design powered the LEDs from the atmega pins directly with no resistance- this was causing the device to brown out under coin cell battery power. New revision adds about 800 ohms after the LEDs to reduce overall current consumption. Tests indicate that the coin cell ought to be able to provide enough power under this configuration. Finally, no longer constrained to test under the tether of supply wires!

  • Beginning Documentation

    DTW Projects5 days ago 0 comments

    I had intended to submit project to Hackaday after working out some hardware kinks and finishing software. I wanted a functional minimum viable product before even creating the hackaday.io page. I expected to submit just before the deadline. This is my first Hackaday contest and wanted things to at least work before submitting.

    Was listening to Hackaday podcast and Elliot mentioned he can't wait to see one of the submissions "start working". This reframed my mentality about project submissions- figured I'd try to get stuff in and get it working later.

    I have almost no practice documenting my own projects and want to get better. Creating the .io page is a good start but I have cold feet before completely submitting (still want things to work). Will use .io page to practice documentation and project logging and plan to submit once I have updated with a minimum viable product- this is a step in the right direction. Updates pending soon (the clock is ticking!).

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates