Arduino mega as a component/shape (Shape mirrored)

Hello, I want to use an Arduino Mega R3 as a component in an project.
This means that the Arduino is in fact placed upside down on my project.

Is there an easy way to mirror a complete Arduino Mega shield sketch?
Or better, is there an Arduino Mega R3 component + shape available?

Thanks in advance!

pretty easy to search the net for a result like this

What about:
KiCad / File / New / Project From Template / System Templates / Arduino Mega Expansion Shield

Open the PCB, view it in the 3d viewer. It looks like:

Maybe you want to modify it a bit. change the connector types for example, insert the connectors from the other side of the board or add some of the big components such as the USB connector or elco’s.

Pcbnew / File / Export and export in VRML or STEP.
This gives you a 3D file of the board which you can use in other projects.

In your “real” project, you can also start from this template to re-use connector positions etc.

If you want to use the mirror image of the board, then select the whole board by dragging a box around it and press f for flip.

Maybe my topic start was not clear… I have made several Arduino Mega shields already…
That is not the problem.

But now I want to integrate an Arduino Mega into a bigger circuit board.
Just with pinheaders on the big board. That means the Mega is mounted
upside down onto the big board. So I need the Arduino Mega just as a
component within my project. Then I could flip the Arduino mega to the
bottom site of my project and just place the pins on the top side.

I thought that would exist already… Just the Arduino Mega as a symbol and a shape. But apparently not…

  • Turn your ‘Shield’ into a .STEP file or .WRL file
    • Use the software you have (CAD/Other) to create the file
    (• Alternately, load the Mega as @paulvdh indicated
    • From PCBnew’s panel, Export Step (you’ll use it for a Footprint))
    • From Kicad main panel, click the Footprint icon
    • Draw a graphic for Silkscreen, save the file (don’t exit)
    • [MenuBar] Edit>Footprint Properties>3Dsettings
    Adjust position and elevation as/if needed
    NOTE: You can place it on the Bottom using the “Board Side” button in the Footprint’s ‘General’ tab before/after clicking 3Dsettings tab.

Use… example below shows it on PCB’s bottom.

I do not understand the problem.
To me it looks like the posts above get you to 95% of what you want, and you’re asking for the last 5%.

Have you made custom symbols and footprints before?
It may be possible to find a complete arduino thing as a complete KiCad project, but I have not put any effort into that. The template mentioned above has all the important components, measurements and even the (horrible) arduino connector layout, and manipulating that into a form usable to you should be fairly straightforward.

If I take a step back I start wondering why you want to use this arduino thing at all. Why not simply integrate the ATMEGA itself on your PCB? Soldering those chips is not very difficult once you have the right tools and a bit of experience.

It’s not the soldering. The reasons many experimenters integrate these breakout boards (Arduino, Blue Pill, etc) onto larger boards is because they come with things like crystal, 5/3.3V regulators, boot loader, and so forth, and the price is not much over the MCU+parts due to mass production. Sometimes they are even a convenient way to feed power into the assembly, as they have a power connector. And they are tested. If you integrate your own MCU it becomes one more item that can go wrong after assembly.

I ‘think’ I get what you want to do… but, first…

FYI - I’ve made quite a few projects with Atmel and PIC chips (from Atmega 328p, Tiny’s, PIC’s and dsPIC’s). I stopped bothering with the chips when the price of Nano’s, UNO’s, Mega’s dropped to the price of a cup of coffee (I have boxes full if someone wants to buy chips, real cheap… LOL). I pay $4 for Nano’s

For me, the main advantages of using a complete board (Nano,UNO,Mega) are On Board:
• USB for programming and serial I/O
• No need for XTAL unless wanting higher speed
• No need for Power Regulator (user can tap off 13vdc for supply) or Pwr connector, caps…

Mostly, though I use socketHeaders,I hated removing chips for re-programming (especially if needing to change only one thing) and some of my codes utilize Serial input for setting user’s values, such as local Latitude into Memory).

I think you want to be able to plug the Mega into Pins mounted on the Bottom of main board. Image below shows an UNO shape with No header. I was lazy and didn’t bother with the mating pinheaders or setting the correct distance for them. But, you get the idea…

Make your board shape
Add PinHeaders to board’s bottom and plug in your Mega. Pretty simple/basic… If you want a graphic, set your Mega to Bottom and adjust Z dist…

About the arduino thing…
Every argument has a valid counter argument.

  • I don’t like the 16MHz crystal, it is not possible to get a real RS232 baudrate with it, which results in baudrates which are barely within tolerances.
  • Yuck to serial to USB to PC. Give me RS485 anytime.
  • Yuck to the linear regulators. I prefer to use onboard SMPS with a 24Vdc input.
  • Yuck to bootloaders. Pressing a button to enter boot loader mode? (But there are cases when bootloaders can be useful)
  • Programming connectors just need a few wires, nothing more, and they always work. No danger of erasing them etc. With a “real” programmer, you can be sure that the chip gets programmed from the right command in your makefile, or from your IDE, with no need to take your hands off the keyboard or mouse. With more modern microcontollers you also get real debug interfaces

But we’re getting sidetracked here. What about the original “problem”?
Similar to BlackCoffe’s last post, I already suggested to swap connectors if needed, flip the board, extract Step or WRL from a KiCad template.
You can put the “arduino” board on the bottom, but it’s just as easy to flip the template mentioned earlier before export, and then put it on the top.

