⏲
ES Timer
PoweredDigispark 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
Contents
- How it works
- Requirements
- Assemble monitor version (Optional)
- Initialization arduino ide for Digispark ATtiny85
- Upload code
- Configurations
- Demos
- Donations
- License
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.
Requirements
- Arduino IDE
- Digispark ATtiny85
- For monitor version (Optional)
- Female and male pin header standard
- LED
- PCB 10x10 pin
- Soldering iron and wire
- SSD1306 I2C OLED
- Wire
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.
Upload code
After opening the file EsTimer.ino
in 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 INCLUDE_OLED
to 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
Configurations
You can customize the awake and sleep system. All you have to do is change the definition values of AWAKE_TIME
and 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 FLIP_CONTENT
to true
and you can also change the value of BE_SAVE_TIMER_STATUS
to false
in order to disable timer mode saving (sleep & rest).
Note
AWAKE_TIME
is 99 minutes and for SLEEP_TIME
is a quarter AWAKE_TIME
.
Demos
Monitor version | Only digispark |
---|---|
![]() |
![]() |
Donations
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:
RIAL at 6037701527276452
BTC at bc1q0l8rn8y5rlka278ypq6u4dvapyue7d64uvhgct
License
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/.