uPDI & SPI Programmer using ESP32

Go To Last Post
3 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

A year ago we hacked together a portable SPI programmer for SPI chips like the ATtiny13a and ATMega328PB. It's LiPo powered and wireless network enabled. It's been our "bench buddy" and supports AVRdude over TCP as well as programming from the onboard SPIFFS.

 

https://gitlab.com/bradanlane/po...
 

Lately, we have starting to use ATtiny412 and ATMega4809 chips and needed the same or similar functionality for UPDI.

We have a working implementation of the original portable programmer which supports both SPI chips and UPDI chips. It uses a simple TCP interface which can be run from the command line with netcat (on Linux) or almost any TCP tool capable is sending data and receiving responses. This facilitates scripting and other automation. It can be used during the development cycle as well as for small batch production away from the computer.

 

The new tool handles upload and storage to SPIFFS; upload and flash; flash from SPIFFS; dump flash to SPIFFS; dump flash to terminal; read/right fuses; and reading chip details.

 

The hardware is a TTGO (ESP32 with TFT display and buttons) so it is relatively easy to create. No custom PCB needed.

 

https://gitlab.com/bradanlane/po...
 

The code is still quite cluttered and will get a lot of cleanup over the next couple of weeks. It's not code to teach "best practices" by any means, but some of the capability and implementation may be useful to others.

 

I'm happy to answer questions And entertain feature suggestions.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Here are a couple pics of the finished programmer.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This is interesting for me.. I have a Tiny402 connected to an ESP32. However, it seems your code is built around platform IO whereas I use Arduino and TBH I don't want to get to install play with yet another IDE.  Especially for a single project. So unless it's dead simple to port to Arduino I don't have the willpower to play.
I  might add, the reason I'm interested is because I'm having a ridiculously hard time programming the 402 using the official AVR ICE. All I get is a timeout error yet I do see what appears to be sensible signals on the UPDI pin.
Your project may not help, but when power and a single pin fails to succeed one wonders what else can be done. ( Fresh out of the tube 402, ,official AVR ice, Reinstalled AVR/Microchip Studio )..  hitting my head against the wall.
I'll probably make a separate post about my 402 issues, but thought I'd comment here.