Stufin
Home Quick Cart Profile

ATTINY85 USB Development Board

Buy Now on Stufin

Component Name

ATTINY85 USB Development Board

Overview

The ATTINY85 USB Development Board is a microcontroller development board based on the Atmel ATTINY85 microcontroller. It is a compact, low-cost, and highly versatile board designed for prototyping, development, and production of IoT projects, robots, and other embedded systems. The board provides a USB interface for easy communication with computers and other devices.

Functionality

The ATTINY85 USB Development Board is a powerful and flexible platform for developing a wide range of applications, including

IoT projects (e.g., home automation, environmental monitoring)

Robotics and robotic arms

Wearable devices and accessories

USB peripherals and gadgets

Prototyping and proof-of-concept designs

Educational and research projects

Key Features

### Microcontroller

Atmel ATTINY85 8-bit AVR microcontroller

8KB flash memory

512 bytes SRAM

512 bytes EEPROM

12-bit ADC with 4 channels

1 x 16-bit timer/counter

1 x 8-bit timer/counter

UART, SPI, and I2C interfaces

### USB Interface

USB 2.0 full-speed device interface

USB connector (Micro-B type)

On-board USB-to-UART bridge (via CP2102 chip)

Supports serial communication at baud rates up to 1 Mbps

### Power and Reset

On-board voltage regulator (3.3V or 5V output)

Power input options

USB bus power or external power supply (2.7V to 5.5V)

Reset button and auto-reset circuitry

### GPIO and Expansion

6 x GPIO pins (digital I/O)

4 x Analog input pins (ADC)

1 x I2C interface (SCL and SDA pins)

1 x SPI interface (SCK, MOSI, and MISO pins)

1 x UART interface (TX and RX pins)

Expansion header with 3 x GPIO pins and 1 x GND pin

### Other Features

On-board LED indicator for power and USB activity

Compact design with a small footprint (1.6 inches x 0.7 inches)

Compatible with a wide range of development environments and programming languages (e.g., Arduino, C, Python)

Operating temperature

-40C to +85C

Storage temperature

-40C to +125C

Humidity

5% to 95% RH (non-condensing)

Length

1.6 inches (40 mm)

Width

0.7 inches (18 mm)

Height

0.2 inches (5 mm)

Package Includes

1 x ATTINY85 USB Development Board

1 x USB Micro-B cable

1 x Quick-start guide or datasheet

Applications

The ATTINY85 USB Development Board is suitable for a wide range of applications, including IoT projects, robotics, wearable devices, and more. Its compact size, low power consumption, and USB interface make it an ideal choice for prototyping and developing small to medium-sized projects.

Pin Configuration

  • ATTINY85 USB Development Board Pinout Explanation
  • The ATTINY85 USB Development Board is a compact microcontroller board featuring the Atmel ATTINY85 microcontroller. The board provides a USB interface for easy programming and communication. Here's a detailed explanation of each pin on the board:
  • GPIO Pins:
  • 1. Pin 1: PB0 (Digital Pin 0)
  • Function: General-purpose digital input/output
  • Possible uses: Button, LED, sensor, or communication interface
  • 2. Pin 2: PB1 (Digital Pin 1)
  • Function: General-purpose digital input/output
  • Possible uses: Button, LED, sensor, or communication interface
  • 3. Pin 3: PB2 (Digital Pin 2)
  • Function: General-purpose digital input/output
  • Possible uses: Button, LED, sensor, or communication interface
  • 4. Pin 4: PB3 (Digital Pin 3)
  • Function: General-purpose digital input/output
  • Possible uses: Button, LED, sensor, or communication interface
  • 5. Pin 5: PB4 (Digital Pin 4)
  • Function: General-purpose digital input/output
  • Possible uses: Button, LED, sensor, or communication interface
  • 6. Pin 6: PB5 (Digital Pin 5)
  • Function: General-purpose digital input/output
  • Possible uses: Button, LED, sensor, or communication interface
  • USB Pins:
  • 7. Pin 7: VBus (USB Voltage)
  • Function: Supplies power to the board from the USB connection
  • Voltage: 5V
  • 8. Pin 8: D- (USB Data Negative)
  • Function: Negative data line for USB communication
  • 9. Pin 9: D+ (USB Data Positive)
  • Function: Positive data line for USB communication
  • Power Pins:
  • 10. Pin 10: GND (Ground)
  • Function: Ground reference for the board
  • 11. Pin 11: VCC (Power Input)
  • Function: External power input (optional)
  • Additional Pins:
  • 12. Pin 12: RST (Reset)
  • Function: Active-low reset pin for the ATTINY85 microcontroller
  • 13. Pin 13: HWB (Hardware Boot)
  • Function: Used for hardware-based bootloading (not typically used)
  • Connection Structure:
  • When connecting the pins, follow these guidelines:
  • Use a breadboard or PCB with a clear and organized layout to avoid confusion.
  • Identify the pin functions and connections carefully to prevent damage to the board or components.
  • Use jumper wires or PCB tracks to connect the pins to your circuit or components.
  • Ensure secure connections to prevent loose wires or faulty connections.
  • Use a USB cable to connect the board to your computer for programming and communication.
  • Remember to consult the ATTINY85 datasheet and the board's documentation for specific usage guidelines, voltage tolerances, and electrical characteristics.

