Designing General PCB Controller for your Circuit Board Layout

Created: August 7, 2017
Updated: March 11, 2021

Electrical component kit and tools

I always thought that to be successful you need to emulate the success of others. When I started my career, there weren’t any single board computers like Raspberry Pi, and no one took Arduino seriously for industrial applications. You can imagine how bad it was the first time I did maintenance on a general purpose controller that I designed. It was a fire alarm controller that had over 50 wires manually screwed onto it. I had to replace a faulty 8 pin Electrically Erasable Programmable Read-Only Memory (EEPROM). The client was not happy, and I was under pressure to get the job done quickly and without error. That’s when I started separating general purpose controller designs into separate physical modules. Likewise, today, you will find Raspberry Pi making its way in industrial applications. This is not only because of its cost but also because of its modular design.

Looking to Design General Controller PCB Boards?

As components and labor costs continue to increase in the electronics industry, it seems logical to have a minimal design footprint. However, when it comes to designing general purpose controllers, this may not be the best option in the long run.

Unlike consumer electronics like smartphones and TVs, a general purpose controller PCB layout is designed with generic specifications and often used on a smaller scale. With different firmware, the same controller can have different functions. For example, they can be used as payment machine controllers, security management controllers or as a simple data monitoring station.

A typical general purpose controller consists of

  • A Microcontroller (MCU)

  • Memory chips e.g. SRAM, FRAM, Flash, EEPROM

  • Peripheral Interface (Ethernet, USB, RS485)

  • Inputs (Analog, Digital, Optocouplers)

  • Outputs (Relays, Digital)

  • Power Management

  • Wire To Board Connectors

In practice, cables from external sensors, switches, and equipment run to the general purpose controller’s PCB to their respective connectors. The general purpose controller is then secured to an industrial enclosure or a terminal rack where they are serviced on a regular basis.

Parking machine
In certain industries, downtime means loss of revenue and angry customers.

Why you should use a modular design for your general purpose controller

From a design to cost point of view, it makes sense to design a general purpose controller on a single PCB. However, if you consider the applications that these general purpose controllers are being used for, a cost saving design could actually turn into expensive support and upgrade work. It’s better to use a modular design with multiple PCBs since general purpose controllers are used in applications that are subjected to harsh electrical environments. Their requirements evolve over time and will need to be upgraded, so it is critical to keep the downtime minimal in some of these applications.

A well designed modular general purpose controller PCB layout allows its users to remove critical components without dismantling the whole unit from the enclosure or removing all the connected cables in a time-consuming operation. Replacement can be done easily by removing the faulty printed circuit board module and plugging in a new one.

Typical MCU on a general purpose controller
A Typical MCU module on a general purpose controller

Best modular general purpose controller design practices

Separating your general purpose controller into two or more modules will make repairs or upgrades more convenient. However, if you fail to segregate components correctly onto the appropriate module then this will be a wasted effort. There isn’t a standard practice for how to design modular general purpose controllers, but here are the principles that have served me well to date.

In my designs, I separate my general purpose controller into two modules, the I/O module and the MCU module. The I/O module is eventually mounted and screwed into an enclosure, and the MCU module can be easily plugged into the I/O module.  

Passive printed circuit board components that are robust and have long life cycles go on the I/O module. This includes power management circuits, wire to board connectors, communication ICs,  optocouplers, and relays. The MCU module includes the more intelligent components, like the MCU, memory chips, ethernet circuitry, and Bluetooth or WiFi modules.

In my experience as a design engineer, I’ve found that components, like the MCU and memory chips tend to fail more frequently than, for example, voltage regulator or relays. This is why segregating passive and high use components made sense. If a component is likely to fail, it can be found on the easily removable MCU module.

Besides segregating circuit board components into modules, you’ll also want to ensure interconnectivity between the modules with properly placed board-to-board connectors. Since the MCU module relies on the I/O module for power, sufficient voltage and ground pins need to be allocated on the inter-board connectors.

At the end of the day, designing general purpose circuit board controllers goes beyond prioritizing short term manufacturing costs. To be truly effective, you need to consider the long-term brand reputation and ease of support. Designing modular general purpose controllers will let you focus solely on making excellent designs and firmware enhancements, and the support team will be able to replace faulty modules with minimal discomfort and downtime.

If you want to start designing general controller PCB boards into modules, you’ll need the best PCB software to get started. Altium Designer®’s ability to manage various schematic blocks and synchronize the nets on your PCB will come in handy.

Have a question about general purpose controllers? Contact an expert at Altium Designer now.

 

Check out Altium Designer in action...

Powerful PCB Design

Related Resources

Related Technical Documentation

Back to Home
Thank you, you are now subscribed to updates.