A ceasefire in the Aduino wars?

Go To Last Post
25 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Arduino branches put aside differences to merge as one company.

 

The new branch, Arduino Holding, will distribute current and future products

 

http://www.electronicproducts.co...

 

https://blog.arduino.cc/2016/10/...

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Thu. Oct 13, 2016 - 07:16 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Interesting, I wonder who it was that 'banged their heads together' :)  ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So I wonder if they will now address Dean's grievance?

 

https://twitter.com/abcminiuser/...

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

valusoft wrote:

So I wonder if they will now address Dean's grievance?

 

https://twitter.com/abcminiuser/status/782489886490107904

 

Highly doubt it.

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Attorneys indecision

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've never understood the whole arduino thing anyway.

Apart from that I bought some from Ali, mainly because I wanted to help some friend which were starting with arduino and because I thought it was a quick way to get some small TFT's going.

After that I found out the horrible truth of what they did in the libraries to to beat a lcd into submission.

 

The worst part is because of the arduino  pin numbers.

Try to toggle a strobe pin to write data to a lcd with that.

So changing 2 lines gave over 3x the performance of the lcd:

#if 1	// 2016-04-13 Performance test. What is the difference?
	// >>> 10173124.0 / 17318724 = 0.5874060929662024 >>> 1/_ 1.7023997741500054
	// >>> 19753448.0 / 10173124 = 1.9417288140791364 >>> 1/_ = 0.5150049753339265
	#define WR_ACTIVE	(PORTC &= ~(1<<1))
	#define WR_IDLE		(PORTC |= (1<<1))
#else
	#define WR_ACTIVE  *wrPort &=  wrPinUnset
	#define WR_IDLE    *wrPort |=  wrPinSet
#endif

Second problem was the (not quite optimal :) pinout of the arduino. It just does not have an 8-bit port to use as an 8-bit databus to the lcd because the uart pins of the mega328 are reserved for arduino use.

(I still believe this is a big mistake on Atmel's pin assignment for the M8).

So I took out USBasp & flashed the chip with the serial port disabled & using PortD as a 8-bit port to the lcd.

This is what I ended up doing:

TFT LCD on Arduino

 

And instead of doing this:

#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined (__AVR_ATmega328__) || defined(__AVR_ATmega8__)
...
  #define write8inline(d) {                          \
	PORTD = (PORTD & B00101111) | ((d) & B11010000); \
	PORTB = (PORTB & B11010000) | ((d) & B00101111); \
	WR_STROBE; } // STROBEs are defined later

 #else // Uno w/Breakout board
... 
	#define write8inline(d) {		\
	  PORTD = d; WR_STROBE }
...
  #define write8inline(d) {                          \
	PORTD = (PORTD & B00000011) | ((d) & B11111100); \
	PORTB = (PORTB & B11111100) | ((d) & B00000011); \
	WR_STROBE; }
...
  #define write8inline(d) {                                              \
	PORTH = (PORTH&B10000111)|(((d)&B11000000)>>3)|(((d)&B00000011)<<5); \
	PORTB = (PORTB&B01001111)|(((d)&B00101100)<<2);                      \
	PORTG = (PORTG&B11011111)|(((d)&B00010000)<<1);                      \
	WR_STROBE; }
...
  #define write8inline(d)   { PORTA = (d); WR_STROBE; }
...
  #define write8inline(d) {                                                   \
	PORTE = (PORTE & B10111111) | (((d) & B10000000)>>1);                     \
	PORTD = (PORTD & B01101111) | (((d) & B01000000)<<1) | ((d) & B00010000); \
	PORTC = (PORTC & B01111111) | (((d) & B00100000)<<2);                     \
	PORTB = (PORTB & B00001111) | (((d) & B00001111)<<4);                     \
	WR_STROBE; }
...	
  #define write8inline(d) {                                                   \
	uint8_t dr1 = (d) >> 1, dl1 = (d) << 1;                                   \
	PORTE = (PORTE & B10111111) | (dr1 & B01000000);                          \
	PORTD = (PORTD & B01101100) | (dl1 & B10000000) | (((d) & B00001000)>>3) |\
								  (dr1 & B00000010) |  ((d) & B00010000);     \
	PORTC = (PORTC & B10111111) | (dl1 & B01000000);                          \
	PORTB = (PORTB & B11001111) |(((d) & B00000011)<<4);                      \
	WR_STROBE; }
