I've been doing mostly sensor-based systems and I think these microcontrollers are the perfect fit. ARM Cortex (they go from M0 to M4, and their series seem to keep growing), an architecture that was specially designed for low-power sensor-based embedded systems, allowing to measure "stuff" while the CPU is stopped, a nice set of peripherals (OPAMP, 12bit DAC and ADC), great support for GCC ARM Embedded (which makes them really ease to use or getting started to) and a factory-programmed UART bootloader.
The bootloader uses XMODEM-CRC protocol and TeraTerm may be used for uploading. However if you want a command-line tool (like "avrdude" for AVR microcontrollers), there's anything you can use. So, I built one.
Just to let you know that CO is finaly released and the source code is on Github! I've finnished it some time ago but I have been a bit lazy to share it on forums :o) Official website its here: http://3xbla.wordpress.com/component-organizer/
Feel free to contribute! Im still very busy doing my MSc thesis which has nothing to do with CO, but I would really like to see some activity on CO development. The next main goal is to integrate it with Octopart (http://octopart.com/) and add a BOM manager for projects. I wrote some hints (in fact, very simple hints) on how to get started with that: https://github.com/3xdigital/Component-Organizer/wiki
Yeah there are some ideas/feature requests and one of them is Octopart integration. With that you could see prices and stock in each distributor in real time for example. Also it would be nice to have a BOM Manager. But I'm afraid I won't have the time to implement all that so I'll be releasing the code open source and hopefully someone get interested in contributing. I think GitHub will be of great help on that task. Thanks for your feedback!
Some time ago DP kindly published a blog post about Component Organizer. (CO's current website: http://3xdigital.com/comporg) Some complained about not being open source. The reason I didn't share the code was because it was my very first adventure with C# and OOP and thus the code and the "logic" (what logic? :P) behind it turned a completely mess. Adding new features to it was increasingly harder even for me that I'm pretty sure no one will be interested in trying to comprehend what I did.
Meanwhile I have been receiving some feature requests by mail but now I don't have time to keep it's development (I'm an EE student just starting my MSc thesis which has nothing to do with CO nor software development).
So, some time/days ago I decided to re-write CO, now with C++/Qt to make it cross-platform and also open source. Not easy task given the free time I (will) have to do it, but "it's for the sake of a better open source society" :D Also, with the experience I gained meanwhile, I believe the code will look and works much better.
I'm planning to release the code and executables by the end of this month and I'll use GitHub to make forks and contributions easy.
For now I give you with some GUI screenshots (with dummy data) of what I have accomplished so far. Feedback is very welcomed!
(click to see in original size)
Edit: Why CO? One of the reasons I decided to rewrite it was the fact of noticing that there are some cloud-based alternatives (partkeepr, arena partslist - not free nor os) but few/none to run from you computer/pen drive/wtv disk you may use offline. Also, with CO you can also neatly organize your favourite application notes.
Im wondering if it's possible to use pirate-loader to upload .hex files to other PICs that have already the ds30 bootloader programmed. I tried to run pirate-loader.exe to import a .hex file from one of my MPLAB projects but I get the following error:
Quote
Checksum does not match, line 4
Then I realise that BPv3-Firmware.hex has all characters with uppercase format. So I edited my "test.hex" to be also with uppercase characters. Now the error is:
Quote
Current record address is higher than maximum allowed, line 32
This book describes the various options for ground planes giving also a somewhat historical background. Grid ground is not used nowadays at least for technical reasons. Arduino still use it, just to be "cool" I guess :)
So, what are the lines in MPLAB C30 license that deny the distribution of pic30-gcc.exe?
Quote
Licensee may not: (...) b. Commercially distribute, sublicense, resell, reproduce, or otherwise transfer for any consideration this Software or any modification or derivation thereof, either alone or in conjunction with any other product or program.
What means "commercially distribute"? Make money from distributing the compiler? Arduino doesn't sell the compiler, it's the hardware that is sold. The hardware is commercially distributed not the software, right? So if Arduino were made with a PIC24, why they can't distribute the mplab c30 executables?
Also:
Quote
a. Free Software Foundation code.
The following executable files are based on source code from the Free Software Foundation, Inc. ("Free Software"):
Free Software executable files are governed by the terms and conditions of the GNU General Public License including the disclaimer of all warranties and limitation of liability (http://www.fsf.org). For a complete machine-readable copy of the source code corresponding to the executable files listed above, mail requests and $100 to Microchip Technology Service Center, 2100 West 14th Street, Tempe, AZ 85281.
Quoting GNU General Public License:
Quote
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
First of all, sorry for this lazy question, but I can't easily understand licenses with all those fancy words. It's not directly related to DP but once DP uses PIC micros to develop open source hardware I hope you can help me. Suppose I develop a board like Arduino with a PIC, so I need to compile the code everytime I want to upload it. Can I distribute the pic30-gcc.exe file along with all other files of the project?
Thanks!
(edit: just changed "publishing" to "distributing" in the topic's title)