UPDI from Arduino programmer to the 3216 on 3.3V ? #962
Replies: 2 comments 1 reply
-
I would not expect the UPDI signal on a tinyAVR to make it through most level shifters intact, especially with how high a baud rate the software serial runs at. The pin drivers on the UPDI pin are terribly weak because that's also the HV-override pin used to enter UPDI when the pin is not acting as UPDI. There;s always been one pin on each part that's like that - used for HV programming enable, and while it may be usable as GPIO. the output part is miserable. (reset pin on classics, UPDI/RESET pin here.... on the Dx-series they didn't even have the option turn UPDI pin into something else until the DD's, so there's no need for HV resets, but the pin can only be reset or an input - they gave up on pin drivers entirely aside from the pullup.) - of course, on classic AVR we didn't need to do bidirectional communication on those pins to program them, and here we do. Because of the high speeds and weak pin drivers, those magic transistor/resistor level shifters are not suitable. I don't think it would be able to get a low that was low enough for the serial adapter to detect. |
Beta Was this translation helpful? Give feedback.
-
Hello , I have the same problem, what level converter-chip would you suggest to use - Diodes? For example, does the "megaTinyCore" offers the so-called direction that can be used on the converters? If so, where on the host would be used? Actually, has anyone found a solution to this problem? Best. |
Beta Was this translation helpful? Give feedback.
-
Hello all,
the periphery connected to the 3216 requires 3.3V, indeed, the 3216 can handle even less , like 2.7V but the speed will be limited, however, although I can safely program via the 5V that is took from the Arduino as a programmer,
I am not able to program on 3.3V made on the level converter.
Although, the wiring is the same when switching to 3.3V, the error is pointing to the power... and the funny part is that is automatically showing 5V as Vtarget, which is obviously not :)
Any ideas what I am doing wrong?
Do I have to remove the resistor between the UPDI line and tiny in this case of programming?
In addition, is there anything else that I should be looking at?
Thank you in advance and I am looking forward for any questions , replies you may have!
Best.
Beta Was this translation helpful? Give feedback.
All reactions