SMT pre-built board

has anyone looked at making an AGOpenGPS board with SMT parts? my idea would be to break apart the modules and make one small board. i would source all the parts from and have them assemble it. my goal would be a smaller weather proof box.

has anyone tried this or will this be a bad idea?


I plan on designing a PCB, mainly made of SMD components, small enough to fit in a rugged enclosure dedicated to heavy machinery electronics. I started a thread about that here. I think such an enclosure is really valuable to the design method : instead of drawing a PCB that fits all the electronics you want and then wondering how to enclose it, the reasoning is reversed. The enclosure and its connector are “imposed”, and the objective is now to fit all the needed electronics in it, even if it means reconsidering what is “needed”. Thanks to all the work done by people up to now, we have a pretty clear idea of the combination of components required to make it work, so we can focus on how to enclose and connect them.

I think keeping small modules that are easy to source, plugged in the main PCB (like the nano, ADS1115, MMA…) is still a good idea, as it allows people to swap them if required (if fried for example). But I’m not sure about that, and if I we keep pre-built breakout modules, where should we stop ? MMA, BNO, nano, Cytron, simpleRTK2B, ESP32 are all often used as breakout modules and could potentially be incorporated to the main PCB. More compacity and less solderless contacts, but increased complexity to design, less modularity, and harder to repair…

I don’t want to rush the design, which is why I asked people first what they thought was nice to have on the PCB through a poll. The objective is to be able to implement different combinations of options (like USB vs Ethernet vs Wifi, Arduino vs ESP32, single vs dual antenna, maybe even F9P vs PX1122R). I already had 22 answers to this poll and I will make the results public soon. I don’t want too rush this development to make it as good and useful as possible on first try (electronics hobbying can become quite expensive).

Back to your question : I think going towards SMD boards is a good idea for people who already experimented AOG on a first machine, understand the system as a whole and want to have now a more compact, reliable and professional looking design. I think it will be harder for new people to debug and understand suff if they don’t first manipulate the electronics.

On the other hand, if the circuits are well explained somewhere in an online documentation, and if the PCBs are easy enough to order already soldered, it could help popularize AOG a lot. Farmers who wouldn’t be as motivated as we are in prototyping electronics may choose to give it a try, while with a hand soldered PCB and too much wires may repel them (to caricature). To make this strategy viable, the system should be thoroughly documented to make sure people can get an electronic setup ready to go in little time and effort. I’m sure a lot would be interested if the electronics could be summed up as 1) order a PCB, 2) order components, 3) have everything soldered by a company, 4) run wires through the cabin, 5) crimp these wires to a big connector and 6) mount a support for a W10 tablet. Maybe that’s just a sweet dream, but that’s how I picture the popularization of AOG.

Companies like jlcpcb and pcbway can nowdays manufacture and solder SMD all at once. I never tried it, and don’t know the exact procedure, but it could be a nice way to go. This could simplify the process described above even more by merging 1), 2) and 3) together.

Is there other people who thought about SMD PCBs ? @doppelgrau, you designed one with Etherned embedded and a lot of other cool stuff. Do you have a feedback to share about it ?

1 Like

You should have a rough estimate if the space could fit. But otherwise a reasonable approach, since a good enclosure is an other hard problem.
I currently started an experiment designing a PCB where a stepper motor and a magnetic encoder is used for steering and virtual WAS. Size of PCB is determined by the size of the NEMA17 Motor, so need to try to fit everything in that area.

If you create a real PCB, avoid additional modules where possible with reasonable effort (e.g. parts available and not impossible to solder like some IMUs). Need more space, additional source of problems on the connections and sometimes harder to source. Would try to use that space, so make the external connection protected against “normal missuse” (ESD from a person, 15V, GND and so on).

From my experience not the best idea. Hardware is one side, the software an other. To many options makes a nightmare of complexity very fast. Currently trying to make my “next generation” project and simplify the things (one PCB that does one kind of steering, one PCB that does GPS (option to get ntrip oder 4G), each connected (and maybe powered) over Ethernet. If I succeed, that will of course only fit one use case, but that use case probably good and easily configurable.)

Problem with jlcpcb(as it is currently the only one that does currently very small batches at low prices) that the parts available is somewhat limited, and sometimes even changing. So you can expect to do some rework, if you use more than “some passive parts”. (One of the reasons I now have a small PnP-machine, besides that it is a very cool toy.)
Also double side parts (one option if space is going to be tight) is not supported as far as I know.
So I guess there would be the need of an intermediate, that sells finishes pcbs (self produced or sourced in batches somewhere). And depending where the “intermediate” is located, that might cause fun with local legistaltion (EUR: CE, WEEE and other) and/or customs.

