I bought an MSP430 to learn more about microcontrollers. My ultimate goal is to build a graphing calculator. I have read a few other posts about this but I still have some questions about the specifics. My plan now is to learn as much as I can about circuits with the MSP430 and move on to another type of processor when I am ready. I have been programming a long time (graphing calculators too) so my concern is just setting up the hardware. Right now my plan is to eventually make a simple version of the calculator and then make a more sophisticated version once I have some experience.

  1. What processor would you recommend? I know this question gets asked too much. I am asking because I would like the final calculator to have a lot of RAM and Flash. How much memory would I have to work with if I used a really good ARM processor? If that isn't enough, how difficult is it to hook up RAM and Flash chips to your MCU?

  2. This question depends on question 1 but from a design standpoint, isn't Flash a lot slower than RAM? In the calculators I have worked with, a lot of the routines the OS uses are executed from Flash. Couldn't you speed things up by storing the OS in the Flash then copying it to RAM the first time the calculator starts? Then when the calculator is shut off, a backup battery would keep the contents of the RAM loaded.

  3. From a hardware standpoint, would it be terribly difficult to use two processors? I know getting them to cooperate and do anything useful would be non-trivial but it is interesting idea to give the second processor a task, like sorting a list with thousands of elements, while the first processor carries on with some other task. Of course this is overkill for a graphing calculator but it is an interesting idea for a hobby project.

  • \$\begingroup\$ This is (soon to be was) multiple questions. Some are related, and all are about your project, but try to keep them separate. clabacchio referred you to this if you want to DIY it or this if you want to send it; we have a whole pcb tag which goes into this further. Similarly, there are other questions on graphic LCDs, see the lcd tag and probably this question. Feel free to ask more than one question! \$\endgroup\$ Commented Feb 21, 2012 at 2:16
  • \$\begingroup\$ I've written a serially controlled RPN calculator for the MSP430 Launchpad, it might make a useful starting point for your project blog.hodgepig.org/2010/09/09/573 \$\endgroup\$ Commented Mar 7, 2012 at 17:36

1 Answer 1

  1. There are many microcontrollers out there (a microprocessor is slightly different), and propably an ARM is the first choice if you want performance. Hook up RAM and processor is conceptually trivial, but the practice can be complicated if you are not expert.

  2. RAM is probably embedded if you buy a microcontroller, so just load the software from the Flash; and wait for using operating systems, first try to play a little bit with the board.

  3. If you don't have a specific requirement for multiprocessor systems (and you should have them in the same chip, I don't think is feasible with microcontrollers) then it makes no sense to get crazy with that kind of stuff. And if you have to learn, I would suggest again of starting with something simple, you can't think to build a computer without even have build a microcontroller board, at least once.

And probably you are expert in programming, but even if you have the PCB made, programming with microcontrollers requires the management of the hardware, and that's also a thing to learn before going further.

  • \$\begingroup\$ I removed questions 2 and 4 from the original post, this question is now solely about the microcontroller decisions, so I've edited your post to reflect this. Sending you this comment so you can make any other changes you might want... \$\endgroup\$ Commented Feb 21, 2012 at 2:23
  • \$\begingroup\$ Also, WRT parallel processing, it's quite feasible on a microcontroller - modern processors have plenty of support for building a simple multitasking OS (though it's easiest if you pick one that has an existing RTOS available), or the Parallax Propeller chip has multiple cores or cogs as they call them. \$\endgroup\$ Commented Feb 21, 2012 at 2:25
  • \$\begingroup\$ Yes, I was specifically referring to the effort requested to manage multiple processors, as the assignment of tasks, the management of the shared memory to guarantee coherence on the data, and so on. About OSs, I know that there is uCLinux and also Jennic provides JenOS for networking applications. \$\endgroup\$
    – clabacchio
    Commented Feb 21, 2012 at 7:15
  • \$\begingroup\$ Thanks for the answers! I have been looking around at ARM microcontrollers but I can't seem to find anywhere where hobbyists can buy them individually. I think looking at those and at the prices would help me decide. Some of the ones I saw have 1MB Flash and 192K ram on the chip. I don't know if that is a processor I could use but that is more than enough memory for the first calculator. \$\endgroup\$
    – Joey
    Commented Feb 21, 2012 at 21:03
  • \$\begingroup\$ @clabacchio, thanks for the link but I didn't find any microcontrollers for sale, just development boards. I don't mind investing in a board but I want to compare microcontrollers first. If the microcontroller itself is expensive, I might pick a board that uses a cheaper one so I save a little money every time I do a project. \$\endgroup\$
    – Joey
    Commented Feb 22, 2012 at 9:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.