Hello all!
Short introduction so you know a bit about my background and can skip a few obvious things...
I am someone who studied mathematics (and thus have also a good knowledge of physics alongside) and turned around to get into software engineering.
As I started doing some assembly, I realized I could take this much further and do my own designs. So, programming isn't an issue for me, but I am hitting a few issues with my latest design, which is a bit ambitious, but I think I can make it work without a doubt. The only variable is how many screwed up boards I will end up with, and that's where your help will be much appreciated!
Also, I haven't soldered a lot but someone with a good soldering station agreed to show me proper techniques and I will be able to use the tools to get my prototypes done. I watched Dave's great videos on the topic, so while I haven't got much experience (And it was with a crappy iron, duh.) I think that I will get there eventually.
So, now about my project... I am designing a positioning Arduino shield (Could also be a non-arduino thing, but hey, if I'm going to make a nice piece of hardware, formatting it so that it can be plugged in an arduino directly isn't too much pain to take!) It would include a gyroscope, accelerometer, magnetometer, and possibly a GPS chip.
I am asking myself quite a bit of questions since I started thinking, and any help would be much welcome if any of you can elude any question
Those chips come in very few digital flavours at Mouser (Especially with the added export restrictions, since I don't live in the US). It is the most convenient retailer for me because of the free shipping and no added customs fees.
- 1 Could I go very wrong with just the cheapest available? (Maybe a bit vague... I read the manuals and the specs seem alright, I just have no experience and could be missing anything).
- 2 Are there better retailers for such specific ICs?
Those chips also come in QFN packages... So I'll have to design my PCB accordingly. Neither eagle or KiCAD seem to have the libraries for the components I'm going to get. (Parts would be mostly STMicroelectronics, in that one case.)
- 3 Is there another design software (Even if I'd have to pay for it) with more libraries in your experience, that would be handy in the future ?
How do I design for QFN? I saw a couple of videos about soldering those... but can't seem to find a consistent answer for someone who only has a soldering iron (A hot air station would probably be too expensive to get, but solder paste would be cheap so I can get that). I have seen some people just doing 9 square vias under the central pad to have a good thermal heat exchange, and then heat the central pad from behind to get the solder to melt to the QFN chip before doing the surrounding pins (Which land on pads twice their length or so, to have a bit of extra). I'm using OSHPark, so they have their limitations concerning designs... but that should do most things. If you have a solution that limits fab options, that could be good to hear as well, would just be good to know why and adapt myself
- 4 Is there a way that would only use pads on one side of the PCB without hot air nor reflow oven? (Toaster ovens don't really exist in Europe! Snap).
- 5 If not, is the 9-via option decent for a prototype? Or is it bound to fail
- 6 Any other more complex option I'm not aware of? Or maybe should I really really buy a hot air station? (Wouldn't be bad for salvaging old motherboards, I admit).
Now a bit more on the programming side... I like the Arduino IDE and what it does but when it comes to real-time applications where I need (and want) to get the most juice out of the microcontroller, I thought I'd vary a bit and go for a 32-bit PIC (Will I get killed for doing an Arduino shield with a PIC? Okay... just kidding) this time which would have enough pins to take on all IO, and have a high enough clock to keep up with the real-time data before feeding it back to another microcontroller through some interface (Not decided yet, probably going to be serial/parallel if it can go fast enough, otherwise I'll have to study other protocols) and write everything in assembly to make sure I can execute all instructions before the sensors actualise themselves (I have seen that those sensors go up to around 1kHz, so that's quick enough!).
- 7 I have seen that the PicKit 3 isn't that awesome through Dave's and other reviews. Although, I LOVE debugging tools (Java software engineer, you guessed it), is the ICD 3 worth the markup for convenience / speed / debugging, or is it just much overkill for my application (Which could get a bit complex)?
- 8 With the previous question in mind, is the PIC IDE decent to use? Or do you find yourself using different tools?
And last design questions... I read the manuals for the sensor ICs, and they use different interfaces and layouts... It doesn't seem very complex but I just want to make sure if my approach is right:
- 9 Can I just follow the layout recommended in the spec sheets of the sensors and PIC? That would be done connecting serial lines to the microcontroller's serial pins and I2C lines would go to any digital IO pin. Only other thing to add would be a 3.3V supply. Am I missing anything?
- 10 I could add a programmer pinout to the board, too... but should I be careful about anything there? Or can I just map the programmer's pins to the microcontroller pins regardless of what else is on those pins during normal use?
If you read this far, thanks! And if you have the answer to any of the previous questions, I'd be very eager to know, thanks for your time!
Netheranthem