An Idea for the New Year, and Asking for Your Opinion

The year 2012 is coming to an end, and luckily the end of the world is postponed :-). So time to make plans for the year 2013! And here is one I would like to ask your opinion about it: A public repository for Processor Expert components.

I’m maintaining a repository in SVN/Subversion repository of well beyond 100 (I did not count them recently) Processor Expert components and example projects. For now I have many of them published on http://steinerberg.com/EmbeddedComponents/. Everyone can inspect/download/install more components into CodeWarrior and Processor Expert and use them. But it is pretty much a ‘one way’ thing: fixes and extensions suggested are implemented by me, and then published. What I’m looking for is a way for everyone to contribute.

I’m considering to publish the Processor Expert components and examples I have created on GitHub. GitHub is a code hosting and collaboration platform, widely used for Open Source projects. If we share the code on GitHub, we all can download, branch, enhance the code base, all together. Instead of just me, it will be the work of many adding to that project. GitHub will host the components and examples, and would be the repository:

  • Browse source code online
  • See what is changing or what has been changed between versions
  • All available components in a single place
  • Downloading the repository as zip file

While that sounds great, there is one thing: It only makes sense if there are other volunteers willing to dedicate their experience and time. A collaborative project without collaboration does not make much sense ;-).

What I’m asking here: are you willing to contribute (that would be awesome)? Or you just are interested in the components and use them? Or you do not care at all? Please comment to this post, and/or answer the following survey:

Thanks in advance for your thoughts and responses.

Happy New Year and Ideas πŸ™‚

