Tools
The Sensors Unleashed project philosophy is to let every one look-at, investigate and collaborate to make the project better. This post will try to explain which tools I have chosen, and why. If anyone can argue and convince me in other directions, I’m open for suggestions.
Software:
In this area there is absolutely no need to go for closed source software. Even in my daily work as a software developer I hardly ever use it. Actually the opposite - The other day I was asked to maintain a legacy application made for windows XP. The software was developed back in 2007, and back then the software developer who started the project, had chosen to go with the CodeGear Borland C++ Builder software suite. The compiler and IDE were properly top notch back then, but today this particular suite is no more. The firm behind the compiler had been sold a couple of time between then and now, and our customer didn’t have a copy laying around. Long story short - I succeeded to get it again, but only if I bought a new license for 4000€!! This is exactly where, for instance, GCC shines. I am able to get the exact version of the compiler used just from a simple Google search.
For Sensors unleashed I use GCC for everything (At least compiled software).
- CC2538 embedded software: The CC2538 has a regular arm M3 core and is supported just fine by GCC.
- Setup Tool: Made with QT > 5.6. My primary platform is Linux and on this platform QT is almost exclusively compiled using GCC.
- Applications. When I start making customized software I will consider using higher level software. I specially like Python for this kind of work. The code looks nice and there is already a bunch of nice modules to import. I do have to consider portability though. Perhaps an application developed for a Windows Desktop at some time fits perfectly in an embedded display device - in this case C# or python wouldn’t probably be the best choice.
Hardware
Most project I have followed through out the years have been using Eagle. Therefore it seems natural to use Eagle for the design, however…. A while back I read some articles on HackADay - the first one was THE EAGLE HAS LANDED: AT AUTODESK! and AUTODESK MOVES EAGLE TO SUBSCRIPTION ONLY PRICING which was the last nail in its coffin. I have always been a bit skeptical about their business model, but historically this was the only software that was within price range of DIY developers. Then along came CERN - which almost exclusively uses KiCad, and not only that, but they have tossed in developing hours to add the features they need. This is great for all of us, because in the recent years, KiCad has matured from poor to pretty darn good, and improvements keep rolling in.
All hardware development in the Sensors Unleashed project will therefore be with KiCad. Everyone can download it and start hacking our design - which is what we want. It is what makes open source projects innovative and on the forefront commercial businesses.
Mechanics
Truth be told - I’m not a mechanical expert, but in the past I have used OpenSCAD and FreeCad, which seems pretty nice. As a software developer, the OpenSCAD program was nearly perfect. The way you describe the object programically as squares and rounds really speak to me. FreeCad on the other hand, speaks more to those used for Mentor graphics kind of tools, and whatever is just fine.
Hopefully I will get a 3D-printer in the next year or so and by then, I will be forced to work even more with these tools.
Any comment is welcome.