Wow - you really are into a big variety of stuff.
Hats off to you...
I have no hope of keeping up
Good luck and best wishes...
Robin
It will take me ages to get back into pics, I am not a natural programmer. Micros etc and programming are highly structured, I am dyslexic in the extreme. I am also not micro logic orientated, I forget what they call it but, my kind of logic thinking dosnt fit well with micro's. So when I first learn something like C it takes me a long time to grasp it. Once I have then I begin to learn fast.
The big problem I now face is the change in tool chain, this is very much like starting from scratch. Its the hardest part for me, learning how to set up the files and get the compiler to work etc. I have also got used to the ARM abstraction layer, IMHO it is totally different to MC. I havnt used many vendors chips, but what I found with ARM was you only had to learn a few things, after that it dosnt really matter what core you use because the process is the same.
What changes is different commands and some registers, but the way the tool chains are done and the CMISS??? (its not called that, I have gone blank!) means that you set each project up the same way, then you just carry on as before. With MC its totally different, when you load a chip you have to add the header file etc etc, with ARM its detected and the correct headers etc are added for you. ARM tool chains on the whole are less buggy, simplicity studio which is sil labs IDE is great, if something dosnt work then its almost something you have done in code (in which case the IDE highlights the section), or you have messed up with wiring (again you are told). With MC if a chip isnt detected etc, it could be a bug in the tool chain,a driver problem, or any number of things.
MPLABX has been around a few years now, from what I can see its still not much better than beta form. For every bug fixed it seems they add two new ones. Also when a new chip is added I guess they have to fudge the files so it will work, with arm as long as the chip uses a already known core then it simply slots in. I havnt put that well but it gives you an idea.
Sil Labs had their own chips (and still do), they are more like MC chips. At least in the sense they are not based around a specific Core always, then sil labs bought out Energy micro, they had the Gecko range which is what I use. The big advantage with these, apart from being some of the worlds most energy efficient chips, is the fact they are always based around a Cortex Core. So dosnt matter what goodies they stick on the chip, you are still dealing with a well known and tried Core.
RPI I have used for specific projects, I have mixed feelings on it. The foundation itself tell you it isnt designed for production use, its designed as a learning tool. It has a couple of what I would call serious flaws in the design, but it has a couple of things that for non expert programmers make it highly attractive. If we take what I see as the major flaws first...........
One of the biggest flaws is booting from a SD card, they fail and do it regularly. The reasoning behind this is you wear out certain sectors on the SD card with constant read/writes to the same block. I personally think its more complicated than that, I have used really expensive wear levelling SD cards, they have failed as quick as some of the ultra cheap card i have used. The more expensive cards do give you a speed advantage, but not much.
My approach to this has been to only add the boot files to the SD card. I then have a file that basically tells the OS to use the USB stick as its main drive, it still boots from the card, but as long as you dont switch the thing off and on much, you can get decent life spans out the SD cards.
You can also use a real HDD with the PI, its a bit of faffing but something I am looking at doing. My intention is to use a non mechanical HDD, this should give a good life span.
Heat is another problem, people like to clock the chips. The pi even has a setting for it..............Big mistake, unless you put some serious cooling on the chip I would leave it clocked low. It isnt designed to be as fast as a pc, trying to make is so ends in tears and frustration.
Another mistake I cant get my head around is the way they have numbered the I/O pins, it is totally counter intuitive! (to me anyway). While you can bit bang Serial and it does have a serial port, I would have put serial ports in. One is pretty much needed to run the PI (the way I do it anyway), I run it over SSH headless. I see zero point in having high end graphics chip on it, again you need good cooling if your going tto stream video from it, use it as a media centre with mainly video and a SD card, and you are a fool.
Then we have the other nonsensical power issue, you cant put the pi in sleep or a power down mode. It chugs along all the time, it would have made so much more sense to have a sleep feature, and even more sense to have a wake on LAN. But then we come back to what the pi actually is, and what it was designed for. Its a teaching tool, simple as that. Yes you can do some cool things with it, but TBH documentation and decent examples are few. It was not designed for what most people do with it, so to slate it's weak points is a bit unfair.
So what do I like about it?..................
It is by far the easiest way to get IOT working by far. I have used OLIMAX web server board, very old now and based around a pic. Getting a webpage up and running is a hair pulling event! They did make it easy with a reworked MC stack, but MC told them to stop!! Despite knocking the MC out the water, MC complained it infringed on copy write. This was such a shame, it beat the MC stack by a long way. I havnt used the board for a very very long time, I doubt it even works now with the MPLABX and new tools etc. But I did like it.
The pi makes connecting something to the internet very easy, running on Linux also means you have alot of options regarding how you program it. If you new to electronics then it does open up some seriously cool projects, but the non production standard has to be kept in mind. My self guiding hexa copter used the pi as a central hub, what was really cool was using it in conjunction with Labview and Matlab.
This combination was seriously powerful, if you add the Labview camera lib and recognition system, you can have something really special. There is various ways to configure this, for simple object detection you use a black and white type system. This makes shape recognition very fast, if you want facial recognition then you need to clock the pi a bit and dont give it too much else to do. I had micros doing most the grunt, and the pi acting as commander. It worked really well and the project started to be come something really special, I won a prize from a university for it, i was even offered the chance to goto university early. That turned out to be not such a great idea in the end, it put too much pressure on me at 14, I ended up taking 6th form higher exams in the 4th year.
If I am totally honest I expected too much from myself, and started to believe I was actually special, the truth is I was just a kid with aspergers that came up with a cool idea. That is hardly a good reason to goto uni early!! Emotionally I couldnt handle the extra pressure, what had been fun turned into work. i began to hate it, I suddenly had dead lines to meet. This wasnt good, upto that point I had a finish date for the project, but I could stop adding features at any point. Once I started down the uni route I was given deadlines, so they would say we want X added by Y time. I dont work like that, I have periods where I do little all week, then I will have a 36 hour all out session totally focussed to the point I dont eat etc.
that dosnt fit the real world, but its how I operate.
Back to the PI, if you except its shortcomings, then the only main limitation is your imagination. People tried to build bitcoin miners, they worked BUT for the money it isnt worth it. The cost of the pi is too high for building a super computer cluster, yes its fun but at £35 a pop its not the best way. If you think about it, you can go on ebay and buy 120 used laptops for £60. most have cracked screens and no HDD etc etc, but what they have is mother boards and graphics chips. Bit miners work best if you use high end graphics cores, these have millions of cores in them, its the number of cores that really matter in mining.
Super computer clusters dont need graphics for most the units, so you can build a kick ass cluster with a pile of laptops that have cracked screens and bits missing, yes you have to take them apart, yes its best to get a joblot from a single source (so they are all exactly the same laptop). But in the end 20 old laptops in a cluster knocks a 40 cluster R pi super computer into a cocked hat. I got 22 old laptops and started to build one, I never finished it. Mainly because it dawned on me one day.......I didnt actually know what I wanted it for, or what I would use it for! So it sits under bench. But I was given the laptops by the school for free, they are old and most the batteries are long dead. But they work.
So dont think you will fall behind me, you are ahead at the moment. It will take me time to catch up and I will need to ask some really basic questions. Once I do catch up, then why would I steam ahead and not help someone as well? This site got me out of a whole and taught me much of what I know, aged 11 they took me under their wing. I have many good friends here. If I can help someone then I always would, 5 years ago people here were like a really close dysfunctional family! But it sure was alot of fun.
Things have changed a little, but mainly thats down to the world changing. When I first came here you couldnt get an arduino plugin for just about everything, the option to buy the mad contraption you wanted wasnt their. So people had to design it and help you get it working.
A really good example of this is the aquarium thread!! What an epic read! In short the guy wanted to make his marine tank power heads act like the tide, but he wanted it analogue. MONTHS of work later I believe they did get it to work. Now several years on China sells a unit that can do that for $3. back then it didnt exist. So these days there is alot of links posted for things to buy to get the job done, little design and build stuff is done and projects are few. But that reflects the modern world, we are now a buy and bolt on world mostly.
Scopes are another good example, new cheap scopes didnt exist, even boat anchors were expensive, so people buying an ebay special and trying to fix it were plenty. What is the point these days? £400 and you have a good cheap brand new scope. Personally I still buy boat anchors, I have a HP logic analyzer from circa 1990 I think, touch screen the works! The hard drive fails every few months and getting a new one is getting really hard. It cost me £50, but back when it was new I have seen a brochure where its around $60,000. I love the thing, same with both my Gould monthly recap scope (totally ahead of its day), and Lecroy 4 channel scope. Both really old, but I wouldnt swap for the latest top of the range Tek scope in a million years.
Anyway I have written too much, and go off on many tangents. But that is ME
.