...
  #define write8inline(d) { \
   PIO_Set(PIOD, (((d) & 0x08)<<(7-3))); \
   PIO_Clear(PIOD, (((~d) & 0x08)<<(7-3))); \
   PIO_Set(PIOC, (((d) & 0x01)<<(22-0)) | (((d) & 0x02)<<(21-1))| (((d) & 0x04)<<(29-2))| (((d) & 0x10)<<(26-4))| (((d) & 0x40)<<(24-6))| (((d) & 0x80)<<(23-7))); \
   PIO_Clear(PIOC, (((~d) & 0x01)<<(22-0)) | (((~d) & 0x02)<<(21-1))| (((~d) & 0x04)<<(29-2))| (((~d) & 0x10)<<(26-4))| (((~d) & 0x40)<<(24-6))| (((~d) & 0x80)<<(23-7))); \
   PIO_Set(PIOB, (((d) & 0x20)<<(27-5))); \
   PIO_Clear(PIOB, (((~d) & 0x20)<<(27-5))); \
   WR_STROBE; }
...
	#define write8inline(d) { \
		PIO_Set(PIOC, (((d) & 0xFF)<<1)); \
		PIO_Clear(PIOC, (((~d) & 0xFF)<<1)); \
		WR_STROBE; }
...		
 #endif
#else
 #error "Board type unsupported / not recognized"
#endif

... I would have had more respect for these guys & girls if they wrote:

#error "Sorry, only arduino's with an 8-bit databus supported."

The first "optimisation" (garbage removal?) had a far greater impact on performance than the second. (for the variant of write8inline() which I used).

For me it was the time I realized that AVR's just did not have the performance to fill a TFT lcd buffer with data at a reasonable speed and I ended up looking for another micro

 

Hi Dean,

I feel sorry for you.

Anything I can do to help?

 

 

 

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Nobody takes Arduino seriously, but it will be around long after the AVR is distant memory like the fabled Motorola 6809.

The Arduino system is primarily a knowledge amplifier posing as a teaching tool for "makers" and hobbyists.  Its format as an embedded-system development system is extended by its ability to bring all the expensive and divergent EmbedSys technologies and tools together into one accessible platform.

 

In EmbedSys development, you must:

-define the application.

-outline the application.

-develop an algorithm for the application.

-research the IC's needed by the application.

-develop and test methods to intersect with ICs needed by the application.

-research the best CPU for the application.

-write a basic test platform on the target CPU that intersects with the ICs needed.

-test and debug system hardware integrity.

-write the source code for the ap from the algorithm.

  - research and acquire pre-written code libraries for the CPU, sensors, and algorithm.

-compile the source into a file that can be directly loaded into the program memory of the CPU.

-obtain a device that will transfer the compiled and linked code to your CPU.

-test the ap and hardware with static data.

-test the ap and hardware with sensor data.

-read data/status and adjust parameters from a remote PC or terminal.

-calibrate the sensors in firmware for the datasheet params of the sensor type.

-acquire multiple identical units of the CPU hardware platform.

-calibrate the individual sensors on each hardware/firmware unit.

-test and debug alpha level firmware errors.

-integrate the hardware circuitry into a chassis package/container.

-alert and/or inform the projected user base of the availability of the new hardware solution.

 

Arduino systems handle all of the above except algorithm development and debugging.

And they do it far cheaper than anyone else can on any CPU.  In the coming years, the

Arduino system will transfer to the ARM.  But the same Arduino source code, with hopefully

minimal modifications, will compile, load, and run on the 32-bit CPU as it did on the 8-bit AVR.

Last Edited: Thu. Oct 13, 2016 - 11:56 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Simonetta wrote:

 In the coming years, the Arduino system will transfer to the ARM.  But the same Arduino source code, with hopefully

minimal modifications, will compile, load, and run on the 32-bit CPU as it did on the 8-bit AVR.

 

The main holdback here, has been the lack of 5V ARM's.

 

There are Arduino's now, with 5V ARMs from Nuvoton, who have quite a range 

https://direct.nuvoton.com/en/nu...

