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

  • 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\$
    – Justme
    Jul 4 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\$
    – Thomas
    Jul 4 at 17:27

1 Answer 1


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.

  • \$\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\$
    – Thomas
    Jul 4 at 23:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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