Smaller Simone Giertz's Good Habit Tracker

A PCB with one column per month, each has approximately thirty switches in series and one LED at the end. 367 Switches. Pure Madness.

Similar projects worth following
Thumbing through instagram, I find a post by @davedarkocom showing that all the components for his good habit tracker, inspired by Simone Giertz, had arrived.
Something about the sheer absurdity of putting 30 switches in series to light up an LED and doing it 12 times clicked with me. One thing led to another and about an hour later, I had a complete Fritzing PCB (don't tell Brian Benchoff) uploaded to OshPark.
I think I err... invested... about 8 hours soldering this.

As a certain Thought Leader Life Coach says: "the best way to start a good habit is by doing it every day". This device will help you with that by tracking whether a goal has been accomplished that day or not and rewarding you at the end of the month by lighting an LED if the task has been performed every day of the month. 

The PCB design makes assembling your own habit tracker easier by taking care of the connections between the switches. As this device reinforces an all-or-nothing mentality, it might be beneficial to work out some forgiveness arrangement in order to make it possible to make up missed days.

The schematic for this is simple. A power plug leads to a master on/off switch. The output of the master switch feeds the first switch in each month column. Each switch in a column is wired in series to the next. The last switch leads to a 1/8W resistor and an LED. The other leg of all the LEDS are tied together and return down the left side of the board to the power plug.

The switches were selected because that's what I was using for the Sinclair Scientific Calculator project and was familiar with them. The center pin is the common. If the stem is thrown to the left, the center and left pins are bridged. If the stem is thrown to the right, the center and right pins are bridged.

You can feed the switches from the left pin and get the output from the center or feed them from the center and get the output from the left pin. 

The polarity of the power plug is not marked. The supply voltage is not marked. The size of the resistor is not marked. The LED polarity is a suggestion. All of those details are left to the user. If in doubt, solder the master switch and a switch column first and then work out the details. I ended up selecting a 9V plug, 4.7K resistor and a blue led, because those are the things I had on hand.

The next step is to design a laser cut base and alignment jig to grab all the switch stems.

Creative Commons License
Smaller Simone Giertz's Good Habit Tracker by @arduinoenigma is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at

Creative Commons License
Switch Alignment Jig by SamPerry is licensed under a Creative Commons Attribution 4.0 International License.

x-zip-compressed - 167.14 kB - 08/19/2018 at 17:05



JPEG Image - 108.14 kB - 03/08/2018 at 21:10



JPEG Image - 125.07 kB - 03/08/2018 at 21:10



fzz - 88.39 kB - 03/09/2018 at 02:20


View all 6 components

  • Better switch alignment using a 3D printed jig

    Arduino Enigma08/26/2018 at 17:49 0 comments

    @sdp8483 wrote in the comments to announce that he had created a 3D printed alignment jig in order to assemble his own Habit Tracker. 

    The design holds a column worth of switches and it both pushes the metal case down as well as ensure the separation between columns is fixed.

    Here is a picture of his finished Habit Tracker. The switches do look indeed aligned.

    The jig can be downloaded at Sam Perry's thingiverse page here:

  • The last half...

    Arduino Enigma03/08/2018 at 22:10 0 comments

    And the  soldering continues. It is the same thing over and over and over again. The half way point is reached.

    Time for another teaser picture, only three months to go. The LED is on the wrong side of the board, just 

    to make a point that it works. 

    For the second part of the year, this was the alignment jig. One edge of the inner piece was sanded down so it would fit tight and grab the switch stems. 

    A little past midnight, the whole thing is completed. Time for a final teaser tweet. In the next few days we will photograph and create the project page.

  • The rest of the switches arrive

    Arduino Enigma03/08/2018 at 22:04 0 comments

    250 more switches arrive in the mail... 

  • The first 4 months

    Arduino Enigma03/08/2018 at 22:03 0 comments

    Working out a system to keep all the switches in a column aligned vertically.

    Experimenting with scrap pieces of laser cut materials, using the straight edges to align the cases and putting two pieces next to each other to align the switch stems

    Soldering the switches, the solder fumes visible in the picture.

    Trying different LED colors. Eventually Blue won.

    And the basic concept works. All of the switches have to be ON for the LED to light up. Time to tweet a little teaser picture...

    The solder joints for the first four months. Nothing is bridged, but some of the joints could use a little less solder. I see a few Hershey's Kisses in there.

  • The first batch of switches arrives

    Arduino Enigma03/08/2018 at 21:51 0 comments

    The first 100 switches arrive, combined with 30 something already on hand. We have enough for the first 4 months of the year.

  • The bare board comes in the mail.

    Arduino Enigma03/08/2018 at 21:24 0 comments

    And this beauty from OshPark shows up...

View all 6 project logs

  • 1
    Get the Habit Tracker PCB (one for you and some for your friends)
  • 2
    Get the Switch Alignment Jig

    This jig  by will help you install the switches in alignment.

  • 3
    Decide what supply voltage, leds and current limiting resistors to use.

    This circuit is very forgiving. It's only an LED, and current limiting resistor in series with an inordinate amount of switches. The LEDs for different months do not have to be the same color. Experiment in a protoboard with the desired or available LED and current limiting resistors to ensure they will work. If no protoboard is available, solder the switches for a whole month first and then hold the resistor and the LED by hand. 

    I ended up using 9V, 4.7K and Blue LEDs because I had that on hand. 

View all 8 instructions

Enjoy this project?



trialexhill wrote 06/20/2022 at 03:55 point

Awesome! Love that it's microcontroller free.

I know I'd miss a day or two here or there though, and having a single day missed rule out an entire month I think would kill my motivation the first time it happened. I'm thinking maybe a version where each switch has an associated resistor, so when you flick the switch to say you've done the task for that day, the resistor is removed from the circuit, and the LED gets progressively brighter. That way you could still get a "reward" for months where you weren't perfect. One big problem would be the non-linearity of LED brightness - it'd need a lot of mucking around with resistor values to get ~30 steps of somewhat equal brightness.

Anyways that's just me rambling, thanks for the project!

  Are you sure? yes | no

Arduino Enigma wrote 06/20/2022 at 04:54 point

The resistor idea was floated in the comment section, dismissed as requiring an inordinate amount of resistors.

Glad you enjoyed the project. Order a PCB and build one!

  Are you sure? yes | no

trialexhill wrote 06/20/2022 at 05:19 point

Ha crap, not that I thought I was being original or anything. Good to see I was at least able to see the same issues with the idea that others did :-)

  Are you sure? yes | no