- from M0(5V) to M4(5V), and up to 300MHz/64MB DDR(not 5V)

 

and I see Toshiba has recently expanded their M4 series in 5V

http://toshiba.semicon-storage.c...

M4, 80MHz -40 to +105degC  4.5 to 5.5V  32 to 64 pins 64K to 128KB Flash 

 

& and even Microchip(Atmel) has recently added 5V ARM (but no USB versions yet ?).

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Valusoft: So I wonder if they will now address Dean's grievance?

>> Dean:  Now that has made up with Arduino SRL, should I send the latter a bill for stealing my bootloader code without attribution/license?

 

Huh.  That's pretty sucky.   Just Arduino.org (SRL)?  I see that Arduino.cc doesn't send much attribution Dean's way either.  (OTOH, from blog entries, it sounds like they paid up?  It's a vaguely interesting situation, to see LUFA in use by various vendors but not really have any way to check whether they're using it "legitimately."  None of the Arduino sites actually do much in the way of "supporting documentation" for either the bootloader or the USB/Serial chip, so I'm not quite sure where attribution should show up...

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Who-me wrote:
 'banged their heads together' 

Exactly the words that sprang to my mind when I first saw the headline!

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It's simple, someone made someone else "an offer they couldn't refuse".

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Who-me wrote:

Interesting, I wonder who it was that 'banged their heads together' :)  ?

 

You know "who-not-you" laugh .

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

And I am afraid that will rise copyright problems regarding Arduino socket...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am still a bit puzzled about this announcement. It appears that far from unifying Arduino into one organisation, they have agreed to formalise the current split into a hardware company and a software company. The agreement appears to be about sharing the Arduino brand name, so will "Genuino" disappear? Will the hardware company pay money into the software side? As usual with Arduino, the details are obscure.

 

For the user who neither knows nor cares about the internecine struggles, the key point will be a single IDE supporting all Arduino boards.  I hope so anyway, the announcement doesn't spell that out.

Bob. Engineer and trainee Rocket Scientist.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am still a bit puzzled about this announcement.

 It does leave a lot of questions unanswered.  And it does seem a bit like the "wrong group" won, if you consider "gets direct access to the profits to be made by selling arduino hardware" to be "winning."

I think that the software group becoming a non-profit entity is probably good for customers/etc in the long term, but I'm not sure whether it's good for THEM.  Who knows how many of the people who have been working their butts off working on the IDE and core (even if that only consisted of vetting and merging code from "the community") were dreaming of getting rich off of the IPO, which now seems unlikely to ever happen.   OTOH, it should make getting "donations" from various places a lot easier...   I await further developments.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

westfw wrote:
if you consider "gets direct access to the profits to be made by selling arduino hardware" to be "winning."

 

With the Schematic, PCB files and the Chinese knockoffs available where is the profit?  My local Radio Shack is selling the Arduino stock it has on 70% off clearance because no one was going to pay the enormous RS markup.  Much of the gear has sat for over a year so they now must sell off the stock as a loss.

 

Free software, open sourced hardware = what profit, if any?

 

JIm

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It's been very frustrating at work. I did a product recently that uses Arduinos, and they bought a stack of the "wrong" ones. Apart from my personal feelings about the matter, the fact that the ORG version had its own IDE version that didn't work as well (it was missing a bunch of common libraries, presumably because of licensing) which made troubleshooting hell. Having to do the "there's two Arduino's, and here's why one of them sucks" speech a hundred times got old fast, too.

 

Arduino CC paid for a LUFA license, so they're essentially golden distributing the bootloader in their products without attribution. A billion other clone vendors just use the same binaries without payment or attribution, which is inevitable so I don't get upset about it, but I was particularly galled by the ORG guys just ripping everything off wholesale under the guise of "being the genuine article". It's hard to see the good in someone when they're blatantly stealing code, binaries, contributions and art assets from thousands of people with the excuse being some petty internal struggle. In my opinion unless they repaid everyone for their assets they're just a bunch of crappy thieves.

 

That said, it turns out that everything Arduino is just a bunch of companies stealing everything that's not nailed down from one another, so I can't complain too bitterly.

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Dean,

 

Welcome back to the "fold". You have been missed.

 

Speaking of ripoffs... did you see Jon Oxer's twitter post about Jaycar ripping off his product?

 

