1

I have:

  1. An Digispark clone (with no Arduino bootloader)
  2. A USB -> TTL serial device
  3. A development breadboard
  4. Avrdude

I want to burn the micronucleus bootloader to the chip.

Is this possible, are there instructions?

ISP programmer is in the post but I'm not expecting it for 3 weeks.

  • AFAIK... No. The programming interface requires a, well, programmer. If you don't have any, you can't program. Since the microcontrollers usually used for arduinos can "self-program" (i.e. they can alter their programs), you can write a program to enable the serial interface and receive the new program, which then you can write and execute. This small program is called bootloader. But without bl you can't do these things, so at least the bl should be programmed with a programmer. If you manage to have someone lend you an arduino board, you can use it to program the ATTiny85 (search ArduinoISP) – frarugi87 Feb 21 '17 at 13:48
  • Reading the attiny85 spec certainly has instructions for serial uploading but it's complicated. I would have expected avrdude to have some bit bang setting to do this. I read some hacks for the ttl board that breaks out the reset pin but I have not tried this yet – Justin Feb 21 '17 at 19:33
  • Uhm, serial uploading means using the spi program interface, the one used by the programmer. You can use a USB-UART board (the TTL board you mentioned) even without hacks (you just have to "press" the reset button - or reset it in any other way - when the ide says "started uploading"). But you need the bootloader – frarugi87 Feb 21 '17 at 19:54
  • Yeah i tried that with avrdude set to serial bitbanging – Justin Feb 22 '17 at 3:25
  • Tried hitting the reset button several times. Never seemed to get it right. Alway returned rc=1 No response from board. Everything seems to say you need a SCK (Sync Clock) but the TTL has only 5v+ GND RX TX and 3v3+ One of these goo.gl/0IZAuH – Justin Feb 22 '17 at 3:31
1

No, you can't because a USB -> TTL serial device is not made for that. You CAN however use an Arduino Uno to burn a bootloader to another Atmel micro, including the Attiny85.

Now you may ask, can you use the Digispark in place of the Uno (and thus burn more Attiny chips). The answer is a qualified yes. Another Arduino can do this -- search the web and find many examples.

You might (?) even adapt that sketch from the Uno to the Digispark (saving the cost of an Uno). I can't advise further and you're looking at a rabbit hole of possible issues.

Sparkfun does sell a chip which can perform boot-loading using minimal components: https://learn.sparkfun.com/tutorials/how-to-install-an-attiny-bootloader-with-virtual-usb

0

Short answer, no. You can burn a bootloader onto the chip using a programmer, and then the bootloader does the serial communication magic so you can upload your sketches via serial or even low-speed USB (if your bootloader knows how to do USB bit-banging). But you can burn the bootloader only through SPI.

  • But SPI is what i am trying to achieve. USB to TTL is serial. Look pic.twitter.com/JboHA3qq6d – Justin Feb 22 '17 at 18:30
  • Indeed TTL (well, UART in your case, that's a USB-UART chip) is a serial protocol but it's not the same as SPI. SPI is a synchronous serial protocol, which means it needs a clock line for timing, so it requires 3 lines for the communication to take place (SCK - clock line driven by the master, MOSI - for transmitting and MISO for receiving). UART is on the other hand an asynchronous serial protocol, so it requires only the 2 data lines (RX for receiving and TX for transmitting), the timing and synchronization is done by both the receiver and the transmitter. – Andrei Dragan Feb 23 '17 at 14:42
  • Yes as i enquire i am seeing that i can do this. But i need to break out at least 2 more pins from the PL2303. Will do this tonight and see what happens. – Justin Feb 24 '17 at 3:54
  • From the datasheet of the chip you can't do it, it has an RS232 serial interface engine (that's UART) and 2 GPIO pins (you'd need 3 GPIO if you could even program the damn thing to do bit-bang SPI, which you probably can't). Why do you want to reinvent the lightbulb tho? Buy an ISP, it's 2 bucks or something like that. Or if you have an arduino laying around use it as an ISP. – Andrei Dragan Feb 24 '17 at 9:47
  • 1
    With due respect i think you can do it if you breakout the extra pins of the PL2303. Well at least from what i have gathered so far. In the next few days i will attempt this and let you know how it goes.But yes. the ISP is in the post. – Justin Feb 24 '17 at 13:13
0

you can't program your hardware with just USB to tty converter you need a programmer for that now instead of buying expensive programmers you can buy an Arduino board and use it as ISP (In System Programmer) here is the link describing the whole process.

Adruino as a ISP

  • In principle that is true; however a number of actual USB<>Serial chips have additional proprietary modes offering synchronous serial communication which with the right software on the host can be used for AVR ISP. – Chris Stratton Jun 23 '17 at 6:08
  • 2
    @ChrisStratton Care to list a few/all such chips and "right software", if it exists? – jose can u c Aug 22 '17 at 13:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.