Designing all in one PCB (wish list)

matchbox

Senior Member
Hi guys,
I have designed a few PCB's over the years for Picaxe's. And there have worked out fine, but have been based around single chips.

I have been considering designing a new board for a while, that would have two Picaxe's. For the purpose of having totally independent processing. So that one could be a dedicated task processor and the other could handle serial RF communications or OLED display, or interface inputs etc etc.

I have made an out line of my prerequisites.

1) The board will be SMD as I always do.
2) It has to be small. No bigger than 30mm x 45mm. (I like small and compact)
3) I have chosen to go with 2 x 14m2. Because of their functionally vs the amount of real estate that take up, compared to higher pin count Picaxe's.
(I haven't ruled out a 3rd 08m2.)

4) It will be a double sided board with a partial double sided load as well.
5) I want it to be all in one, with output devices. e.g. SOT-89, N and P channel FET's and Solid state relay isolation. Micro piezo element.

I am confident that I can accomplish it. But this is why it has to be planned out very well first.
This is the place I require some advice.

I have never had a lot to do with Picaxe to Picaxe communications before.

What would you guys recommend, in the way of communications between the two chips. Both serially and with hardware interface on the board as well?

I am also wondering how two SOT-89 78L05 linear regulators would go driving both picaxe's independently and having a possible variance in supply voltage between the two.
How much would the effect the serial communications between the two picaxe's, and also the picaxe hardware?

Any other idea's for an all in one, that any of you guys may have dreamed of, would be appreciated :) But it has to be within the realm of the board size.
 

premelec

Senior Member
Sounds like a good project - you might use LDO regulators and perhaps add a tiny LED or two to show power and some function... plan on!
 

techElder

Well-known member
LDO is fine, but sooner or later you'll need more power than they'll supply.

Speaking of power, you have to evaluate potential power requirements up front.
 

techElder

Well-known member
If I were going to be stuck with one processor for "everything", I would be using an X2 rather than an M2; specifically a 20X2.
 

westaust55

Moderator
Tend to agree with Tex.

Albeit that the 20 pin devices are seemingly in SOIC wide packages whereas the 14pin is in narrow format,
the additional IO pins and an ability to select either 20M2 or 20X2 has advantage.
Further for the X2 part having 64 MHz top clock speed, additional commands and the A.0 pin for simple high/low commands.

You could allow space for an 08M2 for occasions where a dedicated device is needed for specific monitoring needs without continual polling by the main chip.
 

techElder

Well-known member
On further thinking, if I was designing a dual processor PICAXE system, it sure wouldn't all be on one board "No bigger than 30mm x 45mm". That would be way too cramped for my style. I'm always thinking of revisions and repairs when I design something.

Batteries that would power something that small would need a very light load and/or quiescent current. I'm having some trouble getting enough battery (to make it worth doing) in a remote system with an HC-12 RF transceiver design with around 50uA average consumption.

So, sometimes design comes down to parts external to your mini processor. Why have a processor "No bigger than 30mm x 45mm" when you have to power it with batteries (and packaging) that are 2 or 3 times that size?
 

matchbox

Senior Member
Thanks for your input fella's.
I have assessed general current consumption of the two picaxe's with on board and external sensor etc. For this, 500mA continuous would do it fine. So two AMS1117 would handle it easily.

The board will be a double sided load. Most of SMD chips and lower profile components will be on the under side of the board, while headers and higher profile components will be on the top side.

I do like the functionally of the X2 processors. BUT....the space a SMD SOIC 300mil 28X2 takes up is greater than three SOIC 150mil 14m2. And the 28x2 has to be in one location, while the 14m2's can be mounted in different location around the board.

I very much want to go for multiple picaxe's for true parallel processing. I have used many X2's before, and have found on a few occasion when a second picaxe would be useful for true independent monitoring of another process. But I do see your meaning West, with the higher clock speed of the X2 series. An 08M2 would help with being a second processor. But they are so limited with pins.


The reason I am going for a small board, is because this board will be an all in one general purpose. With the ability to be used in small projects, through to more complex multi function project.
If I go big in design. It will be easier to load and make, but it will not be useful for small project in the future.

I have made some complicated boards before with CAD. So this will be more of a challenge, being this size. But it will be worth it in years to come with my future projects.

