AM02 Module Plus - Custom PCB - Minimal circuit arduino compatible

Hi to all,
I made a custom pcb for the AM02 module with recommended circuit. I want to make another PCB but not including Usb port/user reset button and circuitry and using an FT232 externally.

On my first PCB I put external header pins for GND CTS 5VTXD RXD DTR but when I try to upload code I got the “Initialising bootloader.
Unhandled error: Timed out waiting for Bootloader response.” error with any combination of Reset and User button.
Using the usb and CP2102 chip normaly, I am able to upload code without pressing any buttons.

What is the minimal configuration for flashing an AM02 with an USB UART FT232 based? Did someone make a PCB based on a AM0x module AND not using CP2102/User/Reset buttons ?

hi,
Cubecell download program needs to enter bootloader mode.

"Did someone make a PCB based on a AM0x module AND not using CP2102/User/Reset buttons ?"
The prerequisite for this is: use the AUTO-BOOT circuit shown below

Thank you @jasonXu,


I made this in my PCB and GND CTS 5VTXD RXD DTR on header pins.Capture%20d%E2%80%99%C3%A9cran%20du%202021-03-02%2016-19-17
Capture%20d%E2%80%99%C3%A9cran%20du%202021-03-02%2016-18-11
What wiring can I make to flash with this dongle ?
I suppose DTR-DTR / TX-RX on corresponding pins on AM02 / +5V from the dongle to my +5V rail on PCB and GND-GND ? Where do I need to plug CTS ?
Do I have to plug all the pins from my flashing FT232RL device to my PCB to flash?

You don’t need CTS connected to PCB. Indeed the CTS is useless for CubeCell.

Besides this connection, just need to connect the RTS to your PCB’s RTS.

My implementation is as follows (RST goes to ASR6502 pin #33, PRG to pin #14)
RstPrg

I wanted to keep the programming/reset circuit as simple as possible. In my case programming is normaly done only once while AM02 is used in the end device. Holding both reset and programming buttons down and releseasing reset first, then MCU goes to bootloader and you can upload your binary.

Many adapters have also 3V3 output, in my case I use 3V3 from adapter to power up the device during programming. If you want to make the circuit even more simple, the reset button can be left out. Then just hold down program button and switch power on when you want to enter programming mode.

For program development it is easier just use the Cubecell development board, it has built in USB-interface with automatic reset/programming feature.

I use this kind of CP2102 based USB-TTL serial adapter for programming AM02:
PrgBrd

Hi @arit, thanks for sharing you diagram. I will make my new shematic with your recommandation especially if you confirm to me that only these pins (RX/TX/3.3/GND/RST/PRG) are necessary for flashing. I thank you for sharing to the community your experience.

I order a new CP2102 based USB-TTL serial adapter, I think you propose a good solution for reducing component usage on custom PCB’s.

I also order +5V coils for testing induction charging. I will share my next schematic when orders will be shipped.
Thanks again

Works at least in my case. Here is a photo of the final product PCB:

I use mainly PlatformIO as a development platform but I have tested also that Arduino IDE works with program binary upload. Just bear in mind that you have to activate the bootloader manually holding RST and PRG buttons down, then release first RST then PRG and then start upload.

As I mentioned earlier you can even leave RST button away. Then you have to keep PRG down when device is powered on to enter bootloader mode. In this version of PCB I have also a header pin for reset (RST), it is there just to make it possible to leave reset button away but still make it possible to use hw reset if needed.

3 Likes

Hi @arit, your post inspire me to simplify my next PCB design. I need to flash one time my CubeCell module too, so externalize the flashing circuit and reduce components are good to me.
My project will be placed in a waterproof case and verry probably resin sealed.

As PCB design is not my domain, your picture are quite inspiring on design like ground planes, components position, vias positioning, circuit simplification.
I let you know advancement for my project if it can help community.
So for my next PCB I will use this external USB-TTL serial adapter, I order pogo pins and I will flash on probe points. To substitute the only button (RST) and to keep in mind that my project will be sealed, I order some reed switch normaly opened, wich close with a simple magnet. I have continuity with a small neodym magnet at 2cm.

Someone have an advice for designing an external SMA connector. 50ohms traces, method to inactivate the native µFL module connector ?

I’m also waiting for +5V coils for wireless induction charging.

Thanks!