Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 12:03 26 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Open Source Success?

     Page 1 of 2    
Author Message
elproducts

Senior Member

Joined: 19/06/2011
Location: United States
Posts: 282
Posted: 03:50am 07 Jun 2012
Copy link to clipboard 
Print this post

I have to question is it really open source hardware/firmware that makes a particular platform successful or is it something else?

I've often read on this forum how some people moved on because the latest Maximite firmware is no longer open source even though version 2.x is open source. And now Duinomite firmware development has stopped due to key people no longer able to put in the time on the code even though it is open sourced and could be continued if someone else had the time and ability.

I hear this same theme in the Arduino crowd that they chose the Arduino because it was open source. But I've seen many programming platforms that don't have the success of Arduino that are open source. What I've found with open source hardware/firmware platforms is that most users wait to see what someone will create with that open source design. In many cases other than Arduino, when nothing great appears users move on to the next great open source idea (i.e. Rasberry Pi, etc.). But Arduino stuck around, and grew in popularity. Why? Was it really the open source hardware/firmware or was it something else?

I've concluded the answer is open source has two meanings. To the experienced technical person it means open sourced everything; hardware, software, firmware, compiler, IDE, etc. To the average user (and this is the crowd that makes a platform successful financially) it's lots of free open source sample code.
Both groups give open source the credit for success but with two different meanings.

Here's why I've come to this conclusion.
After talking to a lot of beginner's and experienced users of Arduino and other platforms, what seemed to really make Arduino take off was the large amount of free sample code developed by the original Arduino team and a few key people. Within the Arduino IDE you have instant access to a lot of free open source sample code already developed and ready to run. And not just flash LED sample code but complex connect to the internet open source sample code.

From there people used that sample code and created shields and modified that sample code to do more. Some actually made the code into custom libraries and made those open source so others could modify it. This was the #1 reason many people told me they chose Arduino. It was easier to get started with because it had a lot of "open source" free sample code. It had very little to do with the hardware being open source or the compiler being open source.

So couldn't any platform have loads of open source sample code even if the platform hardware and compiler wasn't open source? BASIC Stamp was a popular closed source hardware option with lots of open source sample programs and it was an almost instant success. What seemed to hurt its growth was when Parallax switched to the Scenix chips and then propellor which were not sample code compatible with the original BASIC Stamp code. So development of free open source sample code for the original BASIC Stamp essentially stopped and the platform slowly lost popularity and Arduino came in and took over.

Based on what I've witnessed, I've concluded that the success of a platform is not open source hardware or compiler (though that is important to a few highly talented people) but instead the amount of free open source sample code available when the product launches and how much it continues. The more sample code, the more success a platform will have. There is a lot of old BASIC code out there that could be ported to Maximite/Duinomite but that is a huge task.

So is Maximite/Duinomite suffering from lack of open source firmware or is it instead a shortage or free open source sample code?



www.elproducts.com
 
Bugs2
Newbie

Joined: 18/05/2012
Location: United Kingdom
Posts: 29
Posted: 05:19am 07 Jun 2012
Copy link to clipboard 
Print this post

I think that one of the main things the Arduino developer got right was to limit the flexibility, and therefore complexity, of the original 28-pin AVR version. By predefining parameters like pin assignments they greatly simplified the development environment and production of applications material (including books). It also helped that 'Arduino chips'(AVR micro with boot loader) could be purchased at low cost for users to develop custom systems.

For MaxiMite Basic to really take off we need an equivalent chip level option to the Arduino.
 
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 09:26am 07 Jun 2012
Copy link to clipboard 
Print this post

MMBasic is free, MMBasic is powerful, MMBasic is supported and frequently updated by it's creator... all that is left is people to start creating software and applications.

This is the area that needs to grow, be "nurtured", promoted and create the required stimulous.

We have this but it needs to grow, become bigger.