As I mentioned earlier. It will include many components. The 2 x 14m2 picaxe's to start with. Also an LM339, ACS712, an SMD passive piezo buzzer. Two ASM1117's and a the possibility of a SMD Opto-coupler, 2 x sot-23 P and N channel FET's.
The headers will be vertical. With a JST 1.5mm programming SMD header and a micro SMD DPDT programming switch to load either picaxe.
And solder pad jumper links in various places, to make some functions work in some application and different ones in other applications.
 

hippy

Technical Support
Staff member
I wouldn't be putting anything on any PCB until I had designed the system, prototyped the hardware, written the software, and proven it all works.

If it's intended to be a general purpose board I would at least have a circuit diagram which shows how it's laid out and connected. You don't want to design something which won't do things you may need to do.

I would also probably select a 20X2 for any general purpose board.
 

hippy

Technical Support
Staff member
14M2 has 4 PWMOUTs 20X2 1 PWMOUT - a possible consideration in some apps...
M2's have no Scratchpad bytes, 20X2 only 128. The 28X2 and 40X2 have 1023 and more I/O pins. Only the 20X2 can run at 64 MHz with an internal clock.

For motor control I would agree four PWM is better than fewer or just a single channel. For serial interfacing background receive may be essential. High speed may be essential for display multiplexing or fast bit-banging.

In some cases a 14M2 with 20X2 may be best, in other cases a 20X2 with 14M2.

It's what makes designing a generic board suited for multiple projects so difficult.
 

Buzby

Senior Member
... post#8 ... I very much want to go for multiple picaxe's for true parallel processing.
Here is the start of my parallel processor.

The hardware will consist of sixteen 20X2's, each with a pushbutton, LED, piezo-sounder and 4 digit alphanumeric display. A DS1307 provides a 1sec clock and some shared RAM. A resistor chain provides each 20X2 with a unique address, and a 24LC256 provides a means to supply a programme to each 20X2 individually, or, as is the main intention, to enable each to execute exactly the same code.

The hardware was quite easy to design, there's nothing clever in any of it. The real big challenge is the infrastructure code. A 17th 20X2 acts as a master, controlling the programme updates and sending commands to each slave. Each slave, once it has its code, then has to handle accessing the I2C bus without collisions, reporting status back to the master, and changing modes as required.

Finally, it will need a problem to get its teeth into. I'm toying with draughts ( it's a lot easier than chess ! )

Some may say I'm bonkers for building this, but it's what I'm interested in, the challenge of doing something off-the-wall. ( See the orrery for instance. )

I started with this idea back in 2012, so don't hold your breath for any results soon !.

Cheers,

Buzby

MPX_2.jpg
 

Buzby

Senior Member
Yeah, but see my post about the broken 'slot 4' in PE6.

I needed both 'slot 4' and 'PPPstuff', so something had to give, and it was PPP.
 

matchbox

Senior Member
Thanks for your posts Ibenson. It does give me other ideas to look over.

Premelec, the 4 pwmout's is definitely a big plus's for the 14M2. I do use PWM drive control very often on my projects.

Hippy, Being that it will be multi purpose. I do write test code. And do draw up a schematic to go off, and look over the specs of many components to possibility use.
I view the CAD track layout many times on many different days, before submitting the files for manufacturing.

I really do see the benefit of an X2.
If I could 'shoe horn' in a 20X2. I would prefer to squeeze the extra for a 28x2, with a 14M2. But that would be too difficult for the size I am going for.

Thanks too, for the run down Buzby

Just an example of where I'm coming from. These are two boards I made years back.
The first was to control and Aqua/AeroPonics system. It was specific to the task.
The other board and one like it. Are just GP. And because of its size, I have used it for many projects. While I have not used the first board again for anything.

As you can see. I like small and compact

What about serial comms between picaxe's. I have only used serin/serout before. Would there be an major advantage of doing pin layout for I2C comms between picaxe's?
Would that require any additional hardware components?
 

Attachments

lbenson

Senior Member
Not recommending this particular configuration, but just as an example, with the 2 PCBs I posted images of, if the 20X2 is used in the left one, only three connections are needed to make it an I2C slave for the 14M2--SDA, SCL, and 0V. Then the 14M2 can write to the first 128 bytes of the 20X2 scratchpad as if it were eeprom, including the time data from the RTC (which the 20X2 would, as a slave, no longer have access to--but you could in theory handshake to trade off I2C mastership).
20X2 and 14M2_I2C.png
 

