Designing an experiment board using an Atmel SAM3 ARM microcontroller

Discussion in 'General Electronics Chat' started by josef.van.niekerk, Jan 24, 2013.

  1. josef.van.niekerk

    Thread Starter New Member

    Jan 18, 2013
    7
    0
    This is my first post here, and I'd just like to introduce myself. I'm not an electronics expert, however, I am a software developer by nature. I've been a PHP web developer for about 7 years, with experience in C++, Java and a lot of other technologies.

    I'm currently in the process of designing my own ARM Cortex M3 experiment board. After I brought my own Arduino, I became more curious on how these boards are designed and manufactured.

    So I decided, the best way to learn would be to go through this process myself.

    I've already designed my board with a buck converter 3.3V power supply, an ESD protection array, and the device is powered from USB 5V. Further I've added my Atmel SAM3S processor, and now in the process of connecting the rest of the pins.

    I'm using Eagle CAD to draw my design.

    Would it be acceptable for me to post my CAD design here for constructive critique? I'm very eager to learn, and very excited about having other folks with more experience than me, point out my mistakes, so I can learn from them and rectify.

    The idea is also, to ensure that, when the design is finalised, I have a greater likelihood, that the whole thing is going to work, after I've build the board, and connect it to the USB supply for its maiden power up.
     
  2. thatoneguy

    AAC Fanatic!

    Feb 19, 2009
    6,357
    718
    As a starting point, look at the schematic and board files for the Pinguino it is PIC32/MIPS based board, but processor and I/O pin changes can be done relatively easily. It has a ton of "extras" on board that I wish more boards used (SMPS vs. linear supplies is my biggest wish)

    Another is the ChipKit u32 by Digilent The schematic and board files are included on that link as well, but it doesn't have all the bells and whistles the one above does, but if you understand the schematic and board layout, you are well on your way.

    You'll probably end up with a 4 layer board, see my "bypass caps" link, which contains a link to tips on designing boards for digital circuits.
     
  3. josef.van.niekerk

    Thread Starter New Member

    Jan 18, 2013
    7
    0
    Thanks for the reply @thatoneguy.

    I already have an ARM schematic design that I'm working on for the Atmel SAM3S4A ARM Cortex M3 CPU. I chose this ARM chip as it has only 48 pins, which will make PCB design a bit easier, before I move on to more heftier designs. There is also schematics available for the SAM3S-EK evaluation board from Atmel, which helps me to cross check my design with the SAM3S datasheet, which aids a lot in the learning process.

    The Eagle CAD design schematic is about 60% complete, all I need to do is wire up analog and PIO pins, and get the JTAG sorted out, and off course then move onto some PCB layout.

    I'm not interested in PIC at this point, although I've read up quite a bit on PIC and PIC32. For now I've chosen to focus on ARM development.

    I've been playing around with my Arduino Mega 2560 for some time, but wanted to move onto learning how I can design my very own ARM experiment board.

    So far it's going rather well, but there's a lot of research needing to be done, and a lot of mistakes I need to make, in order to teach myself the process.

    I'll post my design on this forum later on for some constructive criticism, but not before I've taken the design as far as I could, and I'm happy that I've checked everything over a couple of times.

    The one tricky bit I have to solve now, is what I'm going to do about the JTAG. I can't afford to buy an Atmel SAM-ICE debugger right now, they are a bit pricey, although I suppose it's a good investment.

    I'm considering including a USB to JTAG circuit on my board similar to this USB to JTAG programmer from Modular Circuits
     
  4. thatoneguy

    AAC Fanatic!

    Feb 19, 2009
    6,357
    718
    Though I'm a PIC fan, I wasn't trying to get you to switch from ARM, ARM is a great platform.

    The schematics and board layout may give you some more ideas while designing yours, with the processor of your choice. Usually, power are the internal layers, signals are outer layers, oriented 90 degrees in trace direction "preference" between each side to reduce interference/coupling. Mostly it was for the reference if the LiPo battery connector/charger (very nice feature), and 3.3V SMPS.

    You can never leave too many test points/unused port connections, or bypass capacitors as a rough rule of thumb. You'll never know when you need one, or when a particular design will end up getting noise on the board.
     
  5. josef.van.niekerk

    Thread Starter New Member

    Jan 18, 2013
    7
    0
    I see now where you're coming from. I am quite worried about PCB layout, and I must admit, i have no clue what side-effects my design is going to suffer in terms of interference and impedances that introduce noise on my design.

    It sounds like something that can be very tricky to debug, and this costs money, as one might have to ditch a PCB or two in the bin if the design needs to be altered a lot to get rid of noise.
     
  6. MrChips

    Moderator

    Oct 2, 2009
    12,415
    3,354
    I recently completed the PCB for an STM ARM project. I knew I needed to keep noise down to the absolute minimum. My choice is to devote the entire bottom layer to a ground plane with as few traces there as possible.
     
  7. ajienikicio

    New Member

    Sep 14, 2013
    2
    0
    Hi there!

    I've recently made a custom board as well with an AT91SAM3S chip. The hardware is ready but the chip has nothing inside yet. I need to be able to code into the chip just like coding into any other commercial MCU board (e.g. arduino). I'm going to use the Atmel SAM-ICE over JTAG to interface my board to my PC.

    Could anyone please share the steps to get started working on the software using Atmel Studio? Or are there anything else I need to touch on before I move to Atmel Studio?

    Thank you so much!
     
Loading...