https://twitter.com/search?q=fre...

 

Cheers,

 

Ross

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why are people complaining about ripoffs? Isn't this the nature of open source?

 

And remember: According to one of my Chinese colleague China has Copyrights, the rights to copy anything! devil

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

> Welcome back to the "fold". You have been missed.

 

If they ever invent cloning, on of me will have to man the forums here while the other works and sleeps the way I do now :S.

 

> Speaking of ripoffs... did you see Jon Oxer's twitter post about Jaycar ripping off his product?

 

Second link of my post, saw it last night. That's just amazingly brazen on Jaycar's behalf, since they were the exclusive distributor of the kit they commissioned the ripoff for.

 

> Why are people complaining about ripoffs? Isn't this the nature of open source?

 

I expect more from a brick and mortar store, who decided to wholesale copy the design and assets of a third party kit they have the exclusive distribution rights to. Just because something is open source doesn't make it free to clone - there's a multitude of open source licenses each with different distribution restrictions.

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

About time.

 

Folk and money together not good for anyone. 

Lets build people.

 

Drop it Dean be the bigger man.

No one ever pays me!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

westfw wrote:
I think that the software group [Arduino Foundation] becoming a non-profit entity is probably good for customers/etc in the long term, but I'm not sure whether it's good for THEM.
Typically, executives and/or the board will say.

CEO to a shareholder, "Sit down and shut up!"

Infiltration can occur via a board member.

Olimex at Wordpress

What happens with Arduino project?

28 Jun 2017

https://olimex.wordpress.com/2017/06/28/what-happens-with-arduino-project/

...

Last year the problems have seemed to be resolved and Arduino Foundation was created and this was announcement as “new beginning”, but meantime some bothersome things were noticed by Open Source community.

(1. incomplete OSHW, 2. Arduino Foundation)

...

... [Arduino Holdings CEO] who seems to own major shares in the new formed Arduino foundation.

...

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Arduino have always been a bit ambivalent about Open Source, they walk a line between being fully Open Source and not making it too easy for cloners to create poor quality copies. In the early days, there was a fuss about use of the "Arduino" trademark, and also the non-open Arduino bootloader. arduino.org have always had a few products with closed blobs, no one really seems to have minded much.

 

So nothing much has changed at Arduino in that respect. But now, it seems that Adafruit are not happy with the new Arduino organization, specifically they don't trust Federico Musto, who was caught lying about his degrees. Limor Fried [aka LadyAda] seems to have taken a personal dislike to Musto, since she worked hard to get a real degree at MIT. Adafruit have created a campaign to "Free Arduino", which seems to amount to Phil Torrone from Adafruit creating a background nuisance for Arduino, but I can't see it going anywhere. The vast majority of Arduino users don't care about the nuances of Open Source licenses.

 

Unfortunately, to the outsider, it just looks like Adafruit are creating trouble for another Open Source company for no particularly good reason, and one they depend heavily on for the Arduino ecosystem. Cynical observers might think there are a few companies in the Arduino clone business who are worried about access to the cash cow, and also maybe would quite like to get a bigger share of the "Arduino pie". Even if companies are Open Source, money has a big influence.

 

Massimi Banzi has stated that the intention is that all Arduino products are Open Source, so it all seems like a storm in a teacup.

Bob. Engineer and trainee Rocket Scientist.

Last Edited: Tue. Jul 11, 2017 - 10:20 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:
The vast majority of Arduino users don't care about the nuances of Open Source licenses.

I think, in general, the vast majority of all users don't care about the nuances of Open Source licenses

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:

 Federico Musto, who was caught lying about his degrees. Limor Fried [aka LadyAda] seems to have taken a personal dislike to Musto, since she worked hard to get a real degree at MIT.

 

I don't blame her. Surely most of us have worked hard for our qualifications. When I was approached about 8 years ago by a student from the sub continent "studying" in the UK  to write his Masters Thesis I reported him to his supervisor. The supervisor after investigating found that the student had gotten most of his written work done for him by others via the RentaCoder website. He was expelled from Uni and as such his student visa was cancelled and he was forced to leave the UK. He is probably selling kebabs in Karachi now.

Ross McKenzie ValuSoft Melbourne Australia