WebbotLib News

RSS Feed
WebbotLib Studio Version 1.14
Tuesday 14 October 2014

Version 1.14 has been released with the following features:-

  • Some re-factoring around hardware programmers and software bootloaders
  • Add support for the Atmel Avr Dragon using ISP
minimize WebbotLib Studio Version 1.14
WebbotLib Studio Version 1.13
Sunday 28 September 2014

Version 1.13 has been released with the following features:-

  • The previous download logic meant that you could end up with multiple download dialogues when installing from scratch. This has now been fixed and should be simpler for end users. If you have any download issues then let me know.
  • Using avrdude, particularly on Windows, was a bit problematic !!  WebbotLib Studio now sends you here to download any required 3rd party software.
minimize WebbotLib Studio Version 1.13
WebbotLib Studio Version 1.12
Sunday 21 September 2014

Version 1.12 has been released with the following features:

  • The online help is now rebuilt properly irrespective of your local PATH settings. Note that the available Help is 'per workspace' and will only show the help for core WebbotLib plus the devices you have chosen to download to the workspace. This avoids giving help on boards/devices that you do not use.
  • The table displaying devices used by a board or project now support dag and drop. You can use this to re-order the items in the same list and therefore the order in which the devices are initialised at power up. You can also use it to copy device set up from one project to another. For example: a complex biped robot project may use a large number of servos with a lot of set up info (ie range/center of each servo and the pin connections) that you want to re-use in another project. You can now drag the servo bank from the source project to a different project.
minimize WebbotLib Studio Version 1.12
WebbotLib Studio Version 1.10
Monday 21 July 2014

Version 1.10 has been released with the following features:-

  • All of my devices have been updated to generate up-to-date offline help. See Help|Documentation
  • When adding/editing a given device to your board/project the 'Docs..' button now shows the WebbotLib Studio documentation rather than the old WebbotLib documentation - including any documentation created by 3rd party device driver authors.
  • Various bug fixes when editing devices
minimize WebbotLib Studio Version 1.10
WebbotLib Studio Version 1.09
Monday 05 May 2014

Version 1.09 has been released with the following features:-

  • When working on a Project there is a new Files tab to allow you to open the source code for any file included by the Project.
  • Offline documentation is now generated for each workspace based on the devices that you have choosen to download.
  1.  Existing users with existing Workspaces should select 'Site | Download' and step through the Wizard to the 'Documentation' stage and then click the 'Create' button.
  2. Documentation can then be viewed by selecting 'Help | Documentation'. 
  3. 3rd party device publishers should make sure that their header files contain the relevant Doxygen documentation to assist their users.
  4. I also need to work on the documentation for my own devices by annotating the header files with Doxygen comments. These will be released individually as and when they are done.

minimize WebbotLib Studio Version 1.09
Ever Wondered How To Debug Code for a small I2C Slave Device
Tuesday 18 February 2014

So your problem is that you are trying to write some code to run on, say, an ATtiny85 that is acting as an I2C slave - perhaps to control a servo or some NeoPixels. Without the cost of JTAG how do you debug the code?

We came up with the following solution - not 'rocket science' and 'obvious maybe' when you think about it.

Our problem was to write code for an ATTiny85 which would listen on the I2C bus and control a string of high power LEDs. The ATtiny85 only has a USI - not a proper UART-  so its hard to dump any debug messages plus its easy to bloat the code and run out of space on this small chip. So how to do it?

  1. Use a bigger board which has various 'on board' gadgets or multiple UARTs like the Axon or, better, the Axon II.
  2. Split the resources of the board in half (mentally - not with a hacksaw!).
  3. One half (acting as the Master) is connected to your favourite computer terminal software to accept keyboard commands and send back messages to be displayed. It also uses two pins to define a software I2C bus.
  4. The other half (acting as the Slave) has the hardware I2C bus, the IO pins to talk to the LEDs, and either another UART for sending debug messages or the 8 Segment LED built onto the Axon II board.
  5. Now all we need to do is to connect the two I2C ports together as if they were seperate boards - you will need to add pullups from both the SDA and SCL lines to 5v using, say, 4k7 resistors.
  6. Create your project with each of these options set up. Your main loop should then have the code for both the master and the slave.
  7. Test and debug all one board !
  8. Once you've got it working. Create a new project for the ATtiny85 and only add the LED devices. Copy and paste the slave code in and remove any debugging stuff. 
  9. Create a new project for the Axon and only add the devices used by the master. Copy and paste the master code in.
  10. Change the two I2C wires so that they connect the I2Cpins on the different boards. You will either need to continue using the external pullups or, alternatively, the master can now use the hardware I2C in which case Studio will tell you whether you need the external pullups or not.

And there you go.

WebbotLib Studio makes it so easy due to the fact that it generates and uses the correct code (believe me - it is different) for the ATtiny85 once moved off the Axon. No need to rewrite anything.

minimize Ever Wondered How To Debug Code for a small I2C Slave Device


Enter your details and, if approved, I will email you back with an approval message.

First Name
Last Name
SoR name