Hacking the Arduino 328P-PU for 8MHz at 3.3V

Being that this project is meant to be deployed in the ocean for months at a time, battery life and energy consumption are big concerns. This board needs a super energy efficient microcontroller  running on 3.3V logic levels. All of the sensors that we have ordered are able to operate on 3,3V so I thought this would be the perfect application for the Arduino Due. HOWEVER, according to Arduino website the onboard voltage regulator of the Due requires an input of at least 6V. Since we plan on using a stack of 3.7V 6600mHA Li-po batteries this will not work.

Plan B, the UNO has the 328P-PU chip and I had two Mintduinos lying around the house. Mintduinos are essentially bare bones Arduino boards that  you build on a breadboard and come with a 5V voltage regulator, timing crystal, LED and other parts to make is run just like an UNO. But the standard bootloader burned onto the chip is set to operate with the external 16 MHz crystal  an run off of  5V. Sparkfun sells the Arduino Pro Mini for only $10  which is essentially a more energy efficient stripped down arduino board based on the 328P chip so I was curious to see if I could build my own version using the mintduino parts. After looking on the forums and searching around the internets I found the website How to make an arduino compatile minimal board  by Nick Gammon.

This  tutorial is exactly what I was looking for, including images and step by step instructions with code so you can burn a new bootloader onto you 328P-PU chip and have it operate using the internal 8MHz clock. In an effort to simplify the design and use less parts, Nick Gammon show you how to burn a new bootloader and set up the chip to function using the internal crystal. All you need is the 328P-PU ( NOT the 328P or 328 chip as these are missing the bootloader to run with the Arduino IDE) a 10K resistor on pin 1 and power and gorund. It is the most basic configuration possible with the chip only costing about $4-$5 by itself. I was able to follow the instructions and have the chip up and running in less than 30 minutes.

One downside is that you need an FTDI cable to program the chip since there is no USB port. Luckily, I had an UNO rev 1 with the removable 328P-PU chip. This allowed me to remove the chip and use the rev1 board as an FTDI programming cable. Simply connect RX to RX and TX to TX (I thought it would be RX to TX and TX to RX but guess not?) and selected the Lillypad 328 from the board settings. Again, really easy to do.

For the next step I need to research an efficient voltage regulator to regulate the power coming from the solar power charging circuit and Li-po battery. When full charged these Li-po batteries can be upwards of 4.2 volts and as low as 3.7V. Since I will be running sensors and need a somewhat reliable timing for interrupts I’d like to regulate the power to ensure consistent operation of the chip.  For now, the first prototype will use the arduino UNO with the second version of the board implementing the 8 MHz chip. In the meantime, I have pans to setup a simple temperature logging system and see how reliable this new chip really is and make sure its reliable before building a board.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s