People curious about spin2 can check the fist post of the thread.
Its messy, but keep in mind I'm not doing any layout until I'm sure about the circuits. TO220 stuff was mostly removed, I kept the ign ones in case someone wants to drive his coils directly from the board, but that kind of optional stuff won't be visible in the 3D view (like those big capacitors laying around)
Inj circuits are in standby, you can see TO220 were replaced by D²PAK, and DIP8s went to the bottom side. I did the pre-layout for only 2 of 8, just in case I'm not satisfied with the testing.
Communications connector has:
* SPI (MISO, MOSI, CLK, /SS)
* CAN/UART (2 pins:+,- or tx, rx)
* I²C (SDA, SCLK)
* GND and switched 5v
I have a bad feeling about putting a 5v source that can be shut down at any time. I'm afraid it could screw up SD cards, memories, GPS, etc.
The SMPS is in there too, at the left. The big D²PAK is the diode, there is a shielded inductor and a cap without 3D model (just noticed that). The tiny SO8 is the controller. Less demanding applications can leave the SMPS unpopulated and carry on with the LDOs (note: the big one should be changed since its max input voltage is 6v or so, but fear not! there are similar regulators with the same footprint that work). Also, the big LDO has an enable pin.
Between the comms header and the MCU there is now a super tiny temperature sensor, I really wish to know the board temperature, but I have no problem in flag it as optional. It sends info through I²C, so the layout is trivial, its only a matter of hang it in the bus.
There are lots to do, like:
* use a tiny programming header (after all, its used once in the board life)
* flip pressure sensors
* 5.00v reference voltage for the ADC
* redesign connections layout for connector boards
* choose a default for thermistor circuits
* define igniters pre-driver circuits
* solve EGT isues
* create an exposed pad somehow under the MCU as a heatsink. The same for the stepper driver
* etc
Its been quite a lot of work, the TODO for spin2 had almost 50 items, and now it is getting closer to completion
Following the topic, I prefer to change 6 lines of assembler rather than add 21 resistors to the board.
Having firmware depend on this piece of code (monitor or bootloader) for anything is totally wrong. The firmware has to act as if the CPU just got out of an unknown state and initialize everything. If changing the initial state in the bootloader has an impact on the firmware then the issue is on the firmware side not the bootloader side and should be corrected there.
The guy has a good point here.