vorrias
Various boards that can plug in on the motherboard 40 pin ZERO module connector.
First board with the non permanent name (until some better name comes in) is the zero-arduino module.
First I wanted to build it around ATmega32U4-AU MPU (as used in our I/O modules).
Then I changed my mind and decided to use ESP32 devkit insted (because last time I was experimenting a lot with it )
Then leocat3 talked to me about STM32 MPU specially for the "Blue-Pill" module commercially found under the name STM32F103C8T6. He is using it in some  interesting designs he made here: https://hackaday.io/projects/hacker/278394
That module was a winner because the total board costs only  1.7 - 2 Euros is a powerful ARM 32 CPU with IDE programming if you like and lots of goodies inside!
So the board will accommodate the "Blue-Pill" module. It is cheaper that building it from scratch.
I hope leocat3 (among others) contributes on that and will be able to finish the board very soon. In Kicad of course.
Quote 0 0
vorrias

As I promised I bring today more details about the board I am building. I put here all my ideas after doing some brain storming with HKtarzan. It is here for reviewing the specs and help us to build a better board. I already have some staff in Kicad and this week we may have the first version of it. (At least in the schematic phase).  So please contribute with your ideas to make this board soon available to the community.

10/08/2018
board will called "zero-arduino" but this is a temporary name. It is to have something based on.
ZERO-ARDUINO TO DO.

This board depending on the firmware loaded will be able to:

a - Can be used as an "Add On" board in a system where ZERO board is inserted. That is "COOPERATION MODE"
b - As "Stand Alone" CPU board sharing motherboard and I/O modules. That is "STAND ALONE MODE" and can be used as a "coupler" to remote I/O nodes using our I/O system already build (and in continues developing)
- The motherboard must be pressent at all times.

- Case "a": ZERO is the "MASTER". The STM32 CPU will work as "SLAVE" and can share all hardware on board (CAN, DAC and the 2 software encoders by the ST32 chip, plus other things) with the rest of the system via SPI bus, used as SPI slave device.
This device has enough power for CANOPEN stack (a high level protocole very popular in automation world) available for free from CANFESTIVAL or ST:
https://github.com/robots/STM32/tree/master/lib/CanFestival-3/include/STM32
https://www.st.com/en/embedded-software/emtas-canopen.html).

- Case "b": this board acts as a main CPU. A job for this CPU can be a "coupler" job for remote I/O.
That makes a distributed I/O system with virtual unlimited I/Os in any topology using CANBUS, Ethernet, MODBUS.
This "coupler" board will use all hardware on motherboard (Ethenet, RS485 for PLC BUS, RS485 for external RS485 RTU, RTC, Watcdog, etc)


Specifications
- Size same as I/O modules
- 40 pin connector to plug in ZERO bus
- STM32F103C8T6 module on board
- SPI DAC MCP4822 2 x 12BIT analog out with Low Noise Op-Amp interface - must be shared with ZERO
An Op-Amp with different gains will be used after MCP4822 for buffering and for industrial interface chosen by jumpers (or software): 0 to 5v, 0 to 10v, -10 to +10v

Some interesting ideas about DAC came from https://feilipu.me/2013/12/01/goldilocks-v2-part-1/.
The MCP4822 takes 16 bits to set a signal level, this is two SPI bus transactions. The maximum SPI rate is SCK/2
If both DACs are being driven we can generate a square wave of 172,800Hz. This is an unreachable figure. More likely, the best case will be around 50kHz for both channels, or 100kHz if only one DAC is being used.
Optionally, the LDAC pin-out can be used to synchronise the transfer of digital inputs to the analogue output buffers across the two DACs or to a specific clock with low jitter.
The MCP4822 generates its own internal 4.096V reference voltage Vref. This means that irrespective of whether is being powered by a battery, by USB, or by the barrel connector and the SMPS, the output voltage for a particular digital input will be constant.
The op-amp configuration with dual op-amps, in a quad package, designed to double the current capability of the output, it to be a recommended configuration for current doubling. The only difference to the Adafruit example circuit is to add low value output resistors which allow each op-amp to find its own offset level without consuming excess current.
The option to bridge the output capacitors to provide a DC output. The output capacitors are necessary for audio use, as headphones or audio amplifier inputs require an AC connection, with no DC offset.

- SPI CANBUS MCP2515 and MCP2551 chip with 2 RJ45 connectors for easy daisy chain the remote nodes.
- 8 DAC inputs (A0-A8) using the STM32 core probably with Low Noise Op-Amp for 0 - 10V industrial interface, if space is available on board.
- 2 High speed quadrature encoders using the STM32 internal timers (done by software)
- Need is for PS -15,0,+15V for powering the Op-Amps in analoge input/ouput interface. That may be a TRACO module +24v to -15,0,+15v
- Micro SD in case that board is used in stand alone mode for remote data-logging. May not populated if used along with ZERO
- Inside STM32 RTC clock. Can be used in stand alone mode. In that case RTC on motherboard can be un-populated. Only power from Super Cap is needed to keep the STM32 RTC running.
- ID EEPROM as stated in HAT design to recognized by ZERO PI and reprogram  GPIOS.

Quote 0 0
vorrias
This is the first attempt to see what I am designing. Designed in KiCAD. That was accomplished  after a lot of brain storming with @HKtarzan.
This is "zero-arduino" add-on board. Circuits coming from different sources and tried to combine together plus some ideas of mine.
This is to get an idea of what I am planning to do and I am looking for your contribution before I go for the PCB.

To Do
1 - Some issues with the different power flags to fix.
2 - Planning to put an SD card if I see that space is available.
3 - The 24 volt / 5 volt interface to STM32 encoders
4 - Better Analog in / out Op-Amp design
5 - Better Low Drop PSU design for the analog part

After revising and fixing all errors I will publish the KiCAD schematic and I will start doing the PCB.

Waiting your comments quys.
Vasilis
Quote 0 0
vorrias
Hi everybdy
After working hard during weekend I present you V1.0 date 2018/9/16. I clean up a lot my previews design. This has very few minor errors. Only resistors and capacitors are not on board.
The two RJ45 connectors are for daisy chain the CANBUS (connected are in parallel)
Before I start doing the routing I would like to here from you.
In case someone has KICAD I am posting the files as well. 
@Hktarzan waiting for your revisions I will have a look to your motherboard to see how the two boards will cooperate.
@LeissKG as you see I have only 0-10v analog in and analog out. It is a simple circuit. If you have a better design in your analog module it is good to include it here. Analog needs a lot of attention as you know because of noise. We really need LD PSU for them and very good shielding
Alexander I need your knowledge on STM32. We must make the STM32 encoder part and the STM analog input part as SPI slave to ZERO. We can experiment with the blue-pill. How we are going to do that? I have limited knowledge of software. I can play with the libraries but we need an expert here.
Vasilis
Quote 0 0