So to me looks like we’re running in circles, and you’ll have to do the remaining 5% yourself.

I think half (maybe more?) depends on habits. I was programming uC’s long before “arduino” existed and was used to put a programming connector in each design I made, just as a voltage regulator that fit, and the right crystal for the job.
If you “grow up” with “arduino” it’s comfortable and easy to stay within it’s limitations and find excuses for remaining there. I have a suspicion that the root cause for this post is similar. My guess is that you have little experience with making your own footprints and are apprehensive for diving into it and just doing it.

But there is no reason to be afraid of it. KiCad’s Footprint editor is quite good and easy to use. It’s just fear for the unknown.

RS232 has a bit of tolerance and it’s perfectly possible to get within the correct band rate even if the crystal isn’t 11.059200 MHz or whatever. Even at 115200. All the Arduino users prove this.

Sorry, most people using PCs for development have no desire to get another RS485 interface when USB ports are available and will also supply power.

24V? A lot of people have even gone to 3.3V only these days. SMPS? For milliamps of current?

Press a button to enter bootloader mode? After power on or a particular signal it goes into bootloader mode for an instant, and if nothing is found it runs the existing sketch.

A lot of those breakout boards (there are far more than just Arduino) have ICP pins too when you want to bypass the bootloader. Some of them have to be programmed by an ICP dongle, or serial interface (USB to serial converter needed). Either way is amenable to CLI. All the download sketch button in the Arduino IDE does is call avrdude with the appropriate arguments.

The world has moved on, mate. :wink:

Sigh, there we go again.

Yeah sure, it usually works. Until you you get some PCI card with RS232 which also thinks 3% baudrate deviation is acceptable. Then you add the tolerances, and there is no way you get it working with a 16 crystal on a ATMEGA. ((most?) ARM uC’s have fractional baudrate generators, which is “good enough” from any crystal.

No they don’t. If you’ll look a bit deeper you’ll find numerous complaints on forums of stuff not working. I don’t read the “arduino” forums, either on github with the bCNC or the GRBL project they’ve put a warning that even “official arduino” boards sometimes have reliability issues.

Who is “most people” in your context? You’re trying to convert a spefic example into a useless generalisation.

Now try to power some 30+ nodes with 3V3 over a CAT 5 cable with 2 ohms of DC resistance.

So you want to add a power cycle too for every 10 minute development cycle?

Yeah sure, the wold keeps on turning, but not always for the better.

To OP:
Sorry for this hijack.

World hasn’t moved on, just provided more options.
There are cases where “real” programming interface is irreplaceable, and there are cases where having bootloader on a usb is convenient.
Just like having jtag with real debug interface is valuable, so is ability to develop and iterate quickly on the firmware using bootloader and usb connector, without even opening up the device enclosure.

There is no power cycle, the IDE or downloader if you prefer uses one of the other lines to signal a download.

When using USB to serial there no PCI card. In fact the PCI bus is mostly for video cards these days. It’s the USB dongle that generates the baud rate.

It’s plain to see you haven’t kept up with what’s happening in the MCU area.

Fine, let’s agree to disagree. The world will continue turning whatever we say.

Thanks BlackCoffee, I will check this out. The thing is that in Kicad there are a few Arduino’s
just as a component with a shape listed. That was what I was looking for for the mega in the first place.

The whole other discussion about integrating the chip and components is
not an option since I want to make a simple DIY board for others…
Just put a cheap mega upside down on the board… Easy…


Several yrs ago I migrated my dsPIC based Astronomy gizmo to Atmel Chips. When the price of UNO’s and Nano’s dropped to peanuts, I converted the design again - trying out different configurations. I posted several variations and many folks have built them. I no longer have a Webpage (too much user support needed for Newbie enthusiasts) but the 3D parts and some circuit configurations and code is still posted here (not updated).

Though I’m not a fan of Shield’s, @Proxxima’s interest in a Mega shield got me tinkering with making a Shield for an UNO…

Using a Single-Layer PCB (for easy DIY users) and Packaging everything in a Small envelope has been a challenge (Photo example below - a larger box than preferred).
To that end, I decided to give the Shield and FreeCad “StepUp” plugin a full test.

Results: Not Finished but, it’s far enough along - the images below tell the story, which is; Very easy to put the UNO on the bottom, make a Shield, load it into FreeCad using SteuUp and build a Box around it. Previously, I did all that as individual chunks of work.

I’m now a Fan of the StepUp Plugin :grinning:

Using Atmel 328p chips

Shield and UNO

Much Smaller Package

No stepper driver? :wink:

Heck no!

Just like driving across town to visit a friend, once knowing how to get there, I don’t need a map - just need to look for the road signs. That makes it the ‘Fun’ part.

Meaning, pretty darn easy to find celestial objects if I can see the guide stars. Unfortunately, poor, polluted sky visibility drove me to design this so, now I just point the scope to the Alt and Azi location and Bingo!

I use my WhereIsIt Android app to know where to point - when published, it was recommended by the Royal Observatory of UK and is still on their site.

Motors take the fun out of it. Though, I’m designing one (dedicated to Astro Photography) with stepper motors for a friend. Will be a small unit with camera/lenses only (no scope).

The alternate is to get the Earth to stop moving for a couple minutes when your friend wants to take the picture… :wink:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.