Presentation is loading. Please wait.

Presentation is loading. Please wait.

Welcome to Workshop 88’s Tiny85 Class Please download Tiny core libs from: (for Arduino 1.0, not 1.5!) Unzip and.

Similar presentations


Presentation on theme: "Welcome to Workshop 88’s Tiny85 Class Please download Tiny core libs from: (for Arduino 1.0, not 1.5!) Unzip and."— Presentation transcript:

1 Welcome to Workshop 88’s Tiny85 Class Please download Tiny core libs from: http://code.google.com/p/arduino-tiny/ (for Arduino 1.0, not 1.5!) Unzip and stash the ‘tiny’ folder for later. ver 1.1 2/1/14

2 Objective of class You walk out with a Tiny85 with code that you wrote and that you burned into the chip.

3 What we’ll cover Why use a Tiny85 (or friends)? Why not? How Arduino IDE works with Tinys Putting new core libs on your IDE Put a Tiny blinkie on your breadboard Write your own blinkie Porting code to Tiny85 Mapping Tiny85 pins to Arduino pins How to burn code to a Tiny: programming, programmers, programs… Burn your blinkie! Fuses and avrdude Using RESET as a 6 th I/O pin Commercial Tiny85s Other Tinys: 84, 4313

4 Atmel 8 bit AVR familes Mega family – AtMega328P (Arduino!) – AtMega2560 (Mega) – more Tiny family – AtTiny25/45/85 – AtTiny24/44/84 – AtTiny2313/4313 – more AVR stands for Alf (Egil Bogen) and Vegard (Wollan)'s RISC processor (There’s also an Xmega family, as well as a 32 bit family.)

5 What’s inside Mega328P 32K program flash 2K RAM 1K EEPROM Two 8-bit counters One 16-bit counter Six PWM channels Serial USART I2C/TWI interface 8 channel A/D converter 23 I/O lines SPI interface Analog comparator Watchdog timer

6 What’s inside Mega328P Tiny85 32K 8K program flash 2K 512B RAM 1K 512 B EEPROM Two 8-bit counters One 16-bit counter Six Two PWM channels Serial USART I2C/TWI USI interface 8 4 channel A/D converter 23 6 I/O lines SPI interface Analog comparator Watchdog timer

7 From code to flash

8

9 compiler /linker libraries Binary executable Usually as a Hex File

10 From code to flash: ascii hex file

11 From code to flash Hex File on host Chip ?

12 From code to flash Hex File Chip Hardware programmer

13 From code to flash Hex File Chip programming software (avrdude) Hardware programmer usually serial

14 From code to flash Hex File Chip programming software (avrdude) Hardware programmer usually serial programming interface

15 From code to flash Hex File Chip programming software (avrdude) Hardware programmer usually serial programming interface wires!

16 From code to flash Hex File Chip programming software (avrdude) Hardware programmer usually serial programming interface wires! We’ll do it this way for Tiny85!

17 From code to flash Hex File Chip programming software (avrdude) USB serial! programming interface wires! Hardware programmer We’ll do it this way for Tiny85!

18 From code to flash Hex File Chip programming software (avrdude) USB serial! programming interface wires! running “ArduinoISP” sketch We’ll do it this way for Tiny85!

19 From code to flash: Arduino Hex File Chip programming software (avrdude) serial! programming interface programmer emulator program

20 From code to flash: Arduino Hex File Chip programming software (avrdude) serial! programming interface Arduino bootloader! programmer emulator program

21 From code to flash: Arduino Hex File Chip programming software (avrdude) serial programming interface Arduino bootloader! programmer emulator program USB serial driver USB-serial chip on Arduino USB

22 Arduino bootloader burner

23 From code to flash

24

25 Get your Tiny on! Refer to pinout and connect +5V and ground The Tiny is preprogrammed with a blink sketch on pin 5 Put an LED on pin 5 and verify that it works!

26 Installing Tiny core libs Unzip if needed Copy “tiny” directory to the “hardware” directory either: In main Arduino installation Win: Program Files/arduino-1.0.5/hardware linux: /usr/share/arduino/hardware In your Arduino directory (make dir “hardware” if needed) Win: My Documents/Arduino/hardware linux: $HOME/sketchbook/hardware

27 boards.txt Contains definitions for all available boards In top “tiny” directory, copy “Prospective Boards.txt” to “boards.txt” I suggest cleaning up your new “boards.txt”, leaving only stanzas for – ATtiny85 @ 8 MHz – ATtiny85 @ 1 MHz

28 Write your blinkie! Recognizable pattern 1-3 LEDs (5 max) Use variables or #defines for pins

29 Porting Tiny has: Digital pins 0-5 Analog pins A0-A3 Change your pin numbers to ones Tiny has Find the mapping in the Tiny core libs at hardware/tiny/cores/tiny/pins_arduino.c Figure out which physical pins you’re using!

30 Connecting Arduino as ISP to your Tiny85 You need 6 wires: Power and ground SPI lines MISO, MOSI, SCK Reset Line names are marked on the mini-shield

31 Using Arduino as ISP Plug in your Arduino Select the board type of your Arduino Load ArduinoISP from Examples Upload to your Arduino Plug in mini-shield (must be AFTER loading ArduinoISP!) Select Tiny85 board Select Arduino as ISP as Programmer Load your code Click Upload!

32 avrdude: path Windows: try \Program Files\arduino1.0.x\hardware \tools\avr\bin Linux: try /hardware/tools (mine was /usr/share/arduino/hardware/tools)

33 avrdude: command line $ avrdude – P /dev/ttyUSB0 (/dev/ttyACM0) – P COM4 (or whatever) – b 19200 – p t85 – c – t

34 avrdude: stop complaining! part id = "t85"; desc = "ATtiny85"; has_debugwire = yes; flash_instr = 0xB4, 0x02, 0x12; eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, 0x99, 0xE1, 0xBB, 0xAC; ## next 2 are fakes so avrdude won't complain pagel = 1; bs2 = 1; ## no STK500 devcode in XML file, use the ATtiny45 one stk500_devcode = 0x14;

35 Fuses (Not what it sounds like) Nonvolatile configuration bits There are 3: – FUSE LOW BYTE – FUSE HIGH BYTE – FUSE EXTENDED BYTE Logic values confusing: 1 (not programmed) = FALSE

36 FUSE LOW BYTE

37 FUSE HIGH BYTE

38 FUSE EXTENDED BYTE

39 HV programmer/fuse resetter

40 https://sites.google.com/site/wayneholder/attiny-fuse-reset

41 Other Tiny85s: Babygnusbuino

42 Other Tiny85s: DigiSpark

43 Other Tiny85s: Gemma

44 Other Tiny85s: Trinket

45 Other Tiny85s: EezeeTiny

46 Other Tiny85s: PicoDuino

47 Other Tiny85s: my dollhouse nodes

48 Other Tinys PinsUSARTPWM chans A/D inputs Flash/RAM /EEPROM Tiny858No248K/512/512 Tiny8414No488K/512/512 Tiny431320Yes404K/256/256 Tiny13(a)8No241K/64/64 There are lots more, but these are a fine starting place.

49 Architectures


Download ppt "Welcome to Workshop 88’s Tiny85 Class Please download Tiny core libs from: (for Arduino 1.0, not 1.5!) Unzip and."

Similar presentations


Ads by Google