I got a botboarduino today and have been unable to program it through serial using the current Arduino IDE and ftdi drivers.
I have eventually managed to program it using another Arduino as an ISP. I can program the board this way and it works as expected but it’s not ideal. However any serial output from the board appears as the correct number of characters but as reversed question marks.
When I program the duemilanove bootloader and then try to upload a sketch through serial I just get an error “Programmer not responding”.
I’d really like to be able to program through the usb port.
This typically indicates either a baud rate mismatch or a signal inversion (proper rate but highs are lows and lows are highs).
This was the first thing I was going to recommend since you were able to program it by ISP using another Arduino.
That being said, if it doesn’t work after doing so it is possible something is defective in how the fuses are setup in that ATmega chip that is on your BotBoarduino, therefore causing the bootloader to not run properly.
If you know how to read/change the fuses by ISP using the other Arduino you already have setup, I recommend you have a look. It most likely does not have the right settings.
If you do not know how to do it or prefer not to do so yourself, please let me know and I’ll convert your post into a support ticket, which will initiate the RMA process to help replace your (seemingly) defective board.
Please do not hesitate to reply here if you have any other questions or comments!
Hmm, that seems not quite right.
From what I gather from a few sources (such as this one), they should be L/H/E = 0xFF/x0DA/0x05.
You can find more details on what the fuses mean in various places such as here.
The only difference here would be the brownout voltage level and some reserved/unused bits, so nothing that should impact the system all that much:
Would you mind trying rewriting the fuses and see if that helps? Either way, let me know and I’ll forward this for an RMA. None of this should be required to get a board to work!
Programming the fuses gives a warning about setting the unused bits to 1 instead of 0, which works out to 0xFD.
I agree it does seem unlikely that the brown out setting would cause a problem.
I’ve tried the “loopback test” too by linking reset to gnd and linking pin 1 to pin 2, which seems to show the serial communication works.
I was hoping to solve the problem without a returning it if that was possible but it seems likely there is a fault between the serial chip and the MCU.
Will I be able to get a replacement sent out when this one is returned?
According to the schematic, it should indeed be 16 MHz, as you can see it here. This would of course totally mess up the serial communication baud rate calculation. I guess technically you could recompile the Arduino bootloader to use a different setting for the register that controls the baud rate to fit this crystal (or even replace the crystal outright), but that is far off what would be acceptable to request from you!
I’ll transfer your topic to a support ticket right away. Someone from our customer service team should be in contact with you by Monday.