Well been doing a lot of learning lately;
First thought I would learn I2C comms for between the F9P and Arduino Due. Not the easiest but i had them working… Somewhat. The biggest issue was from cold power up they would not self initiate. I though that “I am new to coding C, the issue must be me”. So after a few days and many, many, many revisions to the code, no luck with this issue.
So switched back to trusty UART, which running at 460800 is ripping ever so faster than I2C. But… still having power up comms issues with the DUE. So after much internet research found it was a hardware issue after all!!!
In both cases physically pressing the reset button would restore Comms, but nothing after power cycle.
This link sums it up nicely: Arduino DUE R3 and Clone Power up Comms Issue
So here is a china DUE R3 clone that has this issue fixed by soldering a 10K resistor across the FET. If your DUE Board has the FET sitting horizontal with the ICSP pins you have this issue. You can also solder a normal size 10K resistor from the FET to the debug ground PIN.
This is a brand New Genuine Arduino DUE, this is the latest and has the issue fixed. As you see the FET runs vertical with the ICSP header.
This is a DUE CORE, very compact version of the due board. 4 layer PCB shrinks the footprint by half. As you can see this board designer has the resistors already in place across all FETs.
Been having tons of fun learning C and working with the Arduino. Serial communications are fun but I decided adding some more functionality. A RGB LED for status output, and also an 8 bit DIP (SIP) switch for inputs. With the switches I can now select between the new TSIP converter code I am writing and the older working code for NMEA selection, Talker Code change, and TSIP V1 for the Ez150. As well 1008 injector can be selected, the code has been tested and works on NANO (big thanks to Torriem of the Combine Forum), but i have not decided the RTCM3 flow through which ports yet for this project. @jp-drain-sol put in the time to confirm the 1008 injection NANO and EMLID M2 gets a fix with Trimble. Hopefully he does a write up on it.
Here is the clone DUE with heads de-soldered. You can see the new status LED and Input SIPs.
I think another fun challenge would be configuration over WIFI, but its currently pretty low on the list.
One of the big challenges with Parsing the F9P is the Ublox Arduino library does not seem to work with DUE. But I did find a way to parse NMEA separately from UBX, because they are simultaneously output the way the F9P is configured to get Data for both TSIP V1 and V2. UBX data also has no end of line character which made parsing a challenge for a bit. Now its to learn about little Endian, LSB order. The hex data all comes in backwards, more fun and conversion. Also finally learning to write my own functions for C is making life a bit easier.
Took some time to brush up on CAD. Been working on a housing for the project, 20cmX20cm.
Its so tiny compared to a 252 or 372 receiver 30cmX30cm.
Here is V1 of the bottom of the receiver, plenty of room for the DUE, F9P, and protocol converters. It will need 2 TTL to 232 converters, and 2 TTLCAN to CAN adapters. they will interface through a 12pin Deutsch connector so i do not have to run new cables in the tractor cabs to swap between them. This will be a slick rig for AGOPENGPS too. But still much work to do.
I got one hell of a deal on this old 252 receiver. Both front ports were smashed completely. After de soldering them, I powered it up to find it was working and had RTK unlocked! Ordered new ports and put them in, now i have a fully functional test machine. You can see the difference in size compared to the F9P. But still you can see there is a modular GPS vs Comms card setup. This receiver requires CMR corrections for RTK. So even though I have a capable CMR base, the EMLID or F9P run really tiny sub centimetre circles around this 12 channel GPS only L1/L2 devices short baseline sub inch performance.
So that is how far this project has advanced lately. Tons of math and coding still on the horizon.
The more I do on this project, the more I realize, the endgame is to really make AGOPENGPS much more awesome and amazing. The value of open source is huge.