go_away

Author Topic: Webbotlib vs. Arduino  (Read 1306 times)

0 Members and 1 Guest are viewing this topic.

Offline ErikYTopic starter

  • Robot Overlord
  • ****
  • Posts: 186
  • Helpful? 0
Webbotlib vs. Arduino
« on: July 26, 2012, 06:36:22 AM »
I am trying to get some perspective on the pros and cons of each.

I obviously understand that Arduino also includes the hardware, so I suppose I am really referring more to the libraries.

I am playing with both right now, I bought a very cheap used arduino to experiment with it, and found it incredibly easy to get up and running, within a half hour I had blinking LED's and PWM going on 2 modified servo's.

My guess is that Arduino is not as flexible as Webbotlib, however it is far more mature and has incredible support.

when I say flexible, I guess I mean more ability to customize to your own needs, more ability to integrate with "non arduino" devices, but I may be dead wrong, this is why I am posting.

I feel like I need to commit to one of the two, as I clearly prefer the ATmega series over anything else, and I love the idea of the library.

So, if anyone could chime in with their thoughts, it would be great to hear some with more robotics experience chime in.

Offline Mr.M

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Re: Webbotlib vs. Arduino
« Reply #1 on: July 26, 2012, 08:40:47 AM »
I wouldn't consider myself an "expert" on robotics, but I've had my experience with both.  Arduino is quick and easy, but learning on Arduino you (at least I do) have a tendency to copy and paste code without knowing what it actually does or what is going on in the background. While webbotlib uses the c language which is pretty much the standard in robotics and programming in general. Webbot is also Arduino compatible.
My final verdict is that Arduino might be easy and quick but its definitely beneficial to learn webbotlib. It might be a bit more difficult to learn but it will help in the long run.

I always say if your going to take the time to learn programming, use the language that's most used.  I hope I helped, at least a little.

Offline Webbot

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,132
  • Helpful? 109
Re: Webbotlib vs. Arduino
« Reply #2 on: July 26, 2012, 01:22:02 PM »
Obviously I am biased but here's the honest truth on the history/future of WebbotLib....and remember I don't have anything against Arduino.

When I started using (AVR) micro controllers it was good to learn how to do all the low-level stuff with timers, uarts, i2c etc etc. But as I kept creating new projects it was a pain to have to re-invent the code every time - or use the dreaded 'cut and paste' method which meant that if you found a bug you had to fix it in every place you copied to. Hhhmm - a library sounds good - write once use anywhere. So I started with a small C++ lib (its still in the Member Tutorials on this site). As time passed I had more and more stuff I needed to re-use, the library got bigger, and I decided to launch it on SourceForge and WebbotLib was born.

Why SourceForge? Well the idea was for it to be 'open source' so other developers could contribute code for new sensors, motor controllers etc. Unfortunately no-one ever signed up to become a 'co-developer' probably cause it sounds like you are making a time commitment. So it's still all down to me.

Having created and published a large library it then took me forever to create some documentation explaining how to use it. But the nagging issue was that you would still get support requests for people saying 'I want to generate hardware PWM on pin 25 but WebbotLib doesn't let me'. Answer: 'yep - the micro controller cannot provide hardware PWM on pin 25 !!'. So it was obvious that whilst people were gaining understanding of the library - they still suffered by some lack of knowledge of the hardware. So the next step was Board Designer (BD) and Project Designer (PD) to give people visual tools along with tools like Auto Route in PD so that you could throw your requirements into the project and let Auto Route work out the optimum pins to use for each device. This is certainly unique to WebbotLib - ATmel themselves have also added support for 'their boards' to AVRStudio Version 5/6 (more later).

I had a look at Arduino and it is incredibly small and quite simplistic in what it does - with all of the real work done by 3rd parties releasing their own sketches. It's almost like a portal with The Community doing most of the work. It also still uses a lot of cut'n'paste. For example: the code for a given device may default to using certain pins - which it can do because the hardware is 'known and limited'. But if you want multiple instances of the device or use different pins then you have to modify the source code for the device. So 'version control' still goes to pot as you are cut and pasting code all over the place and modifying it.

So I got to thinking ... ok well if folk wont join up as developers of WebbotLib on SourceForge then I need a new paradigm - called WebbotLib Studio - which should be released later this year.