@doppelgrau i appreciate the feedback. i agree with a lot of what you said. i would be willing update components as the JLCpcb catalog changes. i don’t think it would change to often that it would become cumbersome. hopefully…

@Valentin I think will have a similar goal. i am willing to collaborate if you want to. you may want a slightly different layout but there may be some overlap that we could both benefit from.

right now i only want to shrink the autosteer board. i thinks its fair to say by now a ADS1115 is standard and it can be built in. that can be applied to the other boards as well. i want to leave the 3 openag boards separate (autosteer,GPS and sectional). that way it plays nice with the openag software. i also like the simpleRTK2Blite board. maybe we just need a Ethernet shield for it? there might even be a xbee version out there. i don’t like anything that relies on wireless. it barley works in my house. i can’t imagine it working any better in a tractor.

I would like to use Ethernet. i think it is more reliable than USB. i will have to check out doppelgrua design.

i have not done this either. but this is exactly what i want to try. hopefully you can just upload the ZIP file to JLCpcb and click order. it gets delivered to you already soldered. just install/wire into your combine/tractor. download the newest version of openag and your off.

You can check the parts here: JLCPCB Parts Library & Component Sourcing
Basic parts should be no problem, extended parts had different reports (e.g JLC PCB Prototype Assembly - Incredibly Cheap - Page 1), that there sometimes the availability is lower and some parts are also missing. So some people there use jlcpcb only for the passives (= manual rework for some parts).

Also keep in mind, that each extended part adds nearly additional $3 to the bill and if hasn’t changed the number of different extended parts for each order is limited. (Might limit some design choices).
Don’t understand me wrong, that offer is great for that price, but it has some limitations, that someone should be aware of.

LAN8710 using the integrated MAC. Only downside, that it uses more IO pins. But fast, supported by FreeRTOS directly and esp-arduino, no strange things about broadcast …


You should have a rough estimate if the space could fit. But otherwise a reasonable approach, since a good enclosure is an other hard problem.

According to what I already built, I think that the connectivity and enclosure are crucial to get a reliable and long lasting setup. But they are often neglected, maybe because it doesn’t look that complicated compared to the rest of the electronics.

From my experience not the best idea. Hardware is one side, the software an other. To many options makes a nightmare of complexity very fast.

If I want the PCB to be useful to more than a few people, I need to give it some modularity. For example, a lot of people want to use Ethernet instead of USB (this is not my case, I believe USB works really fine and is more simple to implement). But the PCB is made compatible with both, one can choose not to mount the components he doesn’t want, and a single design can serve different purposes.

I still wonder about Ethernet : do you need a router inside the cab to redirect packets ? Or can each device get its own IP manually configured and then broadcast every packet on a simple layer 2 switch ? I’m asking because routing a layer 2 Ethernet switch is doable (see here, schematic here), but a router is quite harder and needs software configuration (I think I could to the former, but definitely not the latter). In fact, I never built an Ethernet autosteer so I can’t really picture how it works in details.

Problem with jlcpcb(as it is currently the only one that does currently very small batches at low prices) that the parts available is somewhat limited, and sometimes even changing.

@doppelgrau did you try other PCB manufacturers (or at least ask for quotations) ? For example, the assembly service of PCBWay seems to be more flexible than the one of JLCPCB. They can source your parts from the outside by themselves, or you can send them, or a mix of the two. They can also mount through-hole components and can solder on both sides. Their MOQ is 5 PCBs (I didn’t find the one of JLCPCB so I can’t compare, but I believe it’s a lot for one person alone).

I now have a small PnP-machine

It sure looks like a fun tool, but we can’t expect everyone to have one.

I guess there would be the need of an intermediate, that sells finishes pcbs

Maybe Aortner and his online shop could be this intermediate, at least for Europe. @Aortner, are you opened to enrich the offer of your shop with SMD PCBs ? If so, what would be the conditions ?


I think will have a similar goal. i am willing to collaborate if you want to.

That would be awesome to team up on this project. Maybe we can have a meeting to discuss in more details about our requirements. I’ll pm you.

i want to leave the 3 openag boards separate (autosteer,GPS and sectional). that way it plays nice with the openag software.

Personally, I prefer the opposite. With 3 separate boards, you need 3 different enclosures which takes place, you need an external USB hub or Ethernet switch/router, and you need more wires to connect everything. On the other hand, with all the electronics in a single package, the hub/switch is embedded on the PCB, and only one big rugged connector is used to interface with external stuff (motor, tablet, WAS, MMA/BNO…). Only SMA connectors should be added for the antenna(s). I don’t say i’ts easy or even possible to fit all the three components in a single rugged enclosure, but I believe it would be a better setup.

i don’t like anything that relies on wireless

