I am in the middle of building my own PCB Board with different kind of MCUs (ESP32/8266, ARM Cortex, W5500) - Because each of these in a Dev Board are to big I want to just get the chips onto the board itself and make everything how I want it to be connected.

But I only worked with dev boards before and programming/testing these is really simple but I realised I am really just a beginner in this field and so I don't know how I would get the code for the chips I created on the dev board onto the finished PCB. The only way I could say would build the code on a dev board, remove the chip and but it onto the PCB but if there is any kind of code problem I would really run into a pain to always remove the board. The other alternative I thought of would be to put a USB port - Because I don't want 3 USB ports for each chip I would also build in a jumper to change which chip I want to program.

But I doubt that these are the "best" methods, so could help me there and give me an idea how I would do that ? I know helping a beginner isn't easy but I need to start somewhere to get better. Thanks !

  • 1
    \$\begingroup\$ You generally have some programming interface for each chip you need to program. If one of the chips is capable of programming all the other chips then you only need one programming interface. \$\endgroup\$ – Justme Apr 5 at 9:48
  • \$\begingroup\$ Is there enough space on the PCB for an ICSP header? \$\endgroup\$ – Andrew Morton Apr 5 at 9:57
  • \$\begingroup\$ ESP8266/32 have a bootloader that uses serial/uart which is different to the average ARM Cortex that will usually have SWD. Some ARMs have a bootloader that have alternate means of loading the code. So, no one solution. There are standard connectors for SWD and for serial, just use a strip of pins. \$\endgroup\$ – Kartman Apr 5 at 10:54

Browse other questions tagged or ask your own question.