Dear Arduino/Genuino Community!
I’ve made a small PCB to measure the B-field. As microcontroller I chose the Atmel Atmega 328P. The PCB is already done and I chose to use the internal clock but installing the bootloader gives me a harder time than it probably should.
I have already tried to google my Problem but I couldnt find any solutions.
Here is the Tutorial I use: https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard.
I followed the “Minimal Circuit” part but the option “ATmega328 on a breadboard (8 MHz internal clock)” under Tools>Board isnt showing up(I am using v1.6.8 ).
I hope you can help me.
Thanks in advance,
edit:looks like number eight and closed bracket is an emoji…^^
I dont know what went wrong but the 3rd try somehow fixed it. Now I tested a blinky on the new microcontroller and it worked. But when I want to use the program to control my LCD display it just doesnt works.
I have just tested the program with a microcontroller in my UNO Board and with this one it works perfectly fine.
If you are able to upload blink sketch it means the bootloader works and also minimal circuit is ok, ya? The problem with LCD should be in wiring but just guessing. Show your wiring setup, photo or schematic, and the some simple testing sketch which is working on UNO and not on the breadboard.
Ok, first I tried my sketch again with the UNO Board:
Then I programmed a blinky onto my µC with the internal clock to verify if the programming works. After that I uploaded the same sketch as before and adjusted the wiring:
And here my schematic for the LCD:
At brief look there is missing reset pin connection - pull-up ~10k to VCC. The MCU probably won't start without this. Also it is good to have decoupling capacitor 100nF close to both VCC and GND legs. And there is no circuit for sketch uploading but I am supposing it is already uploaded by another way.
Read carefully again https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard and follow the minimal circuit instruction again.
EDIT: Yes, there is mentioned:
"You don't really need the 10K pullup resistor on the reset pin either, so we remove it to get a truly minimal configuration."
But connected to the Arduino board instead.
Ofcourse, you are right but the µC isnt working on my PCB either.
Now I have integrated a blinky into my program and there the blinky is working while the LCD isnt, I really have no idea what else i could try.
Hmm, hard to say now. Just carefully go throughout wires and check it again.
Try to swap ATmegas in Arduino board (but is it SMD version?).
I figured out what is going wrong. I was sitting there and wondering, "hmmm, why would I program a 2s/2s blinky". Apparently the delay function is taking doulbe the time it should(since I am using the 8MHz internal clock), so I suppose it is just counting in a while or something similar. Therefore the idle times for liquidcrystal.h are also double the time than they should.
Can I take a software approach and define somewhere the clock or do I have to switch to an external 16MHZ oscillator?