24 thoughts on “An Idea for the New Year, and Asking for Your Opinion

  1. Hi Erich.
    First, i like to wish you a good start of 2013!

    I like your Blog due to a lot of reasons and just begin to step into the ProcessorExpert world.
    I want to create some mobile Sensorcomponents with the new Cortex-M0+ (later M4???) Devices.

    Actually i have only the free Version of Codewarrier 10.3 + PE at hand, and i think it is not possible to create PE Components with this version, isn’t it?
    If there is a way at least to maintain existing Components with this PE Version, i would like to support this Project.

    Greetings

    Like

  2. Hi Erich,

    I think the “component compendium” is an excellent idea. I don’t really expect to have much to offer, myself, but, if I ever do, it will be great to have a specific place where I can make it available. It will also be great to know where all the components can be found.

    However, may I respectfully suggest an additional project / service Freescale can offer? I am totally sold on the value and flexibility of the Freedom board, and I think it is a great tool to introduce potential and future engineers and programmers to Freescale MCUs. At that price point, even 14 year olds can afford a board to start learning with, as well as old farts like me.

    The problem I see and would like Freescale to address is the lack of a straight forward step-by-step process to become moderately proficient in how to use and program the KL25Z.

    I commend your tutorials and how necessary they have been for MCU newbies like myself. But, there are countless little of bits of information that are critical to the usage of the FRDM board that are honestly impossible for a new user to find.

    (The first that comes to mind is how little current the outputs can provide to drive LEDs and other solid state devices. Having worked with 8 bit MCUs and related devices, I did not give much thought to driving LEDs direct with the output. But, if I remember correctly, about 150 pages into one of the technical sheets, there was a footnote kind of saying the output of the whole chip was limited to 100 milliamps. Unless told by another, how could a newbie have possibly known that? In another case, I spent days trying to figure out how to enable the pull down resistors of a few outputs. It turns out that only one output can be enabled as pull down (Edit: The pull down resistors were on some inputs.). This was vaguely mentioned in a footnote somewhere amongst the thousands of pages of documentation I have buried on my hard drive. Most newbies will give up before spending the amount of time I have in trying to do basic things with the KL25Z.)

    I am not complaining about what I went through. I am pointing out the need for an organized document that gives the important bits of data new users and non-engineers need to turn the board into a solution. Also needed is a step-by-step tutorial that walks a beginner from plugging the board in, to changing programs, to connecting to CodeWarrior, to writing programs like you are doing in your tutorials.

    With sincere respect, there are things from time to time that you assume that I, as a newbie, should already know. You do an excellent job of directing people to previous tutorials that cover relevant points, but it does take a lot of time for a beginner like me to go back and forth between tutorials and integrate the necessary understanding to accomplish what you make look so easy.

    This is not a complaint, nor is it a suggestion that you do anything different than you are already doing. What I suggest is that Freescale hire a professional computer tutorial company to write a beginner’s tutorial series for the FRDM board and make it available on their website.

    Your tutorials are very good and work for those of us who are stubborn enough to sort through all the information, but most beginners give up when they spend a few days trying to make progress and only get a headache.

    The Freedom board is too good to not teach beginners how great it can be in solving their problems.

    Most users will not buy the board because they want something to play with. They, like myself, will buy the board because they have a problem to solve and think the KL25Z board or chip will be the best and easiest way to solve that problem.

    If (when) the Freedom board becomes too hard for them to apply to their problem, they will look for another and easier solution.

    Freescale should not forfeit this huge market to another company.

    Freescale could open a tremendous market if they can make their wonderful little KL25Z an easy to learn and use solution to the problems non-engineers want to solve.

    Thank you.

    Like

    • Hi Injun,
      many thanks for your detailed thoughts and good points! As teaching classes at the university I think I know exactly what you are talking about. My challenges is sometimes really that I know too much: simply because I’m dealing with some stuff for a long time, I assume things as granted and ‘known’. But it is is not: It is just aquired knowledge, and not known to everyone. You are right about the challenge with manuals having thousands of pages. Processor Expert avoids reading most of it. But the truth is: to really know things, sometimes it is needed to read this (or other sources). And you are right too: many times things are not easily accessible or found. I know for my own experience that I was debugging a strange interrupt problem for *weeks*. Finally I was 100% sure to have found a true silicon bug. Reported it to the silicon vendor company, only that I received a response from the designer pointing to a small note on page 259 of the reference manual :-(. In my opinion, Freescale (and many others they compete with) is largely a silicon company in its foundation. But silicon is pretty much ‘just sand’ without software and tools. In my view software is the future, not silicon which is already a commodity. The Arduino and the Raspberry Pi do not have the greatest silicon, but do have great software and tools! I think that tells a story.

      Thank you,
      Erich

      Like

  3. Thank you for your thoughtful comment, Erich. It is good to know you understand what I am talking about.

    I have spent most of the last two and a half months trying to identify, locate, and then integrate the countless little bits of information I need to turn Freescale silicon into a solution for my company. I consider most of that time “wasted” because I have accomplished so little for the benefit of my company.

    My company could not care less whether I use Freescale, PIC, Atmel, Ti, or Goophydyne MCUs. They pay me for results.

    I chose the Freescale Freedom board because it looked best at the time. I thought it had a lot more to offer than the Arduino or other silicon starter kits, (but I now wonder if the Arduino would have let me get my product to market sooner).

    Over the past few years I have noticed an incredible disconnect between silicon engineers and the people who want to buy and use their silicon. It seems to me that far too many engineers expect the user to decipher and organize the overwhelming amounts of obtuse, dis-integrated engineering information and turn it into a viable solution that the user cares about.

    Users are only interested in solutions. They do not want to become engineers. It is up to the silicon company to translate what the engineers provide into what the users need. That is the only reason for the existence of companies: to help their customers solve problems (while maintaining profitability, of course).

    How many thousands (if not tens of thousands) of hours have been spent (and wasted) by people around the world trying to figure out how to make the cute little Freedom board do something useful for them? In the last 60 days, how many hundreds of potential long term loyal customers have given up on the Freedom board because they had no clue how to solve basic problems – like how to read from and write to the IO pins? (You may remember, I wasted over a week on that myself.)

    (I do not think I exaggerate to say that over half of the KL25Z buyers so far may have already given up on it.)

    If Freescale wanted us to use the IO pins on the Freedom board WHY didn’t they explain how to do it? Instead, they buried it in hundreds of pages of engineer speak where only someone who had previously worked with low level CPU registers could eventually dig out the countless little β€œbits” of information and integrate it into usable code.

    If not for you and your blog, how would anyone without previous CPU register programming experience possibly be able to use the Freedom board? (If you don’t mind me asking, does Freescale pay you for answering all these questions on your blog, or is it just a personal activity as time permits?)

    It seems to me that instead of thousands of people around the world spending tens of thousands of hours trying to find countless bits of hidden and obtuse information in order to make the Freedom board their solution of choice, that Freescale could have hired a half a dozen professional technical tutorial writers last July or August and provided the information we users will unquestionably need to do even the most basic things with their silicon.

    All the potential users around the world should not have to rely on one overworked university professor in Switzerland to, in his spare time (perhaps for free), teach all users worldwide how to use Freescale silicon through his personal blog.

    In my previous post, I suggested that there is an incalculable worldwide market for the first silicon company that makes their introductory silicon kit (such as the KL25X) easy to learn and use.

    Is there any way this can be communicated to Freescale corporate? And, what are the chances of them doing anything about it within the next few months, before some other company takes the market away from them, and before countless potential longterm Freescale users give up and find an easier way to solve their problems (such as with the Arduino)?

    I think it is strategically unwise for Freescale to expect that all of its KL25Z users worldwide be tutored by a single overworked professor in his spare time.

    (However, I am very impressed with how well you are able to do it. I can’t imagine how you manage your time so effectively.)

    I would like to suggest that Freescale take %5-10 of their research budget, and up to %40 of their marketing budget and focus it on helping potential customers know how to turn Freescale silicon into solutions the customers are looking for. That is a lot of money, but just how important is it for users to know how to use Freescale silicon to solve their problems?

    Would you not agree that if users cannot solve their problems with Freescale silicon, there is no reason for Freescale to exist? Therefore, creating proficient users of Freescale silicon is the most cost effective long term investment Freescale can make.

    Turning ten thousand MCU newbies into proficient users of Freescale silicon will lead to more long term users and profitability than marketing to ten thousand overworked engineers who simply don’t have the time or inclination to learn a different silicon / software system.

    I know you understand this, Erich, but how can Freescale be made aware of this?

    Creating proficient users out of newbies is what I suggest Freescale focus on this coming year.

    Nevertheless, the component resource is an excellent idea because it will make it easier for users to solve their problems. (But I suggest that Freescale sponsor it, rather than you add it to your ongoing mountain of responsibilities. Your family is more important than Freescale silicon.)

    With respect, thank you.

    Like

    • You make many good point, and ask a lot of questions. To answer one right away: I’m not getting paid for this blog (as many other bloggers in the world). I do it in my own and unpaid time. Writing is fun and rewarding. And I’m probably a philanthropist (yes, I learned the old Greek language, and finally I can show-off this :-)). And I’m a believer that I cannot only consume things from the internet, and that I have to give something back to the community. Or do you say I should add a ‘donate’ link? πŸ˜‰

      I think you bring up a very valid point about ‘new users’. I don’t know what your background is (mine is CS and some EE). But as you indicate, there are a lot of maybe non-CS and non-EE users out there. Honestly, I think the ‘Arduino’ world might be better suited for them, or things like the Lego Mindstorm, targeting say more the ‘elementary’ or ‘high school’ level. I for myself enjoy knowing the bits and bytes, I want to know what is behind it, how it works. This is what I believe should be in every engineers mind. Depending on the engineering background, a lot of things are ‘assumed’. And wrong assumptions can be a huge source of miscommunication or frustrations (I know that for myself, having two kids :-). In my view the Freedom board (as it is), is not ready for complete newbies: you need to be able to use a computer (drivers, software), you need to be able to program (C/C++, assembly), you need to have an understanding of electrical engineering to change/extend the board, and finally you need to know the basics of a microcontroller (registers, pins, interrupts, memory, flash, ram). All what I would expect from a solid education in EE and/or CS. Or as you say, that it comes with the right material to fit a different audience.

      What you maybe bring up here is a good point about ‘education’. Being myself in the ‘education industry’, I think Freescale realized finally the impact of education foundations like http://arduino.org/ or http://www.raspberrypi.org/. That’s why you see a thing like the Freedom board which has a bridge to the Arduino shields.
      But as you say: it only matters with tutorials, software and tools.

      As for making Freescale aware: I know that Freescalers have subscribed to this blog (no surprise ;-). But at the end it will be business: they want to make money. As you say for your employer: he does not care which microcontroller is used. But Freescale (and others) might care. But they do not care if the opportunity is not big enough. In any case I encourage you to contact your microcontroller seller/vendor/distributor (element14!) and to bring up your case. If there are enough of this kind of requests with enough momentum, things might change: That might be a good change for the year 2013 :-).

      Happy New Year!

      Like

  4. Hi, Injun,

    The Freedom Board looks very nice, like a ‘funny’ Arduino, but the uC Chip on Board is from a different uC World. The internal Components ( like the ADC for Excample) has so much more Functionality compared to .. let’s say an ATMega328, that you need definately a lot more pages of Documentation to describe everything, and more important, excactly. So this simply multiplies the Page count (the Usermanual of the simple ATMega128 has more than 370 Pages). Surely, this makes it difficult for ‘Beginners’ to use these so simple looking Board. And my long Experience with uC Datasheets (starting with 8085 and 6502) shows, that every (corrected) Edition of the uC Usermanual will contain some more Pages.

    Compare it to Software like ‘Final Cut’ (Video Cutting Software); as a ‘non Expert’ User you will never be able to use the broad Functionality; you would better use simple Video-Cutting Software. You will definately get quicker and also ‘better’ results.

    So first define your ‘Problem’ and next the possible ‘Solutions’. Then it should be simple to select a ‘Tool’ that has possibly not too much unneeded Functionality to make you ‘Solutions’ work.

    And at least, alone the free Codewarrier Version gives you good (with superior Quality) starting point to learn everything about programming an ARM based Microprocessor; and spending time to learn is not really the same as ‘waisting time’. But changing Tools when starting a new Project usually leads to a longer ‘time to Market’. It is simply a wrong decision, if you don’t take this into Consideration.

    Greetz and a

    Happy New Year

    Like

  5. I agree with the “Arduino” comparison. However, FRDM board has much more options for more advanced users. I am going to use it for undergrad courses on electrical engineering, in different levels (from Assembly to hardware design).

    I believe that the Processor Expert repository and collaborative work can bring the FRDM board closer to the Arduino world. I mean, I would love to see teenagers building things with the FRDM, and I am sure that it can be done. That’s why I am so enthusiastic on collaborating to Erich’s idea.

    For example, I used some of the libraries to control an Hexbug Spider using the accelerometer as a tilt sensor. I would love to share my results.

    Even without the PE comomnent wizard, one can collaborate writing code. Maybe Freescale could support collaborators offering a license for activating at least the Compoent Wizard features.

    In short… Erich, you can count on me.

    Like

    • Hi Antonio,
      thank you, your future help will be appreciated by everyone in the community. I agree that the Freedom board is a very powerful one. As with many power, it requires the needed skills to deal with it. I’m teaching embedded system programming on an university level, but even here the usage of Processor Expert helps to abstract and to simplify learning microcontroller programming. As for the license thing: I’m in touch with Freescale, and I belive there will be a good (and free) solution to work on that project.

      Like

      • I have a good networking with the guys from Freescale in Brazil and Latin America. I could bring the great thoughts posted here to them, so maybe we can have some help on spreading the idea of Freescale boars being as easy to use as Arduino or Raspberry Pi.

        Like

  6. Antonio,

    YAY! Thank you. I think the Freedom board has several times more potential than the Arduino does. (That is why I selected it three months ago as the heart of the new “home medical device” I am creating for my company.)

    Reiner,

    I started out with the ATmega128 two years ago as the controller for another system I was designing. After 2 months of trying to make sense of that huge manual and thousands of pages of related documentation (and being insulted on the Atmel freaks website for suggesting something similar to the above), I gave up on it and decided to use an Android tablet as the controller for the device I was then building. (I got it generally running but last summer my company decided to push for the completion of this new device first.)

    I understand the other points you make too. I am too far into the Freedom board to give up now. And, when I was comparing it to similar eval kits 3 months ago, it seemed to me that Freescale had the better beginner support – primarily through Erich’s blog.

    (DID YOU HEAR THAT FREESCALE? I decided to go with Freescale in a large part because of Erich’s blog. Why aren’t you paying him? πŸ˜‰

    I also did not want to pay for the IDE, which was another big factor in my decision to go with Freescale.

    I also understand your point about determining the results before you commit to the solution. That is a big reason I selected the Freedom board over the Arduino, TI and ST eval kits. I needed dozens of inputs and outputs and I did not want to have to add serial-to-parallel IO circuitry if I didn’t have to. I also needed the dual USB functionality in order to connect it to an Android tablet while I was debugging with the IDE. The final deciding points were the capacitive inputs and the PWM outputs. (I’ll be driving motors and/or hydraulic valves as well.) And lastly, I really wanted to learn more about the ARM uControllers as well.

    (BTW, I remember the 6502. I wrote a number of programs for it many years ago, including a small one in machine code. πŸ˜‰

    Erich,

    If you put a few little donation buttons around your blog, I doubt anyone will fault you. And, since the time you spend on your blog takes away from time you spend with your family, set the money aside to do special things with your family. The information you offer on your blog is worth real money to those of us who need it.

    Finally,
    I think the Freedom board is better than the Arduino by one or more orders of magnitude. And it seems very well designed for the basic beginner to fiddle, putter with, and break from time to time.

    I believe Freescale will make more money and have happier more efficient effective loyal customers if they take the customer’s needs into consideration instead of expecting their customers to turn themselves into engineers just to use Freescale products.

    How many businesses have gone from start-up to market leaders because they put the customer first?

    Though not a startup, just what new direction can Freescale take to substantially increase their market share? Focusing on the customer’s needs sounds to me like a reasonable direction to try. (And, what will it hurt, really?)

    Respectfully, thank you.

    Like

  7. Hello everybody,

    let us start learning all we can about this little Tool and create a library full of usable Softwarecomponents to share them with all the interested people out there …. (Teenagers, Students and Engineers, waiting for more to come).

    And if we have the collected knowledge to write great Tutorials, we should do it as fast as possible ( i.e. our sparetime allows it).

    So spread the word to all interesting supporters and ask for Collaboration AND a positive vote; hoping that Erich creates this Repository in the near future!

    May the force be with you ….. πŸ˜‰

    Like

    • Excellent Idea!!!

      Irrespective of what Freescale does, that sounds like an awesome goal, both for ourselves, and others.

      Thank you for suggesting it.

      Like

      • I second that… as we are migrating to FRDM in our undergrad lab courses, I will have to write tutorials for the board, very soon. It is just a matter to translate them from Portuguese to English.

        Like

  8. Looking at the current voting results, looks like we get some critical mass :-). I’m new to GIT, so I’m exploring things right now. So I have started to set up the foundation for this project on https://github.com/ErichStyger/mcuoneclipse and filling in information, especially building up the Wiki. For the ones of you who want to participate, that might be a good time to get familiar with GIT (there is a lot of useful information available on github.com!).
    And don’t stop voting! πŸ™‚

    Like

    • Hi everybody!
      I agree with all previous comments. I noticed that many of Erich’s tutorials are posted at late hours, during weekends and holidays. Your work saves us many hours of blind trial, guessing, errors.
      I am currently involved in a research project aimed to develop a portable data logging system, acquiring data from several sensors (pressure, temperature, humidity, distance, air quality, sound, light, etc) which will be used in Physics labs.
      After some Google-ing, Erich’s posts attracted my attention by being precise and easy to follow, Until 3 weeks ago I have never heard about Processor Expert, Code Warrior, Components, etc. My experience was limited to small applications with PIC 16/18 microprocessors. They are difficult to set up, you have to program pin functionality at register-level. I always need the Microchip data sheet, and NEVER succeed from the first trial 😦
      In only 2 weeks, thanks to Erich, I am almost sure that I am going to use the KL25Z for this project . I can “smell” its potential even I am far from understanding all aspects. I never needed to look into the Freescale processor datasheet (maybe I will for some advanced matters). The thing that matters most is that I am able to produce results quickly.
      My vote: PRO
      Also, don’t forget the important aspects of life, Always have fun in what you do. Observe the nature around you.
      With respect,
      Cristian
      Bucharest, Romania

      Like

  9. Pingback: McuOnEclipse goes Git | MCU on Eclipse

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.