oracacle

Senior Member
Personally I would lean towards something like the AXE091. the problem as far as I can see with that exact thing is that there is only one slot of the 08/14/20 pin devices.
Taking that information I would be tempted to design a board that can accept 2/3/4... 20 pin devices and then just drop what you need in place. If it were to have a bread board as well it would be a perfect dev board for that sort of multi-chip arrangement. Ok this doesn't meet the small as possible arrangement, but gives a massive amount of flexibility for getting projects of the ground and proving concepts before getting to far into a new venture.
 

matchbox

Senior Member
Personally I would lean towards something like the AXE091. the problem as far as I can see with that exact thing is that there is only one slot of the 08/14/20 pin devices.
Taking that information I would be tempted to design a board that can accept 2/3/4... 20 pin devices and then just drop what you need in place. If it were to have a bread board as well it would be a perfect dev board for that sort of multi-chip arrangement. Ok this doesn't meet the small as possible arrangement, but gives a massive amount of flexibility for getting projects of the ground and proving concepts before getting to far into a new venture.
Thanks for your input Oracacle, I do see the angle you and others are coming from. It is just that the size of the board is 90% of what I'm look for in this case.

It is odd that the manual only shows multi Slots for X2 devices. Although, I do know the 14M2 does have 2 Slots. I have used them before. Both Slots have 2048 bytes of memory each.
 

matchbox

Senior Member
I finally got the time to finishing this board, after 2years and sent it off to be made. Then loaded it.

It's 34 x 45mm.
It has a 28X2 and an 08M2 with a switch to select which one will be programmed. The program plug is a JST ZH 1.5mm

The other function the board has is -

ACS-712T 20A current sensor
Buzzer element
P-channel MOSFET 3Amp (<87mohms @ 4.5v VGS) with ability to select 5V or VCC switching. NO or NC via adding or removing resistor.
78M05 500mA linear regulator
Supply voltage divider
Serial In/Out wired between both Picaxe's for communication.
I2C resistors
16Mhz crystal on this board.
 

Attachments

matchbox

Senior Member
Hi guys, Here is another board I recently designed to use for RF serial communications for a few projects. It uses an 08M2 to filter the data and then transfer it to the 20X2.
So far I have only loaded it with a 20X2. But a 20M2 can also be used, due to them both having the same pin allocation and layout.
The board size is 30.5 x 30.5mm.
Its only basic with supply filter caps and two N channel MOSFETs that can handle 3 Amp continuous between them, with a flywheel diode locations for inductive loads. And a supply voltage divider.

I included the Gerber RS-274x files, if anyone is interested.

The last two pictures have a 3D printed mount with double sided tape. It makes it convenient to place the board in any size project box.
 

Attachments

Last edited:

SolidWorksMagi

Senior Member
Hi, My general board I call the RoboGuts™ circuit board is 53mm x 73mm and can host any chip or module 28PINs or less. It is designed to be an education experimenter board or a fixed circuit for permanent installation. The reason the board is so big is that it includes a socket for a speech synthesizer chip and audio amplifier. The board can run on 3.3V or 5V circuit designs user choosing the voltage regulator. There is also two small breadboard sections for more general components. One is 15-PINs x 3-PINs, the other is 6-PINS x 2-PINs. The idea is to use standard jumper wires, wire-wrap wire or small PIN wire to build a circuit. I've been developing the "RoboGuts™ S.T.E.A.M. Education Program" to help beginners get up to speed controlling a particular device in a few minutes including hardware setup and software to run an experiment with the device.

One of the neat things is for the hardcore Arduino folks is; this board is a little smaller than an Arduino UNO yet with the ATMEGA328P-PU chip on this board you get more capabilities in a smaller package for less money.

24510

I've also included .STL part files for 3D printing dozens of little palm size robot designs for beginners to build their own little talking and singing robot toys.

There is a method to the madness;

Tapper Sings "I Gotta Get Me Some"


X Project 00 miniFloppyBot RoboGuts™


BillyBot Sings "Electronic"
 
Last edited:
Top