I agree. Nothing works with wireless in automotive and ag vehicles, it’s probably for a good reason. On the other hand, François has made most of his setup with Wifi and it seems to work well. @Francois, can you confirm this ? Did you have specific issues related to wireless ? Do you think it’s a user-friendly enough for people to set up ?

I think otherwise. As you can see on @Aortner PCBs, many users are quite happy if you give them a working setup without too much choices.
And support gets harder, if the setup is always different.

A simple Layer 2 switch is sufficient. If you need less than 3A total and less than about 2A on a single port, you might even think about passive PoE with a switch like this one: 5 Port 12V 15V Passive Poe Schalter Ethernet 10/ 100Mbps Poe 4 port FĂĽr Kamera IP 4/5 + 7/8 |Netzwerkschalter| - AliExpress
(Real PoE would be better, but way harder to realize on both sides)

Did use different calculator some times ago, my “take home” was, that it was not feasible for a single pcb (200$+).

I am willing to take an active part in this project. I help to install farmers in Poland, I provide hydraulic parts, I can also help distribute the plates.

I think otherwise. As you can see on @Aortner PCBs, many users are quite happy if you give them a working setup without too much choices.

I guess it makes sense, choices will have to be made.

A simple Layer 2 switch is sufficient.

Good to know, so it’s possible to embed Ethernet on the PCB with no external device required.

Now that I’m thinking about it, I guess Ethernet makes a lot of sense when you want to interconnect many separate devices in the cab. But as my objective is to have all the electronics on one well enclosed PCB, Ethernet doesn’t make that much sense. It seems a bit overkill to implement an Ethernet switch on the PCB, to connect to devices that are 10 cm away on the same board.

it was not feasible for a single pcb (200$+)

Even $200 or $300 is not that expensive for that kind of board in my opinion. Don’t get me wrong, it’s expensive, but we’re talking about custom electronics already assembled, it can’t be too cheap. Well, if JLCPCB can do the job (with its own restrictive conditions) at a fraction of that cost, it’s still a win-win.

@baraki that’s good to hear. In the end, the design should be easily available, to make orders.

Yes. Ethernet makes sense over longer distances, since it avoids problems with different ground potentials and such. Not really inside an enclosure.
But having one place where the switch gets power, and then a small GPS box somewhere in the cab where is enough space, a small steering PCB at the steering motor only with two cables (Ethernet and foot switch - if virtual WAS doesn’t works a third cable for WAS) and if you have implement with section control, just plug that Ethernet cable in too. Different “visions”.

300+$ (200+ assembly, 50 PCB, 50+ parts) might be worth, but on the other hand, it seems much, if you know that in batches it would cost around 100$ (all numbers without VAT shipping and so on)

so far i think i have half the parts layed out. i have the nano, mma8452q, ADS1115, 5V DC power at 1A and 3.3V DC power circuit. the parts come to 12.30 USD the boards are another 5-10 USD. i tried to see how much it would cost to get assembled. but some parts show unavailable even though they are available in the catalog. ill have to figure out why this is and change my selection. but i’m hoping the cost will be 50-100 USD per assembled board. i’m not sure if that is reasonable yet. i would also like to be 1/2 the size of the current openag PCB. My current PCB is 1.75" x 2.75"(1/4 the size of openag).

what do you think about having 2 board stuck together like an ardruino hat? the bottom board could be power distribution and inputs and the top board could be communication, nano and sensors? i don’t have an enclosure in mind yet. but this might be a way to cut down on the physical size of the enclosure.

i was wondering about using USR-TCP232-T2. i think you basically connect it to the UART TX and RX pins. Then you setup the interface with the web page.

The other thing to mention is that Ethernet is A LOT faster. serial communication is so slow. a baud rate of 9600 is 9600 bits per second. Ethernet is 100mbit or even gigabit per second. noise is another thing. Ethernet just works(up to 300 feet). some serial connections over longer distances are trouble some. maybe 50 feet.

Some of the prebuilt modules are so cheap, it would be hard to beat their price unless the quantities were there. This is my trial layout for a ESPuino sheild to go on a D1 R32 Wemos espuino ( cost about ÂŁ10 for the ESP32 ). The sheild could be two layer, or easily built on a protopanel or vero board.
Dual antenna uses a similar sandwich of ESPUINO plus two F9P’s.
The problem I see is the constant change in flavour of the month sensors, so maybe the sheild / PCB should allow for the different variants, easier to do with daughter board sub modules than full SMT PCB.
@dopplegrau I see your esp32-aog is forked from Engerli but omits the CAN bus interface and uses different IMU what is the thinking? is that just the way they evolved? Which IMU is better and why no CAN?

