ATTiny85/Digispark.. (will it work for my needs)

Hey guys-

I have a project where I am planning on using an ATTiny85/Digispark board.

The 'idea' behind it is.. because my 'main Arduino' will be pretty busy with the sensor/switch checking as well as playing audio.... I was going to use an ATTiny85/Digispark board to do control a Neopixel strip.

I have never use an ATTiny85/Digispark board before.. so am not use to/knowledgeable any of the "gotcha's" to be on the look out for.

I was also under the impression that using Neopixels was somewhat of a 'project' killer if you wanted to do more than just drive the Neopixels... (as the timing was so 'specific' that it didnt leave room for much else to happen)

After learing/reading about specific approaches to write your (non-blocking/incremental) patterns it opened up a little more room.

Now I found this: (havent read through all of it yet)

So maybe some more 'tips' to control these easier/better will be in there.

I understand the ATTiny85 does nto have any serial pins?

(and this is where part of my confusion/questions stem from)

My goals here is have the Digispark drive the Neopixel patterns.. and have some serial data sent from the MAIN Arduino to the DIgispark to change/effect the current pattern in some fashion.

  • Will the Digispark have issues with driving the Neopixel strip? (I understand it wont be powered by the Digispark, but an external source with connected GNDs)

  • Regarding serial communication, I have read many things.. some old.. some not? (or no dates)..

** can you use softserial right our of the box with the ATTiny85/Digisparks? Or does it require some sort of timing tweaks? (ie: tune the internal oscillator some how?)

If not, (and Id rather no dig too deep if its difficult for he oscillator stuff).. what other options are there?

Are there any other ATTiny85 surprises I should be aware of? or a beginner should know about?

thanks.

You can use software serial on the Digispark, and it has no problems feeding data to WS2812B LED strips.
The hardest part for me was setting up the IDE to upload, but following this tutorial will save you a ton of time.
The Windows detect/disconnect/drivers hoopla isn't something you see well documented.

A Digispark and a straight up ATTiny85 are very different animals.

The Digispark has a VUSB bootloader for programming, reducing the amount of available space for sketches. VUSB usually works, but doesn't always (some host devices don't get along with it - it's very much non-compliant with the USB standard). Reset is disabled most of the time (so you can't readily turn it into a normal tiny85 - ISP programming won't work without reset). If using the USB functionality, that can have additional ramifications for the code (which would not be an issue - or as much of one - on something that had real native USB).

A tiny85 is programmed via ISP using an ISP programmer - you lose the convenience of the USB bootloader, but you gain more flash space, and there are fewer "moving parts" so to speak. I would only consider a digispark if the USB functionality was necessary for the project - otherwise keep it simple.

Thats for the replies guys.

@INTP

  • thanks for the link, I'll give it a read once I get home from work tonight/this week.

@DrAzzy

  • thanks for the clarification... to clear things up.. this -is- a Digispark (clone) that grabbed off ebay for like $2.00 (actually I got both 'versions' listed..

once with the micro USB socket on it.. and one with the 'built in' USB (pcb/pads) on the PCB itself..

(both would then be considered Digisparks as they have the USB connection)

  • good point about the VUSB taking up room for the sketches. (* and noted)

I'm left wondering if this will impact my project?

I dont really have a list of the patterns/features... but I would imagine they are minimal at best. (its for a TRON disc prop..and my main Arduino/Waveshield all-in-one hybrid will be busy mostly playing an audio loop, and checking some switches/sensors..etc then throwing a serial 'command' to the Digispark to parse and update/interrupt the neopixel pattern in some way)

One more noob question, how to you program the ATTiny85's without the USB? I dont recall seeing any ISP header?

(I never even looked into it because I saw the USB connection and just didnt look/think past it, but since you brought it up, I am curious)

Thanks gang!

Adafruit's Trinket is similar to Digispark but uses a different bootloader. Easy to clone these things:
chachka: trinket-attiny85-clone

The Digispark sacrifices the RESET pin to get 3 PWM pins. Any Trinket or Trinket clone can become a Digispark:
Trinket----> DigiSpark

If your PC has 2.0 & 3.0 USB ports, try using the 2.0 ones before the 3.0. The V-USB protocol mimics loosely the 1.1 USB standard. Some folks swear by old USB hubs with V-USB. It is finicky.

Ray

Maybe I messed things up when I first futzed around with the Digispark, but writing pin 5 still works as a reset if set LOW. It's basically only usable (for however it is on mine for now) as floating, or HIGH, with the caveat that HIGH on that pin is 3V3 instead of 5V.

I've never used a Digispark. I have used several Trinkets and a whole slew of bare '85s. I don't see much advantage to using either of these Tiny85 breakout boards over just a plain ATTiny85 chip. With any of the cheap programmers they are 'super easy' to program with the IDE. Most Arduino sketches run with only minimal modification, as long as the i/o fit in the reduced set of pins. The Tiny84 also rocks, y'all might want to check that one out if you just can't squeeze it into 5 pins.

Thanks..

to be clear..

I already have the 'Digispark' (clone) boards... they are like a buck or two off ebay.

(I got one of each variant mini usb connector and built in usb maybe from the PCB itself)

Some benefits of the digispark boards are the USB plugs, on-board LED, and on-board voltage regulator. Saves you a little space from having to wire up a TO-220 sized thing when using different power sources that are over voltage.

Depends on your project.