
ATtiny13 Battery-free iButton emulator | Up to 8 keys
STDATtiny13 Battery-free iButton emulator | Up to 8 keys
License
:Public Domain
Description
Features
- Up to 8 DS1990 keys stored in EEPROM.
- A button for quick access to keys from the 4th to the 8th.
- Any battery with a voltage of 8-30V is suitable for programming (for example, CR-9V).
- A bridge rectifier to prevent wrong battery polarity.
- Works with most popular intercoms.
- No special programmer or computer is needed to store keys.
Battery-free emulator of the well-known iButton key based on ATtiny13. The body of the key is the same size as the original one, and the microcontroller's EEPROM memory allows to store up to 8 key codes.
The key itself runs on parasitic power, but programming requires an external 5-30 volt power source, for example, a CR-9V (PP3) battery.
The device is designed just for fun and as a souvenir.
See the detailed review of the project on my YT-channel (English subtitles): https://youtu.be/5b73LqXjfCg
Attention!
This project dedicated for research purposes only. All information carried within is exploratory in nature. The creators take no responsibility for any incorrect use of the technologies mentioned.
Details
In many respects, the project is based on my previous projects of fan controllers on ATtiny10 and ATtiny13.
For MCU Flash ROM programming you will need a USBasp programmer (or any other that supports the TPI - Tiny Programming Interface), which is connected according to this schematic:
The programming itself is performed from the Arduino IDE, with the ATtiny13 core installed in it (see the links below).
Please note that the code is written for the MCU clock frequency of 8 MHz. This means that in the Arduino IDE, in the Tools->Clock menu, you should set the value to "9.6 MHz internal osc.", and then preferably to slow down the clock by calibrating the value of the OSCCAL register in the code (this value will be unique for every specific exemplar of the chip). This can be done, for example, by uncommenting "Pulse generation" section of the code and measuring the duration of the pulses using an oscilloscope.
Links
Code - https://github.com/DmitryMuravyev/ATtiny13-Battery-free-iButton-emulator
Additional project files - https://drive.google.com/drive/folders/1QQMyIkBVng6_JfQlNiIVPIaYJ0QIDTjX
ATtiny13 Datasheet - https://ww1.microchip.com/downloads/en/DeviceDoc/ATtiny13A-Data-Sheet-DS40002307A.pdf
Tips and Tricks to Optimize Code for 8-bit AVR - https://ww1.microchip.com/downloads/en/AppNotes/doc8453.pdf
1-Wire protocol (Book of iButton standards) - https://pdfserv.maximintegrated.com/en/an/AN937.pdf
USBasp firmware - https://www.fischl.de/usbasp/
USBasp firmware update guide - https://www.electronics-lab.com/project/usbasp-firmware-update-guide/
MicroCore (ATtiny13) for Arduino IDE - https://github.com/MCUdude/MicroCore
Battery-free 4in1 DS1990 emulator based on tiny13 - https://anyram.net/blog_ru/?p=1050
Commands
Uploading/fuses: avrdude -v -pt13 -cusbasp -Pusb -B32 -Uhfuse:w:0xff:m -Ulfuse:w:0b00111010:m -Uflash:w:iButton_Emulator.ino.hex:i
Decompiling binary file: avr-objdump -Dzmavr:25 Binary_file.hex >> Disassebled_file.asm
Decompiling ELF file (Executable and Linking Format): avr-objdump -S Binary_file.elf >> Disassebled_file.elf.asm
Components
ATMega328 Arduino Nano (replica) - https://ali.ski/BTEzSU
iButton Reader - https://ali.ski/jQnE1q
Tactile Push Button - https://ali.ski/BK0MYV
Tactile Push Button Omron - https://ali.ski/dQ1Y1i
MB10F Bridge Rectifier - https://ali.ski/4Fs2E
SMD SOD-123 Schottky Diode - https://ali.ski/XvLAak
SMD LED Kit - https://ali.ski/B3TZXm
SMD Capacitor Sample Book - https://ali.ski/l-lE9
SMD Resistor Sample Book - https://ali.ski/6YxlCV
Design Drawing

BOM


Project Members

Comment