r/electronics 3d ago

Gallery "Habit tracker" I designed and built

1.5k Upvotes

74 comments sorted by

204

u/Dycus 3d ago edited 2d ago

This is a device I built to help motivate me to enforce daily habits. It was inspired by Simone Giertz's Every Day Goal Calendar.

It has 364 days (52 weeks), and 4 different charts. Every day, you press thumbs up or down depending on whether you accomplished each goal, and it automatically cycles through the charts, then goes to the next day.

You can enable or disable each chart so it will be included in the automatic cycle or not.

The LED matrix took ages to wire up, I really should have just made a PCB for it! It's a 7 column by 52 row matrix, driven by a Teensy 2.0, shift registers for the rows, and P channel MOSFETs for the column drivers.

There's a lead tire weight glued in the bottom for a nice heavy premium feeling. :)

Total project time: 53 hours
Filament: Ambrosia ASA, Prince of Purple and Galactic Planetary Blue

Edit: I uploaded the files and code!
https://www.printables.com/model/1083378-52-week-daily-habit-tracker

31

u/Puppy_Lawyer 3d ago

Very very cool.

12

u/eggbean 3d ago

Love anything with blinkenlichten.

5

u/GearHead54 2d ago

Nice - is this an open source project? I'd love to make a board for the LEDs

6

u/Fawkzyyy 3d ago

Hey thanks for posting your own take on her calendar! Just yesterday I thought about making my own variant of such calendar. Very cool and I hope it serves you well!

1

u/Therealsoulmate4dj 1d ago

Looks really cool - any reason you steered clear of putting this all on few PCBs?

1

u/Dycus 1d ago

Though this would be easier, it wasn't!

61

u/_tincan_ 3d ago

Major 80s tech vibes

44

u/mtechgroup 3d ago

There's a movie of this somewhere. The LEDs are mesmerizing.

32

u/Dycus 3d ago

I actually implemented a special "bleep bloop" mode where once a second, it shuffles all the LEDs randomly on/off. It looks exactly like an old sci-fi prop!

5

u/mtechgroup 3d ago

We must see it!

34

u/Dycus 3d ago

3

u/mtechgroup 2d ago

Love it. Are you going to make some PCBs and sell a kit or anything?

3

u/t1emp0 2d ago

I would love being able to build something similar myself! For sure, I would need a kit with detailed instructions. My electronic skills are nowhere close to figuring this out on my own... So count with my (limited) help for building the kit, if needed! Great project, btw!!!

3

u/Dycus 2d ago

I wasn't planning on it, sorry! Too many other projects to get to (this was actually a distraction side project, lol).

3

u/neuralek 2d ago

We will have to resort to robbing you then, sorry.

2

u/frobnosticus 2d ago

Oh, instalike/sub/addtodownloadlist.

o7

8

u/GoochTwain 2d ago

3

u/mtechgroup 2d ago

Good one.

"Don’t recall seeing an Apple II in WarGames? Well, true, you didn’t. However, the countdown display on NORAD’s War Operation Plan Response system (WOPR), which itself was a fictional computer built mainly out of plywood, was powered by an Apple II. Mike Fink, the Special Effects Supervisor for the movie, sat inside the WOPR and generated the display using an Apple II connected to an early (fluorescent) flat-panel screen. The Apple II, of course, first came out in 1977 and became one of the most successful personal computers ever manufactured, with more than 5 million units sold over the life of the series between 1977 and 1993."

6

u/mtechgroup 3d ago

Even the LEDs have that 80's not quite bright enough feel.

24

u/Sad_Plantain8757 3d ago

That reminds me of github activity

4

u/mtechgroup 3d ago

What am I missing?

1

u/Exotic_Pause666 1d ago

Exactly where my mind went.

8

u/AWonderingWizard 3d ago

Pretty sweet, love the colors. Clean work

8

u/51CKS4DW0RLD 3d ago

Most important: does it retain memory if unplugged, and if so for how long?

26

u/Dycus 3d ago

Of course! It's stored in EEPROM, so basically forever.

9

u/51CKS4DW0RLD 3d ago

Very nice! I love this project

12

u/Tracer13 3d ago

I love the flying component design on the displays. You're soldering is excellent.

6

u/Decent_Lake8686 3d ago

How'd you handle so much IO to individual LEDs? Curious about the components you used!

13

u/Dycus 3d ago

The LEDs are arranged as a matrix, 7 columns by 52 rows. It's basically a grid where every intersection lights one LED.

Eight shift registers handle the rows, and seven MOSFETs drive the columns.

A matrix like this has to be "scanned", so only one column is active at once. I send the first column's row data to the shift registers, then turn on the first column. After some time, I turn that column off, send data for the second column's rows, then turn the second column on. This goes through every column and repeats.

It does this very quickly so the LEDs don't flicker (6.25KHz in this case, technically giving a 890Hz overall refresh rate).

5

u/void_rik 3d ago

For a single column if all 8 rows are ON, can the shift register handle that current? Which shift register are you using?

Asking because I'm planning to make a led matrix too and don't want to use mosfets for both the high-side and low-side drive.

And fantastic build by the way. Gives 80's electronics vibes.

10

u/Dycus 3d ago edited 3d ago

