This project spawned from the MicroDue project, which appears to be dormant. I didn't want to reuse the "MicroDue" name, as that project may get revived, and anyway my version is a little different, so I am calling this "CoreSam3x".
My goal was to create a smaller Due retaining as many features as possible.
Board is 2 layer 50x50mm max dimension to take advantage of cheap PCB service.
Components are 0603 or larger, 0402 are two small for my DIY skills!
self contained board, so can be programmed and run with just USB cable
compatible with "Due" board target in Arduino IDE, no extra support required
There are also JTAG pins and 6 pins for serial programming header.
This is a DIY Open Hardware project, I am not planning to make a commercial offering, if anyone wants to make and sell it please go ahead! But please wait until the design is finalised
Features:
all Due pins broken out
2 extra GPIO extra pins broken out
Ethernet pins broken out
Battery backup pins broken out
JTAG pins broken out
on board USB (OTG, ie. device or host)
on board 3.3V regulator
buttons for reset/erase
LED!
RTC crystal
0.1" pitch pins
mounting lugs for M2.5
dimensions : 2" by 1.6" (51x41mm) excluding mounting lugs
I'll be refining the layout over the next few days and will probably get a batch of 10 PCBs ordered next week. I'll have a few spare boards available if anyone is interested. I haven't done a BOM, I would guess component cost would be around £15 for 1-10 quantity.
The board is pretty much full, at a pinch could squeeze some more on. I'll push the design and gerbers to my github repo soon.
If you have any comments/suggestions please let me know!
I'd be VERY interested in a working version of this. How far away are you from completion? At a price point of £15 I'd be willing to take the punt but I'll obviously need the full layout to ensure pin numbers etc work correctly.
Also, I'm assuming you've dropped the 5v regulator that takes 9-15v?
From prototyping before, I can tell you that LEDs are extremely useful for debugging. Will you be able to include a power, pin13 LED and maybe a usb serial tx rx? I'm assuming your plan is to program the board through the native usb port? As opposed to having a secondary chip for usb serial?
Add another interested person to the list. I like the fact you broke out the RTC battery pins. Is the AREF pin easily accessible, too? I'd definitely need coordinates for the headers to embed this on a shield.
I have a similar mini-Due footprint pet project that I'd like to make time to do one of these days. Imho, your last goal aspect regarding compatibility with Due and Arduino IDE is one of the most important ones. I mention this given that in the past I've been able to program a bare SAM3X8E using bossac with a .bin file from Atmel Studio 6 via 'native' USB. It works OK, but to me, it is a very 'naive' way to program it having all that potencial (Due libraries and examples) in the Arduino IDE. It's just a thought and good luck with your CoreSam3X.
@Palliser I guess Val is busy with other stuff but maybe he will come back to it. I had a look around and couldn't find any similar "micro" designs for Due, they tend to be bigger rather than smaller. AVR has plenty of micro-nano-mini designs so I figured there was a niche to fill.
There is a smaller SAM3X chip, but it is still 100 pins, and I felt keeping close to Due compatibility was useful.
I've now managed to utilise all but 4 pins on the SAM3X. Two of those pins are for the External Bus Interface, which means I am very close to having the full EBI available, and I have an obvious place for 2 more pins, that seems like an opportunity too good to miss!
At this stage I am still in prototype phase, it may take a couple of iterations to iron out problems.
Remember that the Arduino/Atmel team still cooking the Zero (48-pins SAMD21) with host capabilities. I also have ported a TFT LCD and camera libraries that use all the EBI pins. I think I am not the only one waiting for the Zero or a smaller Arduino SAM solution. Anyway at the end of the day I am very happy with the Arduino Due! Good luck with your prototyping.
I've started thinking about a motherboard, with stuff like a 16MB RAM, parallel TFT and ethernet. I don't really want to reinvent the ATSAM3X-EK, but I am tempted to add the Wolfson codec and revive my music player project.
This is great. I have been looking around for a small footprint Due.
I can't find where the SDA and SCL lines are broken out. Which header are they on? I'd like to modify your board and add some sensors using I2C. Are you able to share the files you used to make the board? I have been using Eagle.
paperslammer:
I can't find where the SDA and SCL lines are broken out. Which header are they on? I'd like to modify your board and add some sensors using I2C. Are you able to share the files you used to make the board? I have been using Eagle.
There are both I2C channels on pins 38 & 40, and 20 & 86. The attached symbols show all pins available, I will create a better pin out diagram soon.
The light blue labels are Arduino digital pin numbers, special functions are also named according to Arduino convention (e.g. RX1 is Arduino RX1).
Doing this I discovered I have missed off one Due pin, D73 which is one of the LEDs on the native USB. Possibly not too important, but for completeness I will probably swap bonus pin PB24 for PA21 (D73). I don't think PB24 is important, and I would like to keep the Port C pins for the EBI.
Just realised the SAM3X8E does not support SDRAM, so that nobbles the idea for a 16MB add on SRAM is supported though, and a 2MB static RAM is not too expensive. I guess even 1MB would be nice addition.
Bobcousins, thank you very much for these files. I am having some trouble opening them. I downloaded and installed BZR 4022 as well as all the files in your gihub profile (except .pdfs and .pngs). I didn't download any gerber files. When I open some of the files, I get an error saying that it is "not an Eeschema file". The .cmp files error says that it "doesn't appear to be a valid component link file"
This is my first time running this so I'm sure it's some setting / library I don't have. Any ideas?
To use my github projects, you will also need the "KiCAD_libraries" folder. Without using git, the best way to get a snapshot of a git repo is to download as a zip, there is a button on home page of each repo - in this case the link is https://github.com/bobc/bobc_hardware/archive/master.zip That ensures you have got everything needed.
I think I have worked out a way to get everything working, but there is still a clash between external RAM and hardware SPI. To counter that there is support for 4-bit SD card interface which should make faster SD access, it might be necessary to use software SPI for other peripherals.
I have designed a base board to test out enhanced features, this is really designed as a test platform, but can act as a reference design. It has following features:
2MB SRAM
512MB NAND Flash
sockets for elechouse Ethernet module
connector for HY32D 3.2" LCD
serial programming header
JTAG connectors
microSD card using 4-bit interface
5V voltage regulator
Hopefully the Core boards are waiting in the post office for me to pick up...