Next step for SMD PCB: Project for an all-in-one compact PCB

Now it’s time to think about, what will be needed in next programming season end of this year. From the hardware point of view, you need to be some month ahead of software… :wink:


My first PCB is still up-to-date for all those, who want to work with AOG 5.0 and the “original” Arduino firmware. The reasons for this update are the followings:

  • there is great progress about the CAN bus options, e. g. CanBus for Beginners - Super Simple - #409 by Alan.Webb
  • a really easy integration for a 2nd Ardusimple was missing
  • a China housing was used (will be a Hammond Mfg housing now)
  • USB-PD wasn’t working
  • quite complex due to many options (just two now: w/ and w/o tablet supply option)

Overview picture:
Functions provided:

  • based on a single, powerful µC (Teensy 4.1)
  • Motor/vales drivers
  • analog WAS input
  • up to 3 CAN interfaces
  • RS485 interface (machine control)
  • digital/analog inputs
  • 1 or 2 Ardusimple(s) or Bynav
  • IMU connector (internal/external, CMPS14/BNO085)
  • Ethernet / USB connections
  • USB-host for LTE stick
  • optional power supply for tablet (5V, 12V, 19.5V or via USB-PD)
  • ready-to-order data, just the connector option has to be soldered (M8/M12 or PushIn)
  • light bar option (instead of external IMU)
  • Danfoss valve option (no need for power driver in that case)
  • Hammond Mfg housing, for which you can order end brackets fully cut at laser @ services like

Here is a first draft of the schematic:
Schematic_µAgriBerry_2021-05-05.pdf (1,5 MB)

Latest working copy here:

I would like to mention, that an adaptation of the existing Arduino firmware (@BrianTee_Admin’s and @MTZ8302’s + for CAN the one from @CommonRail/@Alan.Webb) is necessary of course, but that shouldn’t be too hard to do hopefully…

Feel free to comment here!


Seems to me this would be a better all-in-one PCB.

Its always handy to have a few extra status LED’s too so you know whats missing when it won’t steer in the field. (I use 3 LED’s for example: CAN Engage, Valve Ready, and AOG steering)


Dual GPS, now I’m liking it. We have been discussing a DIY pcb that uses the Teensy, but I think your in the lead. One addition is, for the Danfoss guys, we need a 12v pin that powers with the steer switch to power the Udc pin on the valve. Kaupoi v4 has one. Only using pwm from one dir of cytron, but still use the dir to cancel pwm output as second safety.
Do you have a part number for the Hammond box ?

Oh yes, i really like it! Go on! :wink:

no expert for hydraulic steering, but there is an output for a 6/2 valve called “AuxOut”, that becomes active, whenever steering is active. Is that, what you’re talking about?
Hammond box in my mind:
HammondMfg_1455L1602BK_eng_tds.pdf (177,0 KB)

Yes Sir, that’s perfect. I like the footprint of the box also. Nice and Tidy. I’m using a 12 pin Deutsch connector, ethernet, 2 SMA for f9p’s, and on RP-SMA for rtk. Is there a better choice for the main connector that you like ? The Deutsch is bulky and hard to connect and disconnect.

Also, I have been talking with theGtknerd about adding speed pulse output for rate and planter monitors. It only requires a 4n35 optocoupler and some code to Matthias’ dual code. He sent me the code that he is using in Dual GPS Setups thread, to add myself.
Is that an option to add to you project ?


works nice with one M12, but try to drill several holes… you’ll need a CNC machine, like I did on the first PCB. That’s why I’ll migrate to metal ends that you can order from any laser service perfectly finished.

So, I’ll provide two option: M8/M12 for preassembled cables like in your video and PushIn for single wires:

As far as I know is a speed pulse just a 12V signal, so why not using the RS232 output for that? RS232 has +/-12V output, but it’s easy to modify the module to output 0/12V. Anyway, there are a lot of free pins…

The way I understand it, is the planter monitor has 10v output and ground, and the signal is speed converted to pwm to frequency. so the optocoupler is using pwm to open and close the switch, which in turn creates a short to ground between the 10v and ground pin from the monitor. It’s easy enough to just solder the opto and put it in line in some heat shrink though.

Those connectors are exactly what I’ve been looking for. Cam lever to disconnect. Thanks

1 Like

Nice project and thumbs up for the Teensy! Is the IMU going to be external only?

One connector option could be something like this:

Fits a huge amount of signals in a small space but also has the high-power capable JPT pins in the same connector.

1 Like

definitely not bad. I’ve a sample of such kind of connector on my desk as well and was thinking about that option. Finally the industrial connector can have 4A on all pins permanently and is easier to assemble - just your teeth and a biro :grin:
Personally I prefer to use M8/M12. Simply looks cleaner. But that’s up to the user…

True, those tiny MQS pins are a nightmare to crimp without proper tools. I guess it’s more dependent on the use case, the automotive stuff is pretty bulletproof and you could have box sitting somewhere under the panels or outside the cab close to sensors, valves etc.

Forgot to answer the 2nd question… Will provide an internal option, but also an external one with a dedicated I²C, so that lower data rates are possible for longer cables w/o the need to use a proprietary driver. Still not sure, if the CMPS14 or a BNO085-only-board is the better choice…

1 Like

With a BNO085 and reasonable positioning, I see no point in it being external. More cable, connectors, fitting for no real benefit?

1 Like

In the space of 2 ardusimple 2B’s, you could fit 3 mPCIe slots, 2 of which could be for dual GPS and the third for an integrated modem?

For me, a good solution would be Xbee sockets for RTK2Blite. Compared to mPcie, they have solid sma connectors for antenna.

If we build it in a housing anyway a pigtail from ufl to sma would be no problem. Or even ufl to TNC for more stable antenna cables.
And we can add a hole to cable tie the pigtail to the PCB… That’s the solution sparkfun is using for their board.

1 Like

well, my feeling is, mPCIe would cause a lot of problems. One obvious is, that JLC won’t mount it, so everybody would have to do it himself. That’s a showstopper for me.

And using the USB host port for an LTE stick makes life easy, because you don’t need any support from the Teensy at first, if you use a stick with Wifi. Furthermore you can use any (good) USB cable for relocating instead of an antenna cable.


Yes that’s true. Soldering it would be no fun. :wink:
Yesterday I saw, that they now also solder headers etc.