U-blox NEO-7M based positioning module


    I decided to publicize my projection a bit, and at the same time talk about the excellent GPS module from the Swiss company u-blox .

    So, the answer to the question that arose after reading the heading in people who are not familiar with u-blox:
    Why u-blox?

    Answer:
    • GLONASS on board
    • Good affordable documentation
    • Availability of own AGPS service

    In addition, there is also support with which I even managed to communicate successfully.

    A little bit about the module:


    Dimensions: 12.2x16.0x2.4mm.
    Of course, the module is too big for a mobile phone, but small enough for a car solution, or, for example, a quadrocopter, and also comfortable for manual mounting on a board.
    GPS receiver specification: 56-channel 7th generation core from u-blox.
    Supported positioning systems: GPS L1 C / A, GLONASS L1 FDMA, QZSS L1 C / A, SBAS: WAAS, EGNOS, MSAS, Galileo E1B / C.

    Galileo has not yet been launched, but since there is the possibility of updating the firmware, after a full system launch, I hope there will be the possibility of using it.

    Data refresh rate: up to 10 Hz.
    The frequency can be changed programmatically while working with the module. The default is 1Hz.
    Accuracy:
    • GPS - up to 2.5m
    • GLONASS - up to 4m

    Active and passive antenna support
    Nothing unusual, just a fact. True, 7M does not have the ability to programmatically turn off the power of the active antenna, so if you want energy saving you need to make one of the external hardware shutdown schemes proposed in the documentation.

    Interfaces: UART, SPI, I2C, USB
    UART and I2C work simultaneously, but SPI needs to be muxed using the D_SEL pin. Accordingly, you can make a controlled switch, for example by connecting a GPIO to the D_SEL pin. I admit honestly I did not check SPI, since UART is much more convenient for my purposes. Yes, and in switching the exchange protocol "on the fly" I do not see much sense.
    Price: ~ $ 15 from the Chinese.

    Here is the module itself:



    Summary of previous 270 episodes, or where it all began


    At the beginning of the year, I bought a car, and in a car without a multimedia system in modern times, nothing at all. Of course, you can say, “Buy for $ 300 from the Chinese and don’t go!” But I’m an engineer and I’m interested in doing something myself, understanding the technology. I already have experience in developing automotive multimedia systems, though not from 0, the more interesting it was to try. However, this is a different story, I will tell about it next time. Now about the main thing - no multimedia system can do without navigation. Hence the conclusion - you need to have a GPS module, map, routing, blackjack and poetess .

    PCB or as it was the first time


    As it turned out upon closer examination, the PCB design is not so complicated as it seems at first glance. All you have to use is accompanied by an abundant amount of documentation with typical diagrams and explanations. In fairness, I did not look at the documentation of other vendors, because after studying the proposed u-blox, I was more than satisfied.

    As a result of my research, in my inexperienced opinion, I got a completely normal PCB design. Schemes can be downloaded from here . Ready to print .pdf files are also located there for further use in LUT.

    I am ready to listen to criticism, because I have never seriously dealt with radio technology - hence mistakes, even gross ones, are possible. All the schemes I did in Eagle Cad Soft. The tool turned out to be very convenient for me, "+" to everything a huge number of ready-made libraries with a wide selection of various elements that the community makes.

    Below are screenshots of the schematic and PCB: The



    element base that I used is quite accessible in Russia. With the exception of the 27nH RF inductance, which is recommended by the manufacturer (however, self-made does not work badly).



    The PCB may not satisfy some of the requirements for such circuits; on this occasion, I again do not mind getting feedback.

    I had no desire to shoot the process of manufacturing a printed circuit board and soldering elements, so I can only offer the final option, if someone is interested in the abbreviation LUT there are a huge number of wonderful videos on youtube.

    After etching and soldering, we got such a handkerchief:



    Top side of the PCB:



    PS Yes, I took it off on a calculator. Yes, the collective farm. Yes, a lot of solder.

    There are 5 pins on the bottom side of the board:
    • 2 UART pins labeled “Rx” “Tx”
    • 2 I2C pins labeled “SDA” “SCL”
    • 1 pin for signal ground

    There is also an SMA - female connector for connecting an active / passive antenna.

    On the upper side there is a single 3.3V pin. It was not planned and was not routed to the PCB from the very beginning, hence the result was a capacitor hanging in the air.
    I also note that this is the second revision of the board, and somewhere in the bowels of the gita the first is hiding, without LNA power. Well, as an attentive reader could notice, the current board is a bit out of sync with the PCB.

    A few words about the antenna. I use an active antenna, ordered from all the same Chinese for ~ $ 8. There was an attempt to make its own, but theoretical base, along with the elemental, is not enough to make an active antenna of acceptable quality.

    Why I wrote all this


    Now I’ll behave a bit unrestrained and move on to the self-PR part. In addition to the miracle card, which I must say was not the most time-consuming part of the process, I wrote a ton or two of code (and to be precise, comments on it).

    U-blox has its own binary protocol, which, along with NMEA, can provide location data, and much more. In general, without hesitation, I made a C-library for the UBX protocol * .

    Writing doxygen comments took a lot of time, but even so I mastered .

    Perhaps in the following posts I will tell in more detail about the capabilities of this protocol. In particular, the use of AGPS when working with the module.

    Conclusion


    In conclusion, I want to add: everything that is written above successfully works in conjunction with PC and Cubieboard. Naturally, not everything is tested, but I still do not have enough hands, unfortunately.
    The main disadvantage of this module is that GPS and GLONASS cannot work simultaneously. You have to programmatically switch between them. Most likely the same account is waiting for Galileo.

    Sources:
    General information about 7th generation u-blox modules ;
    Specification of the 14th revision of the UBX protocol. * .

    * At the time of writing, the latest is the 15th revision. The author is going to implement new features of the protocol.

    UPD: added DIY

    Also popular now: