4 ms·
The ATtiny85 is nice, with 8kB flash, 512 bytes RAM & EEPROM, 5-6 GPIO pins, they are just enough to do something interesting. But I don't use the ATtiny85 as m
by bxparks 5y ago
The ATtiny85 is nice, with 8kB flash, 512 bytes RAM & EEPROM, 5-6 GPIO pins, they are just enough to do something interesting. But I don't use the ATtiny85 as much as I want to, because flashing requires a separate programmer hardware. It's enough friction to get in the way of rapid software iteration. I once made the mistake of inserting the ATtiny85 upside down into the programmer, and it promptly cooked it dead. Lesson learned.
- auxym 5y agoAll micros require separate hardware to flash it, no? Some is cheap (stlink), some are a few hundred dollars, but still. Unless you have a USB bootloader programmed on the chip, but you still need the adapter to flash the bootloader in the first place.
- hwh 5y agoAn MCU is a chip in a package that just cannot interface with anything your consumer PC or notebook comes with. You'll need an adapter in any case. That said, lots of current MCUs come with UART, I2C and/or USB bootloaders allowing to erase/program (if not disabled). This bootloader is typically included in factory ROM, not to be programmed by you or a third party.
- sidewndr46 5y agoWhat? Why couldn't an MCU interface with my computer? It's not like it has special electrons or something in it. I regularly program atmega chips with a cable I made that plugs into the parallel port on the back of any computer that has one. If you have a couple GPIO pins on a motherboard, you can probably program almost any MCU with with it. The only exception is if the motherboard GPIO was say 3.3v and you had a 1.8v only MCU, but level shifters aren't exactly expensive.
- ticklemyelmo 5y agoSo do you jam the chip into the parallel port? Or do you...use an adapter?
- selcuka 5y agoI don't see the difference if it's just a parallel cable. Do you jam an STM32 into a USB port?
- lmm 5y ago> Do you jam an STM32 into a USB port? I unplug my phone for a moment, or use one of several identical cables I have lying around. If this thing needs a dedicated cable then that seems just as annoying in practice as needing a dedicated "programmer" box.
- jononor 5y agoNot at all! Many devices can be flashed over USB, for example. Many STM32 devices come with a bootloader factory programmed in a read only area that implement USB DFU. Many user-provided software bootloaders can do the same on many other devices. Including the attiny85 using bit banging! And of course with wireless enabled microcontrollers one can update over the air. Nordic NRF5x over Bluetooth for example, or ESP32 over WiFi.
- danhor 5y agoAnother exception is the esp32-c3, which includes a jtag debugger inside the chip (not on board, inside the same die)
- duskwuff 5y agoI think what the parent is getting at is that, because the ATtiny85 has so few pins, programming it usually requires it to be removed from the target circuit.
- MarioMan 5y agoThe Digispark[1] and its clones use the ATTINY85 and offer flashing over USB via the Micronucleus bootloader[2] using V-USB[3]. It comes at the cost of a significant chunk of flash storage, but the convenience is excellent. Plus, V-USB support means you can emulate all sorts of USB devices. I've used it to build a DIY NES controller adapter, but it's commonly used as a cheap Rubber Ducky[4]. For projects where USB interfacing makes sense, it can be a good fit. 1: http://digistump.com/products/1 http://digistump.com/products/1 2: https://github.com/micronucleus/micronucleus https://github.com/micronucleus/micronucleus 3: https://www.obdev.at/products/vusb/index.html https://www.obdev.at/products/vusb/index.html 4: https://shop.hak5.org/products/usb-rubber-ducky-deluxe https://shop.hak5.org/products/usb-rubber-ducky-deluxe
- puzzlingcaptcha 5y agoYou can use Attiny412 with a simple USB-UART adapter for programming. Half the flash/SRAM but much more modern peripherals. $0.50 a piece, and unlike many other uCs recently tends to be in stock.
- russdill 5y agoIn circuit programming is just such a huge step forward. You still need separate programming hardware, but you don't need to pop the chip out. Beyond that, a few hundred bytes is usually enough for a simple bootloader. That tends to accelerate things even more. And writing bootloaders tends to be fun. I've done a tinyusb bootloader on an attiny45 with the user program sharing the v-usb stack in the bootloader and also a CEC bootloader. The CEC one of course took several minutes.