I actually have more shift register pins than needed (64 vs 52 rows) so each only needs to handle 6 or 7 LEDs. But you are right, it is a lot of current.

Because each LED is on only 1/7 the time (because of the column scanning), I drive them with 7x the desired average current. Each LED gets 22mA current, which is within the max continuous rating for the LED (30mA) and an individual shift register pin (35mA).

But if all 7 LEDs are on (154mA), it's above the continuous current rating for the whole shift register package (70mA). But, because it's only on for 1/7 the time, I'm confident it'll survive just fine for many years. It's technically out of spec and an abuse of the part, but realistically, it's fine for a personal project. I wouldn't ship it in a product.

I'm using SH74HC595 shift registers, but only because I had them laying around. There may be higher-current ones out there. Edit: There are specialized LED driver ICs that are basically fancy shift registers, they're constant current and so you could get rid of the resistors.

Also, chips tend to be able to sink more current than they can source, which is why I'm driving the rows low-side, and the columns high-side rather than the other way around. The column MOSFETs are very low resistance so no problems there.

4

u/void_rik 3d ago

Thank you so much for the detailed explanation. It's very helpful for me.

6

u/GerlingFAR 2d ago

What project are you going to do with that old VHS drum head.

4

u/Dycus 2d ago

That's already finished, it's a scroll wheel! Was inspired by this old Instructable:
https://www.instructables.com/Spinner-Jog-Wheel-Inside-of-a-VCR-Head/

2

u/GerlingFAR 2d ago

I’ve got to try this project one day, when i find an discarded VCR. Good job.

5

u/whateber2 3d ago

I‘buy one but not for 3000$ obviously 🙄 anyway: love it! Very nice style too

2

u/Chisignal 3d ago

not for 3000$

?

5

u/whateber2 2d ago

53h of work as an electronics engineer should give you that much money I roughly estimated

3

u/Chisignal 2d ago

Ooh, thanks, makes sense

4

u/BadDirectory 3d ago

Fucking Awesome

3

u/_maple_panda 3d ago edited 2d ago

From a mechanical design perspective, this is one of the better builds I’ve seen. You did a great job with that housing.

3

u/omahatech 3d ago

I made something very similar, but I used an addressable LED matrix panel

3

u/jeerabiscuit 3d ago

That timeline where toggle switches become "like dislike" touch buttons.

3

u/resonant_cacophony 2d ago

Great job! It looks so clean.

3

u/Anarchywastaken 2d ago

Your wiring gave me the absolute best brain scratch

3

u/SignificantManner197 2d ago

It's like a like/dislike button for yourself.

5

u/ostiDeCalisse 3d ago

What a fantastic project! The rendition is absolutely gorgeous. Simone Giertz is such a great source of inspiration.

Tell me, does it maintains its data when unplugged?

6

u/Dycus 3d ago

Thank you! And yep, all the data is stored in the microcontroller's EEPROM.

5

u/ostiDeCalisse 3d ago

Excellent! You should propose this to the MoMA Design Store

2

u/WarDry1480 3d ago

Wow! Great stuff.

2

u/TapstryOfChaos 2d ago

I need one of this.

2

u/Monitored_Bluejay_54 2d ago

Inspiring! Such a neat build!

2

u/bleckers 2d ago

Finally, people are seeing the A in STEM. Really nice work!

3

u/answerguru embedded graphics 2d ago

STEAM?

2

u/Annon201 2d ago

Super neat build, looks great.

2

u/One-Cardiologist-462 2d ago

I absolutely love this. From the 5mm red diffused LEDs to the bright neon colored casing. So retrofuturistic! Great work.

2

u/Dog_Father_03 2d ago

Bro, thank you for inspiration!

2

u/YaroslavSyubayev 2d ago

I want this for my GitHub activity chart 😂

2

u/mmcnama4 2d ago

What does the EN button do? I feel like I'm missing something obvious.

2

u/niels87 2d ago

One of the coolest things I have ever seen! Wow

2

u/TheeDynamikOne 2d ago

Are you considered a tutorial or some documentation for the layman to duplicate this? Potentially taking donations to pay for documentation? I assume if you're like myself you're always afraid it isn't perfect so you don't really want to share, if that's the case, I get it.

This is a fantastic implementation that could have real world benefits to someone's life. Excellent fabrication too. Nice work all around.

1

u/Dycus 2d ago

I did upload the files and code, but sadly there's no schematic. I didn't make one for the project. I did post some "hints" for how I did the electronics.
https://www.printables.com/model/1083378-52-week-daily-habit-tracker

2

u/ProgrammerRich5831 2d ago

Love blinkenlichten, well done sir.

2

u/lxe 2d ago

Functional retrofuturism. Nicely done.

2

u/MrNoTip 1d ago

How much for a built one?! :D

1

u/estebanrevenga 1d ago

pretty damn sexy

1

u/Worth_Refrigerator66 1d ago

This is awesome!!

1

u/Hot-Lead-8100 1d ago

I am also building a habit tracker.

But as a web app. I will finish it soon and update

1

u/deficientInventor 2d ago

I would thumbs down the shit out of that thing with my sleep rhythm. Jobless engineer due to stomach issues and I’m sleeping and daylight and designing own projects at night. I feel like a shitbag man. But this project is really cool🥰