paulvdh wrote 06/17/2022 at 20:14 point

A quite small and beautiful version of this could be made with those "Reverse lit" Led's.

The Idea is to use plated holes though the PCB, and then shine LED's from the backside though each hole. Instead of all the switches you can then use a "pen" with a metal tip and a wire attached to the PCB to close the circuit to each hole, and a microcontroller to control it all.

All the (SMT) electronics would be at the back side of the PCB, which allows for relatively cheap automated assembly.

You can even set multiple goals for each day and log which goals are met and at what times. For example "get out of bed early" which is only valid at certain hours.

Quite a lot simpler:

Have a few (5 or so) push buttons for your events, and have a calendar / clock in your uC. So you only have to push the buttons for the events each day because the uC already knows which day it is.

It is of course much cheaper and easier to do this all on a TFT LCD, but those are no fun.

  Are you sure? yes | no

Arduino Enigma wrote 06/19/2022 at 17:14 point

The original author created a touch sensitive version:

<a href=""></a>

It's in stock at her store for a very appropriate $365

[I'm an inline-style link](

  Are you sure? yes | no

Arduino Enigma wrote 06/19/2022 at 17:23 point

The original author created a touch sensitive version:

<a href=""></a>

It's in stock at her store for a very appropriate $365

[I'm an inline-style link](

  Are you sure? yes | no

leumasyerrp wrote 07/25/2018 at 00:54 point

I made up a handful of these PCB so that I could have my own Good Habit Tracker. I didn't have any scrap plywood to make a jig to align the switches so I designed and 3D printed a jig. Here for anyone else interested:

Thanks for this project, great work!

  Are you sure? yes | no

Arduino Enigma wrote 08/07/2018 at 04:51 point

great work!

I linked to your work here:

Do you have pictures of the completed item?

  Are you sure? yes | no

leumasyerrp wrote 08/07/2018 at 22:57 point

I do, it is hanging on my refrigerator for now.

  Are you sure? yes | no

rafununu wrote 03/09/2018 at 14:46 point

Les bras m'en tombent !

  Are you sure? yes | no

Arduino Enigma wrote 03/17/2018 at 17:24 point

I am glad you are impressed... ;)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

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