Why no CAN: the software is mostly a rewrite, and had no need for the can part (also couldn’t test it) - so not implemented besides HW support on that pcb.
IMU: BNO is known for making problems, F*XS were (are?) hard to source in low quantities. But after my experience I can say: soldering IMUs is really hard. pay close attention to the temperature and moisture (take the MSL serious, and better bake them before just to be sure, and if possible avoid soldering them at all )

Just seen your HW PCB on GitHub with CAN and ethernet. Is it something that’s available ready or partly ready built? I do think CAN is the way forward as the machine interface.

Currently not. Two reasons:
Selling inside EU: too much fun with legislative rules.
Outside would be possible, but that board was designed mostly with 0805 parts. Currently switching to 0603/1206 with my small PnP so not easy to build (and by hand is no fun, been there, done that, got no T-Shirt :grin:)

Hello Valentin,

Yes from my side all is wifi and I appreciate it ;

On the top of cab = Rpi zero W comfigured as AP running rtknavi and sending UDP frames
with NMEA informations This unit is independant and is easily maintenable from ssh (pc, tablet.)

Of course tablet = configured as STA receiving UDP and emitting UDP frames
(Just to put standard supply adaptor from lighter plug)

Autosteer = Arduino with USB standard program + ESP8266 configured as UDP STA to serial bridge (actually rewriting it from lua AOGV3 to arduino AOGV4)

Section = ESP8266 (STA) embedded on the control box of the tool
(manual and reporting status of the section of sprayer for me, too difficult to command automatiquely for instance, require DPDT relay and signal for DPA)
But I enjoy it because embedded on the tool and no wire to connect bla bla bla …
The softare (lua) works with AOGV4

For me it works, all IP and ports are fixed, delay and control of autosteer could be slighly longer
than wire but acceptable. (Of course for section no matter)
When I’m in the field, of course no interferences from other 2.4 G networks
But I recognize that you must be very aware of IP adressing, port accessing, firewall configuration
and have good tools to debug (hercules terminal or ESP8266 as UDP sniffer)
I’ve put a scheme of all my network in a previous post

I’m also interested with the pcb you’d like to develop
For me, key features are :
Casing (die cast or ABS) WITH NO WIRES INSIDE : external connectors soldered on the pcb
Separate and standard connectors for : 12 V (eventualy 24 V) supply, WAS, and motor/valve, switches, indicator leds and external wifi antenna. After SMD or modules ???

If you wand further informations, feel free to ask.


Hello François,

Thanks for sharing details about your setup. I knew you used wifi, but I didn’t expect the setup to be that different from what other people do. You seem to have almost entirely developed your own solution (there are just AOG and the autosteer arduino left !). Maybe there is material for a “success stories” thread, as others may wand more details, pictures…

Personally, I will keep away from wireless. Running cables through the cab may be a pain in the a**, but it’s easy. Anyone can do it, and I want anyone to be able to use the PCB I design. I must admit a fully wireless setup looks sexy, but it also looks like a lot of hassle to design and to debug. The USB setup on the other hand has proven reliable and is still the most chosen solution. Also, it’s easier than Ethernet to integrate inside a unique enclosure. For these reasons, I prefer to use USB.

The ECU enclosure I have in mind is made of PBT reinforced with 30% glass fiber, and is specifically designed for “extreme environmental conditions commonly found on commercial and off-road vehicles and industrial equipment”. I guess we can’t really do better. Maybe an ECU metal enclosure wound be nice, but this one is far too convenient for me to choose anything else.

I also intend to use no wires inside the enclosure (maybe a pair of SMA cables at most, but I’d prefer not). The whole setup will be SMD : more compact, more professional looking, more reliable electric connections. Also, since I can’t do everything with breakout modules, I need at least some SMD chips (for the USB hub for example), so why not go full SMD while I’m at it ? Components less than 2 mm high can go to the bottom, which will save a lot of space. I would like to use ZED-F9P on breakout modules instead of SMD, to be able to use them for something else if needed. I still didn’t decide yet, and the choice is hard.

I have recently come across you post. Very exciting. I have only been learning about all of the electronics for about 6 mos now, but am running aog on 2 tractors now. I, like a whole lot of others, am running danfoss proportional valves on both. Have worked on .ino a bit with other help and am running v4.1 with cytron md13s driver. I use dir pin to toggle from MA to MB on the drive, so no output until button engaged. Also use pwm2 high output on opto relay for 12volt to USC. So the valve has no power applied until button is engaged.
Would really like to have the option with you board to do the same. Just a simple 12 volt output upon steer switch engage. Could link implement button to steer and use an implement control solenoid, but just thought I’d mention it in case. There are a lot of steer ready tractors with valves out there, and now being able to bypass using ibt2, it makes for a very simple setup.

1 Like