Get Started with Altium Upverter, Sign Up Now.
If you’re looking for a great platform for creating a prototype electronics system, then Arduino is one of your best bets. Arduino boards offer plenty of capabilities in a compact package, including USB connectivity, reasonably fast processing, and connectivity with external devices. The schematic and layout files are also available as open source design data, allowing you to quickly import and modify an Arduino board using your favorite design software.
Upgrading Existing Arduino Projects
Although Arduino boards are readily available and provide a great pre-assembled platform for building a new system, Arduino boards carry some disadvantages. First, the Arduino IDE is not the best platform for building firmware, so you will need to find another editor to create code for firmware. If you already have some experience building software, then this shouldn’t be a huge obstacle. The Arduino library controls many MCU peripherals that you might not need, and getting under the hood and replacing
In terms of the hardware capabilities, some Arduino boards only use 8 bit MCUs, and only Atmel microcontrollers are officially supported. There are a number of Atmel MCUs that you can use to upgrade the board to 16 or 32 bits, so you can create your own more-powerful variant of an Arduino board using Atmel MCUs or another brand of MCUs. In general, going beyond 8 bit MCUs means you will have fewer restraints on processing power and register width for logical operations and arithmetic.
If you look at the layout, there is a bit of wasted board space between the EEPROM and the top connector, and Arduino decided to put their logo in this area. You could use the existing schematic and create your own layout for a custom Arduino board if you’re feeling adventurous. You could also modify the existing layout to fit into a smaller board, although this can be difficult if you aren’t using the right design software.
There are some examples where companies have taken an existing Arduino and beefed up its capabilities to provide faster clock speeds, more communication channels, and greater flash memory and RAM. Take a look at this example from Microchip if you want to get an idea of what you can do with modified Arduino projects.
Getting Started with Arduino Projects in Upverter®
If you want to design directly on top of an Arduino board or modify an existing Arduino, you can go to the Arduino store and download the schematic and layout files. You can then import them directly into Upverter and start modifying them as you like. I decided to get started with the Arduino Uno and start modifying it directly in Upverter. Once you download the Eagle .SCH and .BRD files, you can create a new project in Upverter and import this schematic and layout data as a new Arduino project.
In this example, we’ll ditch the external 16 MHz clock oscillator and just use the internal 32 MHz clock in the new MCU. The ATXMEGA32E5-M4U MCU from Atmel is a better option to use than the existing ATMEGA16U2 in the Arduino Uno schematic as it has higher resolution and faster clock speed in the same footprint. Once you ditch the external clock, you can also free up some board space in the layout and finish your routing. The ATXMEGA32E5-M4U can also be found in Upverter’s component database, so you can immediately add it to the Arduino schematic and layout. You can swap out the existing MCU automatically or manually.
Ditch the external oscillator before adding the new MCU
If you don’t feel like swapping the existing MCU with the automated tool, you can just select the existing MCU in the schematic and delete it. You can then go to the Add Component window, search for the ATXMEGA32E5-M4U, and place it in your schematic. The last step is to route the existing connections back to the new MCU.
As you rebuild the schematic around the new MCU, you’ll find that there is a slight alignment mismatch between the existing open connections and the new connections to the new MCU. This is shown in the figure below (see the red box). However, you can rest assured that the new connections are routed properly, and you can check that the reference designators match on the new and existing connections.
Ignore the slight alignment mismatch for the moment
Going back to the PCB layout, you’ll see that the new MCU will fit nicely in the old location, however you will need to change up your routing so that you can make the required connections. Like most component swaps, the new component generally doesn’t have the same pin arrangement as the old component, so some modifications to the layout will be required.
The new MCU will fit nicely in the red box above
Wrapping Up and Sharing
Once you’ve routed connections to the new ATXMEGA32E5-M4U MCU and removed the slower clock oscillator, you’ll find that there is some more space on your board to place some other components if you like. There is no perfect way to route the open traces back to the new MCU, so it’s up to you to finish off your layout. When you’re ready, you can share your upgraded Arduino board with the Upverter community by marking your project completed and making it publicly accessible in your Dashboard area.
You can complete the same process shown above with any of the other components found on the board as you see fit. The other candidate for replacement is the EEPROM as it takes up a significant amount of board space.
The other option for completing custom Arduino projects is to ditch the current layout and redesign it entirely. Depending on how pins are arranged on the new component, you may find it easier to simply reroute your board rather than modify an existing complex design. I would personally take this route once I swapped out the EEPROM for a different component and added any other desired functionality to my customized board.
There are many online PCB design platforms, but few give you the tools you need to take a design from start to finish without adapting at least one external program into your workflow. The browser-based PCB design platform from Upverter provides all the tools you need to build or modify Arduino projects and share them with other designers. There are plenty of other open source hardware projects on Upverter to help you get started. This online design platform includes all the standard features designers expect in electronics design software and contains an extensive library of components for building your Arduino projects.