V I R T U A L - B R E A D B O A R D

VBB is free to download with many useful features right out of the box including graphical programming, logic and breadboard layout. In addition there are several pay-for modules which extend VBB

VBB Module Description
Piping A graphical programming language free for use with VBB.
Arduino Toolkit Integrated Arduino Development with emulation, debugging and programming  
JARVIS Knowledge base of circuit designs which you can place into your circuit
COMMS Create virtual to real bridges using serial and ethernet connections
CDK Create components and interactive models to control
Firmata Control firmata boards from VBB or control VBB from firmata clients
PicMicro Instruction set simulator for many PIC12,PIC16,PIC18 devices
AVR Instruction set simulator for ATMega 328 device with Arduino IDE monitor
Fritzing Importer for Fritzing component library

Recent Articles and Tutorials

Using the Fritzing Component 21 July 2014

Netlists in VBB   25 June 2014

Resistors in VBB   22 June 2014

Arduino Options in VBB 15 June 2014


Featured Video

Latest News  

30 July 2014

Lets Boogie!

/portal/vbb/doc/Home/Boogie.png I have spent years trying to find the perfect language to become the native language for VBB. The original thinking was Java, and to support this I built an AOT java compiler for microcontrollers called muvium. In addition I integrated a Java runtime and debugging framework into VBB but.. yawn it just didn't stick.


Then along comes Arduino which is C made to look like java and wiola! There are other factors for sure but I have become convinced that it's the type-free programming that is really attractive to the typical Arduino and physical computing dudes ( and dudette's ). For more casual type programmers where the program is only part of the solution type-free languages really seem to be the bomb and bundling C with Java makes Arduino more type-free than java it'self which uses strict typing.


As a more or less full-on software guy I find type-free languages hard to live with because they introduce errors when software libraries need to work together but for scripting and 'hacking' the lower learning curve of type-free languages seems to be strongly prefered


While I have been able to run the java parts of Arduino in VBB using the java frameworks originally created for muvium, Arduino is not a perfect fit for the native language for VBB. After all Arduino is also C, a very CIL unfriendly language. What I need is a language that supports both CIL and JVM. Java using J# for CIL and javac for JVM was a good first effort but Java is not a type-free language and in addition Microsoft stopped supporting J# putting VBB on a clock to to deprecate J#  


My initial response was to develop a Visual Basic (VB.NET) Bytecode Generator which was released in VBB as VBee. This allowed me to experiment using Visual Basic as the native VBB language. But since Visual Basic became VB.NET it also lost alot of the type-free features that made the original VB6 and VBA popular. This has seen VB.NET become less popular over recent years so also didn't stick. Strike 2.


After some head scratching I found myself asking what has stepped up to replace VB6/VBA as the type-free Language of choice? Why Python of course.


However, Python is an interpreted language , not CIL and not JVM.. unless.. Enter Boo!


Amazing! Boo is exactly what I have been looking for and in recent months I have been integrating an embedded Boo version into VBB which I am calling Boogie

  • Boo is based on Python syntax but with critical differences essential for embeddable runtime
    • Boo is statically typed which means it uses smart analyses to add typing suitable for Ahead-of-Time-Compilation (AOT)
  • Boo compiles to CIL
    • Like J# I can use Boo to run embedded Boo applications emulated at full CIL speed in VBB
  • Boo compiles to Java Bytecode via Boojay
    • Like javac I can load Boo JVM code into the VBB Java Debugger framework
    • Muvium can compile and deploy the Boo generated JVM bytecode to embedded Muvium microcontrollers
  • Boo can bind .NET libraries for scripting components VBB and other scripting tasks
  • Future Proof
    • Cross-platform support for Mono when we finally make VBB fully mono compatible
    • Boo is a supported Scripting language in Unity for potential future 3D support in VBB


There is still alot of work to do to fully support tab-completion editing, in-circuit debugging and more but the first steps will begin in just a few days time with the release of 5.07. Get ready to Boogie!


More soon!


24 July 2014

VBB 5.06 Available Now! - Fixed some internationalisation problems introduced in 5.05

22 July 2014

VBB 5.05 Available Now!

This release is a big step forward for the SVG graphics engine and a much needed website clean-up. VBB uses a type of iterative development model where new features and product lines are released quickly to see what 'sticks'. It's a bit of a messy process but things are coming together now and each release iteration is sharpening the look and feel of the platform and filling in the gaps.


The big feature for 5.05 is the upgaded support for SVG sufficient to import most patterns that are produced from Illustrator and InkScape. This really opens up some fantastic opportunities. Importing Fritzing components is an important step but even more exciting is you can now import clipart and other graphics into the Component Development Kit for use with the VBB animation engine.


iGadgART - My inner artist has been patiently waiting for this because there is a whole art-form I have been wanting to explore. I called it Interactive Gadget Art or iGadgART and now VBB can be the development platform for this new artform. I have included one example of iGadgART in 5.05, it's called 'Feed Monkey' and it's a servo based animatronic that I am building for real also. It's a type of Virtual PET where when you press the FEED button , a servo controlled sequence of monkeys swings through the forest to grab the banana. My kids already love it but I will be adding sounds and maybe even virtual PET logic where you have to feed him to keep him happy. This is all part of the exploration of iGadgART and already I can think of countless projects to work on.

/images/info.png mouseover to feed monkey


How it works is you use the Component Dev Kit to create the model of the iGadgART and then you import the interface to that model onto a Breadboard and hook it up to an Arduino or a Piping Board. I have extended Piping to support Servo's and have included an example of using Piping to implement 'Feed Monkey'. This means everyone can preview iGadgART because Piping is free for everyone to play with. I have also included an Arduino version of the code but you won't see that until you have a Arduino Toolkit license. I am going to have to release a bunch of followup tutorials on how to 'roll your own' clip-art based components and much more so that's all coming up over the next few weeks.


Fritzing - Is a complementary Breadboard centric tool that has a nice library of SVG Breadboard component graphics which you can now use in VBB with the Fritzing Module. Read More ...   



Arduino Developer Bundle - Many of you have been asking about bundles and here it is! The Arduino Developer Bundle puts together everything the serious developer needs to really get their teeth into VBB

  • Arduino Toolkit
  • Component Development Kit
  • Fritzing Importer
  • Communications
  • Atmel AVR

All for $99! which is a less than half the price if you purchased seperately.

But wait there's more! -- For a very limited time you pick up the Arduino Developer Bundle for only $49 which is more than 75% off!


More News ...