So what is WebbotLib Studio (WLS)?
  • Most importantly - it builds on everything I have done before - so knowledge gained in WebbotLib will still be valid
  • It has an IDE (Integrated Development Environment) just like Arduino does - but has a lot more features.
  • It allows anyone to create their own board designs, projects, and even new devices (plugged in to PD) and standalone libraries.
  • It allows anyone with a website to publish/share their own board designs, projects, devices and libraries.
  • It knows what has been published and so can prompt you to download new versions or new boards/projects/devices/libraries if you need them - ie no need to hunt forums for the stuff you need.
  • Like Arduino its all in Java so works on Windows, Unix, Mac etc.
And more ... but especially - it will also allow expansion into more than just AVR - ie ARM or PIC, say


A recent player, and one you should add to your list, is ATmel AVRStudio 6. This has a more traditional 'expert developer' gui because its built on top of Microsofts C/C++ platform. Lots of nice gui/IDE functionality. Windows only and may be too daunting for a newbie developer.

So here is my comparison (although admittedly its based on the yet-to-be-released WLS):-
  • WLS has a rich IDE fitting in between the very tired Arduino IDE and the more glossy AVRStudio6 IDE
  • WLS runs on many operating systems, as does Arduino, but AVRStudio only runs on Windows
  • WLS supports lots of AVR chips and allows you to create your own boards. Arduino means you need an Arduino board. AVRStudio6 supports ATmel boards - or at least ATmel chips
  • WLS has features to support other hardware architectures (ARM/PIC etc)- not just AVR. Arduino is just AVR to their design. AVRStudio is just AVR chips
  • WLS allows you to publish code for new devices and libraries, board and project designs - and knows what is on the web that you don't have installed. So very easy to find a solution to your problem. Arduino seems to require you to search their site, download and potentially modify. AVRStudio6 seems a lot more closed
  • Webbot has no vested interest in WLS or what it supports (ie I ain't got nothing to sell). Presumably Arduino have an interest/control over the boards they deem 'official'. AVRStudio6 is ATmel trying to persuade you to buy their chips.
  • Arduino has 'good support' largely because its done by The Community. AVRStudio is very closed. WLS will be much more of a community - ie contact the folk who published the thing you are having problems with

So that's my thinks. Obviously I am a 'one man band' up against large orgs like ATmel and Communities like Arduino - and I have to do it in my spare time. So 'long live WLS'  :D and I hope you will end up contributing work, grow The Community blah blah....

Someone mention ARM? Got my very cool/cheap Raspberry Pi so that's next on my list ......
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline ErikYTopic starter

  • Robot Overlord
  • ****
  • Posts: 186
  • Helpful? 0
Re: Webbotlib vs. Arduino
« Reply #3 on: July 26, 2012, 01:45:58 PM »
Obviously I am biased but here's the honest truth on the history/future of WebbotLib....and remember I don't have anything against Arduino.

When I started using (AVR) micro controllers it was good to learn how to do all the low-level stuff with timers, uarts, i2c etc etc. But as I kept creating new projects it was a pain to have to re-invent the code every time - or use the dreaded 'cut and paste' method which meant that if you found a bug you had to fix it in every place you copied to. Hhhmm - a library sounds good - write once use anywhere. So I started with a small C++ lib (its still in the Member Tutorials on this site). As time passed I had more and more stuff I needed to re-use, the library got bigger, and I decided to launch it on SourceForge and WebbotLib was born.

Why SourceForge? Well the idea was for it to be 'open source' so other developers could contribute code for new sensors, motor controllers etc. Unfortunately no-one ever signed up to become a 'co-developer' probably cause it sounds like you are making a time commitment. So it's still all down to me.

Having created and published a large library it then took me forever to create some documentation explaining how to use it. But the nagging issue was that you would still get support requests for people saying 'I want to generate hardware PWM on pin 25 but WebbotLib doesn't let me'. Answer: 'yep - the micro controller cannot provide hardware PWM on pin 25 !!'. So it was obvious that whilst people were gaining understanding of the library - they still suffered by some lack of knowledge of the hardware. So the next step was Board Designer (BD) and Project Designer (PD) to give people visual tools along with tools like Auto Route in PD so that you could throw your requirements into the project and let Auto Route work out the optimum pins to use for each device. This is certainly unique to WebbotLib - ATmel themselves have also added support for 'their boards' to AVRStudio Version 5/6 (more later).

I had a look at Arduino and it is incredibly small and quite simplistic in what it does - with all of the real work done by 3rd parties releasing their own sketches. It's almost like a portal with The Community doing most of the work. It also still uses a lot of cut'n'paste. For example: the code for a given device may default to using certain pins - which it can do because the hardware is 'known and limited'. But if you want multiple instances of the device or use different pins then you have to modify the source code for the device. So 'version control' still goes to pot as you are cut and pasting code all over the place and modifying it.

So I got to thinking ... ok well if folk wont join up as developers of WebbotLib on SourceForge then I need a new paradigm - called WebbotLib Studio - which should be released later this year.

So what is WebbotLib Studio (WLS)?
  • Most importantly - it builds on everything I have done before - so knowledge gained in WebbotLib will still be valid
  • It has an IDE (Integrated Development Environment) just like Arduino does - but has a lot more features.
  • It allows anyone to create their own board designs, projects, and even new devices (plugged in to PD) and standalone libraries.
  • It allows anyone with a website to publish/share their own board designs, projects, devices and libraries.
  • It knows what has been published and so can prompt you to download new versions or new boards/projects/devices/libraries if you need them - ie no need to hunt forums for the stuff you need.
  • Like Arduino its all in Java so works on Windows, Unix, Mac etc.
And more ... but especially - it will also allow expansion into more than just AVR - ie ARM or PIC, say


A recent player, and one you should add to your list, is ATmel AVRStudio 6. This has a more traditional 'expert developer' gui because its built on top of Microsofts C/C++ platform. Lots of nice gui/IDE functionality. Windows only and may be too daunting for a newbie developer.

So here is my comparison (although admittedly its based on the yet-to-be-released WLS):-
  • WLS has a rich IDE fitting in between the very tired Arduino IDE and the more glossy AVRStudio6 IDE
  • WLS runs on many operating systems, as does Arduino, but AVRStudio only runs on Windows
  • WLS supports lots of AVR chips and allows you to create your own boards. Arduino means you need an Arduino board. AVRStudio6 supports ATmel boards - or at least ATmel chips
  • WLS has features to support other hardware architectures (ARM/PIC etc)- not just AVR. Arduino is just AVR to their design. AVRStudio is just AVR chips
  • WLS allows you to publish code for new devices and libraries, board and project designs - and knows what is on the web that you don't have installed. So very easy to find a solution to your problem. Arduino seems to require you to search their site, download and potentially modify. AVRStudio6 seems a lot more closed
  • Webbot has no vested interest in WLS or what it supports (ie I ain't got nothing to sell). Presumably Arduino have an interest/control over the boards they deem 'official'. AVRStudio6 is ATmel trying to persuade you to buy their chips.
  • Arduino has 'good support' largely because its done by The Community. AVRStudio is very closed. WLS will be much more of a community - ie contact the folk who published the thing you are having problems with

So that's my thinks. Obviously I am a 'one man band' up against large orgs like ATmel and Communities like Arduino - and I have to do it in my spare time. So 'long live WLS'  :D and I hope you will end up contributing work, grow The Community blah blah....

Someone mention ARM? Got my very cool/cheap Raspberry Pi so that's next on my list ......

Webbot, thanks for taking the time.

This all makes perfect sense, and honestly I figured you had to be building or at least thinking of an IDE. After having done everything you have done, that would make sense.

I think the IDE will be awesome, and if you need beta testers, I would be happy to test!

Offline bcarroll

  • Beginner
  • *
  • Posts: 1
  • Helpful? 0
Re: Webbotlib vs. Arduino
« Reply #4 on: September 10, 2012, 01:55:50 PM »
Will WLS support the TI Launchpad?

Offline Webbot

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,132
  • Helpful? 109
Re: Webbotlib vs. Arduino
« Reply #5 on: September 11, 2012, 01:22:28 PM »
Will WLS support the TI Launchpad?

Quick answer: No - I don't have one - so not from day one. But don't despair - its a question of supply'n'demand so someone may get around to it if its worth the effort (as in enough users).
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline Invicta

  • Full Member
  • ***
  • Posts: 65
  • Helpful? 1
Re: Webbotlib vs. Arduino
« Reply #6 on: November 06, 2012, 08:09:09 AM »
@Webbot

Webbotlib Studio sounds great, especially with all the tools needed including a bootloader in one place. Are you still on schedule for release by the end of this year?

 


Get Your Ad Here