GithubHelp home page GithubHelp logo

mielnicz / tinytemplate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thegaragelab/tinytemplate

0.0 2.0 0.0 1.56 MB

A template for ATtiny85 based projects. Includes bootloader and tools, support library and schematics.

Makefile 0.83% C 27.15% Objective-C 2.07% Python 69.95%

tinytemplate's Introduction

ATtiny85 Project Template

A complete starter solution for ATtiny85 based hardware projects. This project is released under a Creative Commons Attribution-ShareAlike 4.0 International License.

The project provides the following features:

  1. Schematics (in Fritzing format) for two variations of an ATtiny85 breakout board for rapid development. See this post for more information.
  2. Hex files and support tools for the Microboot bootloader.
  3. A library of support functions for the ATtiny providing features suchs as single pin serial communications, 'printf()' like formatted serial output, helper functions for digital and analog pin control as well as a collection of useful support functions for common embedded tasks.
  4. A Makefile configured to use an installation of avr-gcc to compile, link and flash your application.

The project contains three top level directories, the 'firmware' directory contains the Makefile and the source for the support library, the 'hardware' directory contains the Fritzing project files for the breakout boards and the software directory is reserved for any desktop software that forms part of your project.

Creating a New Project

To set up the template for your own project after cloning you simply need to edit the Makefile in the 'firmware' directory to set your preferred target file name. For simple projects all you need to do is modify the code in 'main.c', if your project requires additional sources you need to add them to the SOURCES definition in the Makefile.

Using the Makefile

Some common usage patterns are:

# Do a clean build
make clean; make
# Do a debug build (set DEBUG for source files and enables PRINTF(),
# PRINT() debug output functions)
make DEBUG=true
# Flash the code to the chip (by default uses Microboot tools and expects the
# device to be on /dev/ttyUSB0 - change the Makefile for different behaviour)
make flash

Library Status

The support library is an ongoing project and not all functionality is implemented and tested yet. In some cases planned functionality has been added to the header files but is not yet implemented. The current status is:

Feature Implemented Tested
1 Pin Serial Yes Yes
Formatted Output Yes Yes
Digital IO Mostly No
Analog IO Yes Yes
PWM Control No No
Software SPI Yes No

This table will be updated to reflect changes in the implementation and testing status of the features. Check back to see if what you are looking for has become available.

tinytemplate's People

Contributors

thegaragelab avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.