Designing a microcontroller/PCB

For Adafruit customers who seek help with microcontrollers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
kadamr
 
Posts: 35
Joined: Wed Jul 03, 2013 6:29 pm

Designing a microcontroller/PCB

Post by kadamr »

Hi,

I was wondering if I could get some advice. I've been designing and building a large prototype project for well over a year now using components from adafruit and I've almost finished: essentially it's a lighting/sound installation. I'm currently using commercially available microcontrollers to operate different areas of my project (although not entirely accurate, let's say they are all normal Arduinos). I want to design my own PCB and have it printed professionally: starting with the lighting controller. I have a motherboard that takes an Arduino (for argument's sake) and combines it with several components (diodes, resistors, chips etc.) on a home-made stripboard/motherboard - very hobbyish/amateur currently - this then connects to the lighting rig using a data line.

I think the best way to do this is to breakdown the Arduino (by buying it's constituent parts) and solder those parts onto the motherboard instead of wiring up a full Arduino. When I have that new bare bones home-made motherboard working it's just a case of turning that it into a PCB design and having it printed and assembled by one of those professional companies. Good so far?

The problem is that while I understand the code I've written and all the electronics I've put together, I don't understand the fundamental designs of a microcontroller. That is to say I don't know which processor is best to choose etc.. What other chips/bits do I need? All I know is you code an Arduino and it just works (like magic). I don't know if is just a processor and some pins or if the RAM and whatever other bits are all separate. To make the issue worse the microcontroller I'm using is more complex than an Arduino in reality (I'm swapping between a few different ones currently). By looking at the PCBs of these microcontrollers I can see a whole load of little black chips besides the processor and I don't know what they're up to. I find this final stage of my project quite daunting and I can't see how to start tackling it. I'm really looking for advice on how to progress.

To summarise: I have my working code, I have a working motherboard with microcontroller. I now want to design a professional PCB specific to my lighting rig (i.e. a lighting controller) that doesn't use a commercially available microcontroller. I know this is probably more trouble that it's worth but nevertheless I really want to do it. While there's no problem using an Arduino (or another) microcontroller in a hobby project I very well might make this into a real product of my own (for sale) someday soon and then I'd much rather have a professional specifically-designed PCB for my product.

Any advice really appreciated,
Thank you!

User avatar
brucef
 
Posts: 215
Joined: Tue May 03, 2011 4:51 pm

Re: Designing a microcontroller/PCB

Post by brucef »

If you want to understand the workings of a microcontroller a little better, maybe you could start by breadboarding your own Arduino. Once you can build that sort of thing and program it to do simple tasks like 1 Hz LED blinking etc, I expect you'll feel a bit more confident in working with bare AVRs instead of Arduinos or other pre-built MCU development boards. To generalize wildly, if the boards you are currently using have PIC MCUs they'll likely be of similar complexity to AVRs, but ARM chips are usually going to be trickier to develop with.

Beyond that, it's a little difficult to tell what you need here. Can you read a schematic like this one for the Arduino Uno? Can you find the schematic for whatever board you are using, and learn anything by reading it? To create a PCB you'll first need to be able to create your own schematic in a program like KiCad or Eagle and then do the PCB layout. It doesn't cost you anything to download one of those programs and play around with it a bit, and you could try making a sample circuit and producing a board through something like Dangerous Prototypes' PCB service for not much more.

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Designing a microcontroller/PCB

Post by adafruit_support_mike »

A mixed solution is also okay.. design a PCB for the circuits you've designed and make it easy to connect to an Arduino. That's the whole idea behind making shields.

This is also a perfect opportunity to plug the Pro Trinket (https://www.adafruit.com/products/2000) which is designed to be embeddable. By the time you have a PCB printed and buy all the parts, you may end up paying more to build a microconroller section yourself.

Locked
Please be positive and constructive with your questions and comments.

Return to “Microcontrollers”