Tinyboard: 8-pin ATTiny multi-purpose board

About

Tinyboard is a small, multi-purpose printed-circuit board (PCB), designed for applications built around 8-pin Atmel AVR Tiny microcontrollers (ATTiny25/45/85, ATTiny13, etc). It is designed to be flexible enough to allow repurposing of each pin using 0-Ohm links or other passive components.






Features

Small size
50 mm by 24.5 mm with two M2 mounting holes
Pin configurability
Various pin configurations possible (not all simultaneously, of course):
  • up to two step-up (boost) converters with feedback measurement using ATTiny A/D converter (e.g. for powering the chain of LEDs)
  • up to five high-current switched outputs driven by N-channel MOSFET transistors (SOT-23 footprint)
  • up to five digital inputs (optionally with external pull-down resistors)
  • up to five analog inputs with low-pass input filters
  • up to five digital output lines
See below for pin configuration examples.
Per-pin headers
Each ATTiny pin PB0 to PB4 has its own three-pin header for connecting external devices. The header has a negative pin (usually GND), a positive pin (either Vcc or Vin, configurable using 0-Ohm link), and an I/O pin.
Multiple power configurations
The board has two power rails: un-stabilized external power Vin, and stabilized power Vcc used for powering the ATTiny MCU. Various configurations are possible:
  • powered by externally stabilized voltage (Vin and Vcc interconnected by 0-Ohm link)
  • powered by two separate sources (externally stabilized Vcc for the MCU itself, and Vin for high-power parts)
  • powered by unstabilized power Vin with an on-board voltage regulator.
See below for power configuration examples.
Programmable in-system
In-system programmable using standard 10-pin header, compatible e.g. with the USBASP programmer. Pins used for programming (MOSI, MISO, SCK) can be disconnected from the rest of the circuit during programming with jumpers (J10 to J30).
Power-on LED
Power-on indicator LED connected between Vcc and GND (with a resistor, of course)
Spare footprints
There are two unconnected SOT-23 and two 1206 footprints on the board, usable for adding more components manually connected to the rest of the system e.g. by wires.
Manual soldering
The footprints used are large enough to allow also manual soldering (footprints used are SO-8, SOT-23, 1206, and 1210).
150-mil or 200-mil MCUs
The ATtiny MCU footprint (U1) has been extended to accomodate both narrow 8S1 (150 mil) and medium 8S2 (208 mil) parts.
Open Source
The design is available in the source form under the terms of GNU GPLv2 for further modification and development.

News

2013-05-03
Section with sample applications added, with the first application being simple bike LED lights.
2013-03-15
Minor web page updates, zip file with the Gerber files published.
2013-03-14
Received a notification from a person who has received two Tinyboards through the Itead Studio Open Source option. Thanks for letting me know! My own boards are still in Hong Kong, though.
2013-02-25
Gerber files sent to Itead Studio for manufacturing. They have 5x5 minimum size, so I have modified the output to have two tinyboards in this dimension.
2013-04-22
The boards have finally arrived, after leaving Hong Kong more than a month ago. The manufacturer have even make a slot from drilled holes between both panels so it is possible to snap them off.
2013-04-25
A new section added: Known Bugs

Sample Applications

Tinyboard is designed to be repurposed. Here are projects I did with it.

Simple LED bike lights

I wanted a simple LED driver for my kids' bikes, simpler than my own bike lights. So I used Tinyboard with one step-up driver, battery voltage monitoring, one button (with software power-off), and one status LED. Tinyboard is roughly the same size as 9V battery, so I have chosen 9V battery as power source. The firmware source code and the README file (containing the firmware description and bill of materials) are available from Tinyboard Git repository.


Known Bugs


Downloads

This project is Free software, and can be distributed under the terms of GNU General Public License, version 2 (only).


Schematics

tinyboard schematics

The schematics has been designed using gschem from the gEDA suite, and is available here in the git repository.


Sample power configurations

The board has two power rails: Vin can be higher-power unstabilized rail for usage with MOSFETs, and Vcc is the rail which powers the ATTiny MCU. Its voltage should match the ATTiny input voltage range. Vcc has a decoupling capacitor C3 near ATTiny itself.

Single externally stabilized power
When the stabilized voltage is provided externally, it can be directly connected to pin 1 of the PWR1 header (and pin 2 for GND). The Vcc and Vin lines can be clamped together by 0-Ohm link R2. U2 and U3 are omitted, decoupling capacitors C1 and C2 can be omitted as well.
Two external power rails
The rail for powering the MCU should be connected to pin 1 of PWR1 header, GND to pin 2 of PWR1, and the other power line (possibly higher-voltage for being driven by MOSFETs) to the pin 3 line. U2 and U3 are omitted, decoupling capacitors C1 and C2 can be omitted as well.
Unstabilized power source
The voltage regulator is required: either the one with SOT-23 footprint as U2, e.g. MCP170x, or larger one with SOT-223 footprint as U3 (beware of the pin-outs, there are SOT-223 voltage regulators with different pin-outs; this board needs pin 1 of U3 to be GND, pin 2 and the pad (pin 4) to be Vout, and pin 3 to be Vin). The incoming power should be connected to pin 3 of the PWR1 header, and the negative side (GND) to pin 2. R2 is omitted, and C1 and C2 should be selected as recommended for the given voltage regulator.


Sample I/O pin configurations

Each of the five I/O pins has its own header, PB0 to PB4. The header has three pins:


Directly connected pin
To directly connect the pin of ATTiny to pin 2 of the respective header, use Rx2 (R12 to R52) 0-Ohm link. Omit Qx0, Rx0, Lx0, Dx0, Rx1, and Cx1 altogether.
Pin externally pulled low
The same as above, but use Rx0 (R10 to R50) as the low-pulling resistor.
Low-pass input filter for A/D converter
Put a capacitor instead of a resistor on a Rx0 footprint, and use R12 as input resistor. All other Qx0, Dx0, Lx0, Rx1 and Cx1 can be omitted.
MOSFET driven output
Use a MOSFET with SOT-23 footprint as Qx0, pull the gate low with Rx0, and connect the drain to pin 2 of the respective header using Rx1 (R11 to R51). Shortcut the diode (D10, D50) footprint for PB0 and PB4 header.
Step-up converter
Up to two step-up converters can be used: The first one with the PB0 header, which also uses PB1 ATTiny pin as A/D converter input for the feedback measurement, and the second one with the PB4 header and PB3 ATTiny pin as ADC. Put an inductor on L10 or L50, MOSFET with SOT-23 footprint as Q10 or Q50, pull the MOSFET gate low with R10 or R50, put a 0-Ohm link as R11, and a Schottky diode as D10 or D50. Use big capacitor as C11 or C51 and a small measurement resistor as R15 or R55. For a feedback measurement, create a low-pass input filter on PB1 or PB3, respectively: use R25/R45 as input resistor, and put a small capacitor on the R20/R40 footprint. Use PWM output on PB0/PB4, and A/D converter input on PB1/PB3. See the Boost converter Wikipedia page for the theory of operation of the step-up converter, and my Bike lights project for sample source code for the step-up converter regulation.

Contents: