Core2duino (Updated)

Core2duino (Updated)
«
  • core2duino17.JPG
  • core2duino12.JPG
  • core2duino15.JPG
  • core2duino14.JPG
  • core2duino21.JPG
  • core2duino20.JPG
  • core2duino19.JPG
  • core2duino18.JPG
  • last photo ←
»
This instructable will show you how to build an Arduino shield that adds another Atmega168/328 on top of your Arduino, giving you an extra complete set of I/O pins to use. That's 12 PWM pins, 12 Analog pins, 4 external interrupts,  or 40 Digital pins total.

-----------------------------------

*UPDATE* 3-11-10
I re-did the Eagle file and scrapped the R/C header and both of the 7805 voltage regulators. The new design will ONLY draw power from the base Arduino. There was a bit of confusion about the selectable power source of the old design, so I just made it simple. Also, it is now short enough to add an Arduino shield on top. The 2 VIN pins are to supply power to the base Arduino via it's VIN pin (thereby powering the core2duino through the base arduino's 5v regulator). If powered through these pins, voltage should not exceed 12v.

This design is also stackable.. meaning you can add the Core3duino on top of it!

-----------------------------------

Using I2C, you can connect 1 Arduino (master) to a host of slave Arduino's through Analog ports 4 and 5.

Also, you can add the security of having a completely separate CPU to your project that is unaffected by any code running on the base Arduino.  I use this shield as a failsafe on my R/C lawnmower. The base processor uses the 2 external interrupts to sample and decode 2 servo signals from an R/C transmitter/receiver, while a 3rd servo signal is sent to the Core2duino that controls a relay for the motor-controller power supply. This way, even if there is a problem with the main code and it stops responding, the Core2duino will still be able to carry out it's main function unaffected (which is to kill the power to the bot if anything unusual happens).

I have included the Eagle files needed to build the board. It is basically just a breakout board for the Atmega168, that has it's own power regulation and crystal oscillator. It provides access to the base Arduino's pins by using stackable headers that plug directly into the base Arduino.

It is a fun board to play with and I thought I would share, just in case anyone else has a use for it.

You can check out my other projects at my website: www.rediculouslygoodlooking.com

This board also works with the Core3duino... more pins!


 
Remove these adsRemove these ads by Signing Up
 

Step 1What you need to get started

What you need to get started
Things you probably need to buy:

1. (1)pc copper clad (3"x4") or assortment
2. (1) 28-pin dip socket
3. 16 mHz crystal resonator w/ built-in capacitor
4. A 2nd Atmega168 with Arduino bootloader
5. stackable header set
6. (2) 6-pos female headers (2) 8-pos female headers .1"
7. (4) male pin headers (optional) .1"

Other things needed:

power LED, any size/color
330 ohm-1k ohm resistor for power led
10k resistor for reset button
reset button
.1uf capacitor optional

Acetone
etchant solution (muriatic acid + hydrogen peroxide)
paper towels
scotch brite pads
iron
Laser Printer
magazine paper
rubber gloves



« Previous StepDownload PDFView All StepsNext Step »
21 comments
Dec 4, 2009. 10:44 AMAsuraku says:
 Now I would assume that since I have a 328, that I should have another 328 to match right?
Oct 28, 2010. 7:19 AMfonyat says:
So I could use an Atmega8 as the 2nd core, with it's own 8mHz crystal, and do the timming adjustments through software on any of the cores... correct?
Oct 28, 2010. 10:34 AMfonyat says:
Really interesting... the Atmega8 is SO cheap that makes a great candidate for an auxiliar I/O board (with fancier possibilities)!
Maybe a couple of them on the same shield..

Thanks a lot for the instructables!!
Jul 30, 2010. 9:45 PMwillrandship says:
Wait, I'm a little confused.... How do you program the second atmega? Does it just get its own binary? How do you hook it up to program it? Looks cool, I'm just not sure how it works.
Aug 1, 2010. 12:21 PMwillrandship says:
Ah. So, two programs for the two arduinos. Don't worry, I see the merits of the project, especially for big bots like yours. I would hate to have that running around my neighborhood.
Dec 5, 2009. 8:48 PMuberben says:
Great idea, johndavid400. I'm just curious why you didn't piggyback off of the Arduino's 5v supply and oscillator. I can understand not sharing the oscillator if that would require soldering directly to the Arduino, but I can't see what the issue would be with sharing the power supply.
Dec 6, 2009. 3:52 PMuberben says:
Cool I guess I should look more closely next time :)
I haven't done any Arduino stuff (yet), but do you know if it would be possible to share oscillators if you were building your own Arduino clone unit?
Mar 14, 2010. 5:43 PMkillersquirel11 says:
Also, interference along the oscillator lines can cause crazy bugs.  That's why most designs have the oscillator as close as physically possible to the chip
Mar 13, 2010. 1:58 PMdouglas.mauro says:
Nice project!

1) Is a *kit* coming soon??  ;)

2) Does this extend the current set of pins within my *main* program or are we really programming 2 different chips at this point?

I am trying to get more external interrupts (without having to buy a Mega)

Maybe some examples on using the different pins (which are for chip1 and chip2)???

Thanks and again, nice job!

Dec 21, 2009. 2:05 PMAsuraku says:
In revision 4, the one without the extras, what is the value for the capacitor? And I assume that the resistor is for the LED and not a diode or something.
Dec 6, 2009. 9:54 AMkrazykuul says:
 cool, what's it do
Dec 3, 2009. 9:55 PMwchill says:
 How would you do this on a protoboard/perfboard? I have absolutely no experience with etching and thus would like to use a protoboard/perfboard instead.
Dec 4, 2009. 10:40 AMAsuraku says:
 I've always etched my own boards, but since I don't have access to a laserjet printer to make my own resists I have to use a paintpen or a sharpie. One thing I also use is a perfboard. I use it to layout my grid and do proper spacing. So I'd say you're better off with a perfboard if you don't already have a etching setup. And no offense to johndavid400, but I'd say the perf will look a lot cleaner and more organized.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
79
Followers
4
Author:johndavid400
I have always been one to take things apart to figure out how they work, so most of what I own has been dismantled. If it can't be taken apart or hacked, i'd rather not have it. And I like to do thing...
more »