Looking for someone to help us debug why our bootloader process (using arduino IDE and mkii) is not working consistently.
We designed a very simple arduino pro mini (almost exact, moved a few pins around) and are having erratic results on programming the bootloader. It uses the atmega328p au (smd TQFP) chip.
We have scoped it, and found in most failed cases, the SPI clk is ok, MOSI going in ok, and MISO coming out seems to be not responding, or very weak signal at best on the failed units.
Ironically, the same board, parts kit, sometimes works flawlessly. We are using a mkII atmel ISP programmer. (same results using arduino UNO)
Thinking of building a fixed jig with zif TQFP adapter to test as isolated as possible the atmega328p AU chip only. Putting in an oscillator as optional element in case chip is set to external clock ?
Looking for someone more familiar with all the possible pitfalls of a TQFP chip, and ways of isolating loading/setting fuses, and help us prep for a production run.
We can provide parts/schematics/layouts, and current errors.
Like to get a fixed bid, on a set of troubleshooting techniques , and exploring some of our working/not working chips. Expect to pay for a time block of hours, that could be estimated to troubleshoot our scenario, and perhaps make the jig for us as well.
Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
The first time you program the bootloader onto a ‘virgin’ processor, its is using its internal oscillator at 1MHz. You have to slow down avrdude until you change the fuses. add -B100 on the avrdude command line.