Code Examples

ATTINY85 USB Development Board Documentation
Overview
The ATTINY85 USB Development Board is a compact, low-cost, and versatile microcontroller board based on the ATtiny85 microcontroller. It is a popular choice for IoT projects, robotics, and wearables due to its small size, low power consumption, and USB connectivity. This documentation provides an overview of the board's features, pinouts, and code examples to get you started with using the ATTINY85 USB Development Board in various contexts.
Features
ATtiny85 microcontroller with 8 KB of flash memory, 512 bytes of SRAM, and 512 bytes of EEPROM
 USB interface for programming and communication
 6 I/O pins, including 2 analog inputs and 4 digital I/O pins
 Voltage regulator for 5V or 3.3V operation
 Small form factor (0.7 x 1.2 inches) with mounting holes for easy integration
Pinouts
| Pin | Function | Description |
| --- | --- | --- |
| VCC | Power | 5V or 3.3V power input |
| GND | Ground | Ground connection |
| RX | Serial Input | Serial input for programming and communication |
| TX | Serial Output | Serial output for programming and communication |
| D0 | Digital I/O | Digital input/output pin |
| D1 | Digital I/O | Digital input/output pin |
| A0 | Analog Input | Analog input pin |
| A1 | Analog Input | Analog input pin |
| RST | Reset | Reset pin for ATtiny85 microcontroller |
| UPDI | USB Interface | USB interface for programming and communication |
Code Examples
### Example 1: Blinking LED using USB Serial Connection
This example demonstrates how to use the ATTINY85 USB Development Board to blink an LED connected to digital pin D0. The code uses the USB serial connection to receive commands from a host computer.
```c
#include <TinyUSB.h>
const int ledPin = 0; // Digital pin D0
void setup() {
  pinMode(ledPin, OUTPUT); // Set D0 as an output
  Serial.begin(9600); // Initialize USB serial connection
}
void loop() {
  if (Serial.available() > 0) {
    char command = Serial.read(); // Read command from host computer
    if (command == 'H') {
      digitalWrite(ledPin, HIGH); // Turn on LED
    } else if (command == 'L') {
      digitalWrite(ledPin, LOW); // Turn off LED
    }
  }
  delay(50); // Short delay to avoid overwhelming the serial connection
}
```
### Example 2: Analog Reading and USB Communication
This example demonstrates how to use the ATTINY85 USB Development Board to read an analog voltage on pin A0 and send the reading to a host computer over the USB connection.
```c
#include <TinyUSB.h>
const int analogPin = 0; // Analog input pin A0
void setup() {
  Serial.begin(9600); // Initialize USB serial connection
}
void loop() {
  int reading = analogRead(analogPin); // Read analog voltage on A0
  Serial.print("Analog reading: ");
  Serial.println(reading); // Send reading to host computer
  delay(100); // Short delay to avoid overwhelming the serial connection
}
```
### Example 3: Simple USB Device with Custom Device Class
This example demonstrates how to use the ATTINY85 USB Development Board as a custom USB device with a custom device class. The device responds to a specific command by toggling digital pin D1.
```c
#include <TinyUSB.h>
const int deviceClass = 0xFF; // Custom device class
const int commandTogglePin = 0x01; // Command to toggle digital pin D1
TUSBDevice device(deviceClass); // Initialize custom USB device
void setup() {
  pinMode(1, OUTPUT); // Set D1 as an output
  device.begin(); // Initialize USB device
}
void loop() {
  if (device.available() > 0) {
    int command = device.read(); // Read command from host computer
    if (command == commandTogglePin) {
      digitalWrite(1, !digitalRead(1)); // Toggle digital pin D1
    }
  }
  delay(50); // Short delay to avoid overwhelming the USB connection
}
```
These code examples demonstrate the ATTINY85 USB Development Board's capabilities and flexibility in various IoT applications. By combining the board's features with creative programming, you can create innovative and functional projects.