right now I'm using a Uno R3 to develop an enhanced lighting for my home office. It will consist of a control unit (which it is here about), and a power stage that will control the lighting itself.
The control unit will have its own PCB, to which a number of encoders and switches are attached, and a control command is send to power stage via I2C bus. Due to length of bus line, the physical layer is changed to CAN in between. Please refer to schematic below.
Of course, software is never perfect, and final integration may - oh, no, will(!) - require software modifications with ATmega328p installed on PCB.
--> So my question is what is - from your point of view - right solution to allow later software upload?
Some conditions / requirements
- Installed Bootloader on final "product" is fine. Power-up time is not an issue because control unit will be always on.
- It shall be possible to run the Arduino IDE, i.e. connect PC with "something" to the PCB. So, then I can run some tests for new software by serial monitor.
What I have understood so far is that SPI interface allows software upload without bootloader, however, it does not allow to run IDE, i.e. condition 2 is not fulfilled. Additonally - I'm not sure about - if SPI is used there shall be not other hardware attached to the pins. But since I need quite a lot of the GPIOs (in that sense the schematic isn't complete yet), I connected just normal open switches to MISO/MOSI pins.
With bootloader, communication would be done through USART (TxD, RxD). So, it looks to me that a device like this one Amazon: DSD TECH USB zu TTL Seriell Adapter should do the job. What I don't know if such a device allows to run the Arduino IDE ...
Here also a closer view to the adapter:
So, questions are:
- can I use the DSD-Tech-Adapter to upload software an run the Arduino IDE in the environment shown in the schematic? If not, do I need a different type of adapter, which one?
- I assume the adapter is correctly connected, i.e RxD -> TxD and TXD -> RxD
- I have just rough understanding about CTS pin, except that it is said to be tight to GND in my application. Correct that way?
- SPI in the schematic is, so to say, a full provision - is it fine?
- Do I need to add something to the schematic that it will work? (Of course, I use a breadboard, but I like to increase my confidence that I'm doing right).
Your support is appreciated!