One suggestion I have made before is that Silicon Chip magazine should start a monthly Maximite column outlining the going on's of the Maximite world. A magazine will target many Maximiters that this forum doesn't. There are people out there who would like to do more with the Maximite, not only interface hardware projects on it.

We need apps folks. Apple knew that with their iPods and iPhones and created the Apps store. Now look at them. Everyone else has followed suite selling low cost apps.

Throughout computer history, it's been the ongoing availability of new and low cost software (or hardware) that has propelled a product to the masses. New stuff keeps a product interesting and draws people in.

How do we encourage more new stuff and how do we reach more people?


 
vasi

Guru

Joined: 23/03/2007
Location: Romania
Posts: 1697
Posted: 10:19am 07 Jun 2012
Copy link to clipboard 
Print this post

Elproducts, I fully agree with you! I always said that the success of a board depends on the number and variation of tutorials and projects, more than anything (manufacturers, better pay attention!). Yes, price is important but not so much - people can spend a lot more if there is one project (eg., 3D printer) that they like and want to reproduce for them and others.
Arduino is a simple board and have some design flaws. Is a board which professionals reject it and criticize it. One of the pluses is that is still a 5V board and this mean cheap (and reliable) interfacing.

This is why a new comer (a manufacturer of a new board) is in disadvantage when go on the market with a board with no or poor support. Is not anymore the time as it was at the beginning when Arduino started. You must surpass from the start the number of projects and tutorials which Arduino have because no one is willing anymore to start from the zero in building tutorials and projects for a new board. They already have Arduino. This must be understood well by all educational board producers (specially when they want to rival Arduino or to benefit from it's community). (In this respect, Microchip is on the move with cross platform free compilers, boards with a higher level of configurability, rich libraries and a lot of examples - expect more)

As for users, there are two main groups:
1. Benefit from;
2. Contribute to.
A community depends on the number of second group. There must be always a good balance.

P.S.
These days I'm trying to extend the C library "libarduino" with some more functions (millis, I2C, DS18B20, PCF8583, LCD, etc.) because I want a smaller and faster code - comparing to microchip echo system, you have less C examples and libraries and there are big differences between AVR families. And this because I want to go beyond Arduino language (when you get over 1000 bytes of code for blinking a LED using Arduino language against 44 bytes of the same program in C language, you start looking for some C libraries).

This is the result of adding millis to the library (but I'm thinking to replace it with a more advanced concept, borrowed from Jallib libraries):
http://youtu.be/QZaSRauFEgo
Edited by vasi 2012-06-08
Hobbit name: Togo Toadfoot of Frogmorton
Elvish name: Mablung Miriel
Beyound Arduino Lang
 
Gizmo

Admin Group

Joined: 05/06/2004
Location: Australia
Posts: 5078
Posted: 01:10pm 07 Jun 2012
Copy link to clipboard 
Print this post

I'm still sitting on the fence when it comes to open source. I use open source software daily, but I generally find its of a lesser quality than its closed source alternative. But I still use open source because its usually free. Open Office is one package I use, its free, and has some really good features, but its also a dog to use compared to Microsofts Office. But I dont want to pay the money for M'Office, so I stick with O'Office.

Another problem with open source is we end up with many dialects, which I feel is bad. Linux is an example. Unix was/is brilliant, a commercial package closed source, and a better OS than anything else out there. But then came Linus and released a free open source version. Linux is good, but there are hundreds of different versions to choose from! This means different function, and different bugs, in the different distributions. Too much choice leads to someone walking away, and many stick with the devil they know, Windows, because the choice is made for them, even if it isn't a better OS. If Linux wasn't free it would have fizzled out long ago and users stuck with UNIX. I really believe UNIX would have been a much more common OS, if not the industry leader, if it wasn't for Linus and open source.

I'm not really interested in the source code of the Maximite. I'm more of a end user. I have both a Maximite and DuinoMite, and to be honest, there is nothing new since 2.7 that would make me choose a Maximite over a DuinoMite. I can do anything in 2.7 that I can do in 3.2, the new features dont affect the end result in my situations. Granted the new features a very nice, but so long as I can program in BASIC, read in values, switch pins and display stuff on a screen, then I'm happy with 2.7.

One thing I do like about the Maximite/DuinoMite is the users written BASIC programs are open source, there is no way to compile them and hide the code. I've written programs in the past in VB6 as a open source project and teaching tool, but then had other people create their own versions, fix my bugs, improve the program, all good, but then released as compiled code only, which was a kick in the guts at the time. I turned away from the project soon after, it had lost its way and I didn't want to revisit it.

Like I said, I'm on the fence. In some situations I'm for closed source, and in others I think open source is the best way. I dont think there is a answer to the question.

GlennEdited by Gizmo 2012-06-09
The best time to plant a tree was twenty years ago, the second best time is right now.
JAQ
 
vasi

Guru

Joined: 23/03/2007
Location: Romania
Posts: 1697
Posted: 03:32pm 07 Jun 2012
Copy link to clipboard 
Print this post

A propos, a brilliant (much, much over FreeBSD, OpenBSD, NetBSD) open source UNIX was OpenSolaris, presently acquired by Oracle and closed again . They decided that you must pay for such a high quality. The good part is that now the clients can benefit of high assistance (hopefully).

But the project was forked - don't remember now the web address...

A bad thing about UNIX is that you need a better computer than the one on which you run Linux as workstation. But is rock solid.

BTW, Linux is nothing more than a fork of Minix. Is not UNIX like FreeBSD and others. It can be referenced as "UNIX like" only. Mac OS X is definitely UNIX (this keeps Microsoft away).

This is nice to read.Edited by vasi 2012-06-09
Hobbit name: Togo Toadfoot of Frogmorton
Elvish name: Mablung Miriel
Beyound Arduino Lang
 
elproducts

Senior Member

Joined: 19/06/2011
Location: United States
Posts: 282
Posted: 05:17pm 07 Jun 2012
Copy link to clipboard 
Print this post

  Nick said  

How do we encourage more new stuff and how do we reach more people?



Just my opinion but based on past experience what seems to work best is some kind of financial incentive. People expanded Arduino because they could build the open source Arduino and shields and make some money. Writing code and giving it away brought in customers. It's what helped make Sparkfun and adafruit two of the larger selling Arduino sites.

This is why I thought the low cost of the Duinomite actually hurt the cause. It seems counter intuitive but a lower cost Duinomite actually reduced the customer base as it squeezed out any financial incentive for other people to write code and give it away. This is also why I put guys like Geoff in such high regard. To give away all that time and work is so rare. Not everybody can afford to do that so it helps to have a financial reward path.

For example,
If a boxed Maximite Computer was $79-$99, there would have been enough profit for many people to build clones and plug in modules and offer free sample code. Having unique I/O between the two versions didn't help this either. I can't help but think if all that effort put into the Duinomite was instead put into code samples and Maximite accessories, would it have been a bigger success for everybody?

To me there was a great lesson in open source here too. It can't be sold too cheap, too early or it kills the momentum. Altronics couldn't keep the kits in stock at the beginning. Now I wonder if they sell any at all?
The SM1 was a great board and it died. I know another design that never made it to production because of lower profit incentive.




www.elproducts.com
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 06:04pm 07 Jun 2012
Copy link to clipboard 
Print this post

The biggest mis-conception people have about OpenSource software is that it has to be always Free (as is in NoCost). Software that is OpenSource or created with OpenSource software can be sold for whatever the marketplace can handle. Yes, Glenn, There are Linux versions that cost $Hundreds to buy.
(Example Ubuntu Server can cost as as much as $1200USD Per Year per Server).


Just because the existng MMBasic/DMbasic Firmware downloads are $0 to buy doesn't stop anyone from creating an alternative Firmware that is sold for a reasonable price to help recoup development charges.

There is nothing about the cheap pricing model of the Duinomite that created the problems.

Any argument that an overpriced Maximite Kit from Altronics/Jaycar is some how better than a Maximite that is pre-assembled (like SM1 or a derivative like the DuinoMite/CGMMSTICK/WhateverMite) is just plain SILLY.

The pre-assembled boards will always be CHEAPER than the Kits.

KITS are priced higher because the kit design is based on discrete and SMD components mainly hand-soldered on a simple and easy to understand PCB design.
Kits are great for learning purposes and relaxation.

Pre-assembled boards like the DM series are 100% Automated assembled using SMD devices on a multilayer board that is optimised for cost, size and function.

The pre-assembled boards are a very cost effective solution for APPLICATIONS and REAL-WORLD USAGE.



Edited by djuqa 2012-06-09
VK4MU MicroController Units

 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 06:51pm 07 Jun 2012
Copy link to clipboard 
Print this post

It is an interesting phenomenon to watch. I suspect it also depends on what is left of the goalposts after the flood of marketing ... A retro-computing project, to recreate the TRS-80 days etc, no doubt has a lot of interest, and is also a great example platform for experimenting, training and hobbyists. The problem comes when marketing boosts the expectations into something that it was never intended to be. After that there is inevitably disappointment. The point is, success at the original open source goals is defined differently, and often involves a much smaller group, than the marketeers and hype aim at.

IMHO there are (and will be more, particularly for Linux) a lot of boards and systems, way over-complicated for their resources, with subsequent problems. Some are too underdeveloped for reliable use, eg raw analog inputs.
Rule No. 1: If it can't be hot-rebooted without damage, it is not going to be obdurate enough for a lot of environments.
Most will have the marketing .. and ads.. and publications .. and lurking conglomerates...

Most of these things, and ordinary Basic, are simply never
used for commercial devices, although there seems to a strong implication
that they will be (and you will be rich) if you will just help out by coughing up the $$$ .. and get the expansion board...and the upgrade..

On the technical side - I would say the Arduino uses compiled C++, the MM uses C for interpreted Basic, the difference means the two systems were always and are fundamentally divergent. In the long term C++ projects have a reputation for drowning in their own complexity, and Basic has early limits. A simple C environment for the MM would be good, but it have to be written in assembler for size reasons I guess, by the time it was written it would be superseded by 64-bit...And an operating system would be good.. and ..
Anyone know a good cheap 64 bit micro ???
cheersEdited by chronic 2012-06-09
 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 06:48pm 09 Jun 2012
Copy link to clipboard 
Print this post

Just a thought :
to increase the software available for the MM, it has to have an expandable code base and defined architecture. Expanding software scope will also require multiple developers in the long term. Maybe the underlying software could be reissued under C++ ? I gather that is what allows Arduino to incorporate a lot of features quickly, (for better or worse) ?
It is getting kind of bizarre...using 32 bit processors for 8 bit code ..ecchh.
cheers
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 04:25am 10 Jun 2012
Copy link to clipboard 
Print this post

You can use C++ now. Don't see that it gains you anything but go ahead. MM is developed using a variant of GNU C / C++.

The MM isn't trying to be 8-bit or Arduino as far as I can see!

John
 
vasi

Guru

Joined: 23/03/2007
Location: Romania
Posts: 1697
Posted: 10:32am 13 Jun 2012
Copy link to clipboard 
Print this post

  chronic said   ... Maybe the underlying software could be reissued under C++ ? I gather that is what allows Arduino to incorporate a lot of features quickly, (for better or worse) ? [/quote]

From the microcontroller resources point of view, is for worse. C++ occupy a lot of memory. All "sacrifices" are made in order to have an easy to learn language. Arduino is intended for artists and he is doing his job. But, if an artist dare to evolve, then he will search for a pure C library. But from the educational point of view, is for better. Anyway, for advanced projects, they had to increase the available memory - Arduino Mega have now 256Kb Flash. The same is true for PICAXE.

  chronic said  ... It is getting kind of bizarre...using 32 bit processors for 8 bit code ..ecchh.
cheers


I don't understand where you point to, but if is about MPIDE and Chipkit boards, then no, is not about 8bit code. The programs are compatible only at an abstract level. The results are compiled in the native format. So, why you believe that Arduino language (high level language) means 8bit machine code?

P.S. Off topic: Personally, I would like to know how many people started to work with 32bit microcontrollers and ended up returning back to 8bit 5V platforms.

P.P.S.: MMBasic is totally different thing, it does not compare with Arduino Language and system. Edited by vasi 2012-06-14
Hobbit name: Togo Toadfoot of Frogmorton
Elvish name: Mablung Miriel
Beyound Arduino Lang
 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 02:46pm 14 Jun 2012
Copy link to clipboard 
Print this post

The point is, recreating applications that were originally 8-bit (like early
arcade games and so on) is fun and interesting, but
expanding the system with applications in Basic will have a limited
scope. Often new applications or accessory devices will
need to access or use background or multiple processes,
interrupt-driven comms and so on, which will be hard or impossible
to add using Basic. Maybe compiled routines written in C and so on can be called
from the Basic interpreter, I don't know.
 
donmck

Guru

Joined: 09/06/2011
Location: Australia
Posts: 1313
Posted: 03:54pm 14 Jun 2012
Copy link to clipboard 
Print this post

  chronic said   Maybe compiled routines written in C and so on can be called
from the Basic interpreter, I don't know.


From my TRS-80 Page at:
http://www.dontronics-shop.com/is-this-australias-first-pc.h tml

Morse Code Generator for the Australian Department Of Communications:

This computer generated all the 5, 10, and 20 WPM morse code that was used for
Novice, Ham, and Marine morse code receiving tests by the Australian Department
Of Communications from around 1980 to 1986. This was previously done by a punch
tape machine, and when I was asked if I could program a computer to do this, I
said of course you can. That is the sort of thing that computers are designed to
do. I soon found out that you can't get accurate timing for long periods using
the basic language built into this machine, so I had to learn Z80 machine code
damn fast.

I eventually had to tell DOC that I wanted to drop this contract, as the
repetitive nature of the input strings really drove me mad. It was around the
time they shifted headquarters from Melbourne to Canberra, so I suggested they
get some one to re-write the software on an 80286 AT-PC, as the TRS-80 was
getting very dated, and I was involved in too many other
projects of my own at the time.


The data was setup with BASIC to memory, and then I called my Z80 assembly driver for the critical timing, as TRS-80 Level II Basic was able to do this.

I know it has been spoken about in the past on the MaxiMite, a C call, but I have no idea if it could be done easily, or done at all.

Perhaps again, C may be the best and only way of achieving critical timing, or other specialized apps.

Now if I was just 40 years younger.

Don...



https://www.dontronics.com
 
elproducts

Senior Member

Joined: 19/06/2011
Location: United States
Posts: 282
Posted: 03:09pm 17 Jun 2012
Copy link to clipboard 
Print this post

A natural transition for many seems to be to start with a BASIC interpreter (BASIC Stamp, PICAXE, Maximite, etc) then move on to a BASIC compiler when more speed or specific embedded control is needed (PICBASIC, PROTON, MikroBasic, Great Cow Basic, etc) and then when you get really good at compiled code you want more than BASIC can offer and learn Embedded C.

You can always combine them in various projects and some never need to leave the interpreted world or the world of BASIC.

But in the professional world, it only seems to matter if you write in C. And that thinking seems to have trickled down to some hobbyists and beginners. Arduino kind of bridged a gap for many.

I still find BASIC a lot of fun and easy to learn and powerful enough for many applications but adding C to Maximite just seems to violate the natural order of things. And we haven't even begun to tap into what Maximite can deliver.
I just I had more time to play with it.

www.elproducts.com
 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 02:42pm 19 Jun 2012
Copy link to clipboard 
Print this post

I agree, Basic certainly keeps its popularity.
Although I am wondering, what happened to
the push for Logo and so on, for a while the trend
was to teach object-oriented IT as a starting point (?).

I suspect platforms are becoming virtual, ie, the intro
tuition will soon be based on an OS and language definition
rather than actual hardware. eg Linux I guess. (Sadly enough.
I have bad memories of workstations running Unix that would
simply choke when running out of memory - and then
require extensive file system repair if not shutdown cleanly.)
If nothing else, Apple engineers have made portable Unix
reliable I guess.

The flood continues :

http://blog.laptopmag.com/fxi-
cotton-candy-usb-computer-to-start-shipping-this-month

Perhaps a thread simply for new board news would be the go,
cheersEdited by chronic 2012-06-21
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 09:39pm 19 Jun 2012
Copy link to clipboard 
Print this post

I have memories of fitting enough... memory LOL
(And then it stayed up over a year, basically till a power outage.)

The Cotton Candy seems remarkably expensive!!

John
 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 02:00am 19 Jul 2012
Copy link to clipboard 
Print this post

While I remember it, a few days ago I saw a website with open-source
operating system and C etc for pic32's and so on, it was called "unison"
as I recall. Don't know if its good or bad, it was linux based
I think, some canadian IT mob (?). Might run on MM with a bit of
tweaking ??
 
elproducts

Senior Member

Joined: 19/06/2011
Location: United States
Posts: 282
Posted: 06:11pm 26 Sep 2012
Copy link to clipboard 
Print this post

I'm revisiting the topic of open source after finding out that the MakerBot team is taking their latest Makerbot 3D printer design closed source. They were one of the promoted great examples of open source and they benefited from the original open source rep rap machine. But after getting $10 million in venture capital they are now changing course.

On this same topic, I found this great blog post from Peerbhai Robotics about a CNC machine company named Lumenlabs. They made some of the most interesting CNC machines. I'm not sure if the owner got ill or if they had other business issues but it appears they've had to shutdown. What I do find most interesting in the blog post is this quote about open source in general.

From Peerbahi Robotics:

It’s also a big problem in the maker community.  I’ve seen so many wonderful robots at my hackerspace, whose designs and companies will go nowhere.  The problem is price.  Once your design is open source, you can’t charge enough to scale.  If you are popular enough a product, some yahoo will come in and rip off your design, undercutting your price.  You’ll always be stuck at the marginal point.


I really am trying to understand why so many people are so into open source. It appears it driven more by the ability to get something great at a cheaper price than advancing technology but when a technology does advance far enough, apparently the next step is to go closed source.

So is the idea to open source, get people to work for free advancing the open source design and then advance it a little further and close source it?
I don't think that is the intent of the open source community but it may be what is happening.
I'll have to watch closer how this unfolds.
With all the sub $15 Arduino modules from China and the recent design changes with 1.0 and DUE, how long before one of the Arduino variants goes closed source?

Here is the full blog about Lumenlabs:
http://peerbhairobotics.com/2012/08/23/lumenlab-micro-postmo rtem/
www.elproducts.com
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 07:33pm 26 Sep 2012
Copy link to clipboard 
Print this post

So.... people are tempted by sums like $10 million? You don't say!

Each person interested in / involved with open source has their own reasons. Trying to narrow that situation into a simple view is likely doomed to fail.

As I recall, open source was software. No costs of any size worth mentioning involved in making copies.

In some licences anyone can take it closed source, in others only the originators can. In yet others, no-one can. And so on. If these matter to you, choose licences carefully. (Amongst others, RMS has debated this.)

Oh - RMS = Richard Stallman.

JohnEdited by JohnS 2012-09-28
 
     Page 1 of 2    
Print this page
© JAQ Software 2024