I have a sketch that is too big for my MH-Tiny (ATtiny88) when I use the Micronucleus programmer. When I choose the Optiboot, my sketch will fit, thus I want to use this approach. (Alternatively, I am happy to upload with no bootloader because I will have even more space available, but don't know how to do this; thus this is a secondary question.)
In Arduino IDE 2.1, I successfully uploaded other sketches to my MH-Tiny using the ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK) and MH-ET LIVE Tiny88(16.0MHz) board types. In each case, after compilation and linking, the IDE asks me to plug in my board in order to upload the sketch. For this, I am using an USB-A -> MicroUSB cable, and this works fine.
However, when I choose to use ATtiny48/88 (Optiboot), or ATtiny48/88 (No bootloader), instead of being prompted to connect my board, I get an error message stating Failed uploading: no upload port provided.
What do I need to do to make this work?
Thanks in advance.
Notes
- I have a
Duinotech Arduino Compatible USB to Serial Adaptor that I've used with the ESP32-CAM board before, which has both serial and ISP outputs.
- I also have an Arduino MEGA2560 that I can use as a programmer using
Arduino as ISP. I've tried programming my MH-Tiny using the MEGA's ICSP port as well as pins 10-13 via the MH-Tiny's SPI port. But I'm getting errors. I can provide more details about these errors if this is a viable option.
- I have installed
AVRDude from homebrew, so this is another option I have.
I jury-rigged pins to the MH-Tiny ISP port, so now I can use it.
(If there's any other information needed, I'm happy to provide it.)
I found an Arduino UNO I have and loaded it with Arduino as ISP and then used it (both through pins 10-13 and the Uno's ICSP port) to burn the bootloader with ATtiny48/88 (Optiboot) selected in my sketch.
It seems, unless I'm misinterpreting the output, to have been able to read the details of my MH-Tiny, but ended with an error stating it wasn't able to erase the chip.
However, I can reprogram the MH-Tiny successfully using the other board types I mentioned above. I don't understand what's going on.
"/Users/user/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino18/bin/avrdude" "-C/Users/user/Library/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/avrdude.conf" -v -pattiny88 -cstk500v1 -P/dev/cu.wchusbserial142430 -b19200 -e -Uefuse:w:0xfe:m -Uhfuse:w:0b11011111:m -Ulfuse:w:0xE0:m "-Uflash:w:/Users/user/Library/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/bootloaders/optiboot/optiboot_attiny88_16000000L.hex:i"
avrdude: Version 6.3-20201216
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/Users/user/Library/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/avrdude.conf"
User configuration file is "/Users/user/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/cu.wchusbserial142430
Using Programmer : stk500v1
Overriding Baud Rate : 19200
Setting bit clk period : 5.0
AVR Part : ATtiny88
Chip Erase delay : 15000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 64 4 0 3600 3600 0xff 0xff
flash 65 6 64 0 yes 8192 64 128 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.08s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.08s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.08s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Failed chip erase: uploading error: exit status 1