Skip to content

nickandrew/avr-onewire

Repository files navigation

AVR ATTiny85 OneWire protocol library

This library implements the Maxim 1-Wire protocol (see https://www.maximintegrated.com/en.html) on the AVR ATTiny85 microcontroller.

As a software implementation of 1-Wire, it is unique, or at least novel, in that the tight timing requirements are implemented through the onboard timer device. It is a very accurate implementation of 1-Wire.

This package is the work of Nick Andrew nick@nick-andrew.net and is not associated with Maxim Integrated nor Atmel. All code is licensed under the GNU General Public License, version 3.

Usage

Two GPIO pins are in use, one for the 1-Wire protocol and the other one to enable a strong pullup (to provide power for passive powered devices). These pins are set at compile time.

The 1-Wire pin defaults to PORTB4 and the strong pullup pin defaults to PORTB1.

Only an 8 MHz CPU frequency is supported at present. Overdrive is not supported as the CPU is not fast enough.

See test-harness.c for typical usage.

The 1-Wire protocol is documented in Maxim Integrated Application Notes, including:

Troubleshooting

Compile test-harness.c and use a logic analyser to examine the output at all state transitions.

About

1-Wire protocol library for ATTiny85 microcontroller

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published