Digispark ATtiny85 and it works based on
- forcing to follow the simple law of this technique
- it is simple and cheap to make less than 10$
- it can store in memory awake and sleep time and count of pomodoros and show them
- How it works
- Assemble monitor version (Optional)
- Initialization arduino ide for Digispark ATtiny85
- Upload code
How it works
As mentioned, this timer works according to the
Pomodoro technique, which you can refer to this link for more information about the technique. it works in such a way that when the user connects it to the port of her/his computer, it starts countdown according to the time specified by the user, and the user should to do his task during that time. when counter reach to zero, it using the HID protocol goes the computer to sleep mode and it starts counting again for user rest. From this moment, it is not possible to use the computer by user and it cannot wake up the computer until the counting is over.
- Arduino IDE
- Digispark ATtiny85
- For monitor version (Optional)
- Female and male pin header standard
- PCB 10x10 pin
- Soldering iron and wire
- SSD1306 I2C OLED
Assemble monitor version
|Step 1||Step 2||Step 3|
|Step 4||Step 5||Step 6|
- Cut your PCB into square shape (10x10 holes) with cutter.
- Break female pin header into two pins 2 and 4 and put them on pcb like top photo then soldering them legs.
- The same work do on male pin header with the difference that, you have to break it into 3 and 6 pins, look to related picture.
- In this step putting digispark attiny85 on male pin headers and soldering their top legs related to 5V, GND, P0, P1, P2.
- According to the picture of the fifth step, do wiring and solder on the back of pcb.
- In the end, put OLED and LED on pin headers, in this moment your ES Timer is ready for next step.
Initialization arduino ide for Digispark ATtiny85
If this is the first time you have used
Digispark ATtiny85 in
Arduino IDE, you need to follow these steps to see click here please.
After opening the file
Arduino IDE In order to be able to upload the code on the device, you must add the zip files in the
lib folder to IDE To do this, follow the path:
Arduino IDE Toolbar -> Sketch -> Include Library -> Add .ZIP Library...
If you have assembled the monitor version, you need to change the value of
true. Now to upload the code in
ES Timer click on the arrow button or use shortcut
Ctrl + U. Wait for the code to be compiled. After you see the
Please plug in the device ... message. Connect the device to the computer. After a maximum of 5 seconds, the code will be uploaded. Congratulations
You can customize the awake and sleep system. All you have to do is change the definition values of
SLEEP_TIME also, if you want you can change the brightness OLED by changing
BRIGHTNESS_OLED defines in range of
0..1 and if you have connected your ES Timer to right side of computer should change
true and you can also change the value of
false in order to disable timer mode saving (sleep & rest).
AWAKE_TIME is 99 minutes and for
SLEEP_TIME is a quarter
|Monitor version||Only digispark|
This is free, open-source software. If you'd like to support the development of future projects, or say thanks for this one, you can donate:
Copyright (C) 2021 Erfan Sn This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.