Saturday, March 22, 2014

More things a 3.3v Arduino will not do..

Been working on revising the firmware to accommodate the new RN-41 Bluetooth module, and have ran across some more differences between the 5v Arduino and the 3.3v one.  As a reminder, I changed the core of the design from a mixed 5v/3.3v to a single 3.3v one - just simplified things.  (the Bluetooth modules need 3.3v).   In doing so I also had to reduce the clock speed from 16Mhz to 8Mhz, as the Atmel CPU just can not fly as fast on less power!  So, here are some for the things I have noticed from this change:

3.3v Arduino vs 5v Arduino:
  • Uses different boot-loader, need to select in Arduino programming environment:  Tool/Board -> Arduino Pro (3.3v / 8Mhz) w/ATmega328
  • Boot loader is larger!  3.3v leaves 30,720 bytes available to use vs. 32,256 in the standard 5v Arduino
  • Struggles with higher serial port rates. I had lots of trouble communicating reliability with the RN41 Bluetooth at 115,200 baud, specifically receiving.  O'Scope showed no problems with the signals, but a Google turned up that even at 5v the Arduino is on the edge for 115,200.  (I have backed off to the nice solid 9600 baud)
  • 3.3v / 3.6v Zeners have terrible characteristics.  Under 5v, and Zeners use a different physics to work, with a resulting poor knee.  This continues to cause issues around protection, and I will be looking to likely pull them all out...  (More on this in a later post)  (And ya, this is not really an Arduino issue I know :-)
  • Will not support watchdog resets!  Still need to dig into this, and hope I do not need to come up with custom boot-loader..  Right now I have a workaround for forced reset of the controller (ala, after receiving config changes via the Bluetooth), but IF the watchdog triggers  - rather then rebooting, the systems halts and needs a power cycle.  At least it will take down the Field FET drivers, so the battery / alternator is protected!  But I do want to fix this down the road.


Maybe that is it for now.  If I find anything else out, will update this list.


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.