Arduino clocking

More on my W B project…

So, I powered up the wire-wrapped prototype to see if I can get it to do something basic (LED flash or something)

I can see the UART sending a burst of data into pin 2 (hope that’s right!) of the Atmega but no response.

I’m wondering about the clocking into pins 9 & 10 and wondering how sensitive the ckt is to crosstalk, impedance or something else. Attached is a pic of the prototype and the 16Mhz crystal, 2 x 22pf caps and a 1 x 1M0 resistor across the crystal. I’m wondering about weird things like crosstalk, etc as it’s all wirewrap underneath.

3 Likes

Starting with the basics - is the MCU bootstrapped?

Can you confirm that the clock is running? I have found that the crystal is very sensitive to stray capacitance, and in breadboard format often runs best with no additional capacitors at all. So removing them, or perhaps replacing with 10pf is worth a try. The 1M resistor is not included with some examples and might not be required.

3 Likes

Hi Jeff,

I thought about the lack of a bootloader so I tested the CPU in another genuine Uno and it runs OK. Also, RESET is good, the volts are good, all the grounds are correct so that doesn’t leave a whole lot else.

What’s weird about the clock is that my scope doesn’t show any significant oscillation on either pin 9 or 10 and this is the same situation as on the normally functioning real Arduino Uno I have. I’d have thought the thing would be going at an easily observable 16MHz.

I might unwrap the oscillator ckt to minimise wire lengths. I might also pull the caps as well and see what happens.

(Edit: My scope is new and is an Owon 4 Ch…yes, I know I should have got a Rigol from Core!!)

2 Likes

OK, I shortened the xtal to just adjacent to pin 9, 10 and put the 22pf caps onto the w/w pins and it oscillates fine now at 16Mhz. It’s also looks the same on the scope as the real Arduino so I figure it’s correct now.

Still no response from the CPU when the Arduino IDE tries to upload. :roll_eyes:

3 Likes

Retail chips are often programmed with Blink, so just attaching a LED and doing a reset is a worthwhile check.

I presume you are using a USB-to-Serial programmer. What baud rate does it default to and and how is it wired?

3 Likes

Jeff,

I’m using that CP2102 USB>UART I mentioned in another post ( Weird 3v3 problem on my UART).

To be honest, I hadn’t thought about baud rates. I guess the bootloader must have a default rate. If the CPU can’t work out what’s being sent to it, it’s hardly going to respond in any meaningful manner.

Anyway, attached is the schematic I used to actually build the thing. Maybe there’s a bug in there that I can’t see.

Edit: It looks like the Arduino defaults to 115200. I found a CP2102 programmer and have set the UART to the same. See what happens,

1 Like

I found the CP2102 was at 9600 but trying it at 57600 and 115200 was a fruitless exercise so now I’m really stuck in a hole.

:worried:

1 Like

That’s much more complex than is needed, and is not configured for UART. A much simpler implementation is here. You could trim your setup back to the minimum used in that example.

Do you have another means of programming a chip, such as
Biomaker Starter Kit: Rich UNO R3 Board - Hackster.io

If so then you can program something like Blink and confirm that your breadboard version is at least correct for running the device.

1 Like

Thanks Jeff,

I laboriously checked the baud rate from the CP2102 on my prototype compared with a proper Uno and confirmed that they are both set to 57600. I did this by measuring the first data burst coming in from the IDE. It’s 164us if you’re interested.

I’ll set it up as per the Youtube vid. and see what is what.

The Biomaker Starter kit looks pretty nice.

1 Like

Hi Jeff,

It’s working OK now. I built it on a breakout board as per the Youtube vid and made the Reset exactly as per his instructions (noting that this follows the Uno schematic with the FT232) and off it goes.

Thanks for your help on this!

:smiley:

1 Like