You obviously does not understand at all what is the purpose of the post and further explanation is pointless
To be fair to donotdespisethesnake, you never really articulated what the purpose was. Was it to build... a product? A personal project? Do you want to use bare chips instead of dev boards because you want to practice designing PCBs? Or do you think it's going to save cost?
Without
context, we don't know your intentions.
So the best we can do is state facts, and then let you decide, on your own, how to proceed, given the context you never provided us.
- You cannot build a project like this using a single-chip microcontroller solution — nothing is fast enough or has enough flash or RAM
- While you could use a traditional MMU-less high-end microcontroller (like an STM32F4) wired up to external RAM and flash, this will make your project very very hard to implement. No one in the industry does it this way — not even Garmin. And think of their R&D budgets compared to yours.
- You need an embedded Linux system for any chance of implementing something like this
- Embedded Linux systems are relatively cheap to purchase when they're produced at scale — like the Raspberry Pi — but they are very expensive to design and prototype yourself
- BOM cost — the cost of your parts alone — will be at least $40-60. PCB prototyping costs will start in the $80-100 if you can squeeze things on a 4-layer layout, and go up to $600-800 if you need 6- or 8-layer stack-ups.
- Do you have a reflow oven and a solder pasting set-up? If not, you'll have to have your boards assembled by an assembly house. Practically speaking, that's going to be on the order of $1000
- You will spend several months on the PCB design alone, as you probably don't have much background in high-speed routing. Do you have an Altium license? You'll need a nice EDA tool to speed up length-tuning, and KiCAD isn't quite there yet (though it's getting closer)
- By now, the Raspberry Pi is starting to look like a good deal — even at 100 EUR or more — wouldn't you say?
- But the Pi isn't a magic bullet. If you want to *write* software to do any of this, that's a massive undertaking. There are projects like OpenStreetMap, but they are far inferior to the GPS in your phone.
- So what you'll end up with is a Raspberry Pi, running a bunch of hacked-together software you find on the internet, that barely works. What have you learned? What value have you added to what you can already buy off-the-shelf? Does this project even sound fun anymore?
I think that's why a lot of people on this thread are getting a little tongue-in-cheek with their comments. Please don't take offense to it, but that's just sort of the attitude around here. You might as well have started a thread about wanting to build an Android smartphone from scratch "to learn Microcontrollers"
If you want to learn to program ARM
microcontrollers, you should start with a
microcontroller project. A GPS navigation system is not a microcontroller project (you're not using a single MCU-specific peripheral — heck, even the GPS connects to the MCU over UART, which normal computers have).
And then, you could refer to everyone else's comments in this thread about mbed, PSoC, whatever.