0
\$\begingroup\$

I designed and had made a custom PCB for a project I am working on. The PCB uses an ATMega328 chip that sits in a socket that is soldered on the board. Currently, to program the chip, I am removing the chip from the socket and putting it into an Arduino Uno to program it. However, this is becoming a pain and I have to be careful not to damage the chip every time I remove it from the sockets. I'm looking to redesign the board so that I can program the chip using Arduino while it is still on the board. I'm not entirely sure if this is possible or how I'd go about doing it, so any help would be much appreciated.

For reference, here is the current design enter image description here enter image description here enter image description here

asked Jul 4, 2023 at 16:33
\$\endgroup\$
2
  • 1
    \$\begingroup\$ It is possible. What exactly is the question? Just have a connect the programming pins to a header for example. Design a better custom board or solder on the connector and glue it in place. For details, we need details too. \$\endgroup\$ Commented Jul 4, 2023 at 16:39
  • \$\begingroup\$ @Justme Sorry I wasn't clear the first time. I added my current design to the original question. I am using most of the pins of the chip, including the receive pin. I'm assuming I would need to include some sort of switch so I can switch between using the receive pin to program the chip and using it for the actual program? \$\endgroup\$ Commented Jul 4, 2023 at 17:27

2 Answers 2

1
\$\begingroup\$

You need MOSI,MISO,SCK, and RESET for the ISP programming interface. Those are on PB3,PB4,PB5, and PC6 for this specific controller, and the board has nothing connected to those but two mechanical switches you can easily set to open.

answered Feb 19, 2024 at 1:35
\$\endgroup\$
0
\$\begingroup\$

You can add a 5V TTL logic UART header.

The problem is the DMX receiver is always forcibly enabled and drives the AVR RXD pin used by bootloader.

You may need to just switch the DMX receiver off with the RE pin, or, somehow switch the AVR RXD pin between programmer and DMX.

But you have a spare IO pin, so you could also just enable the DMX receiver when your program runs, and when it does not run it will be held disabled by a resistor.

Also, just FYI, your DMX receiver does not isolate while they normally should, and has a termination resistor so it must be the last device on bus and there must be no other terminators present even if you have a DMX loop through.

answered Jul 4, 2023 at 18:23
\$\endgroup\$
1
  • \$\begingroup\$ Would using the spare IO pin work because to program the chip it needs to be powered which would then run the program? Also, I don't plan on using this in a dmx chain, thanks for letting me know though. \$\endgroup\$ Commented Jul 4, 2023 at 23:48

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.