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
GrapeVine A graphical programming language free for use with VBB and Boogie-Board.
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

Why Managed Embedded For VBB

Using VBB with Arduino IDE 8 Sept 2014

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

13 October 2014  

5.09 Available Now  

What's New

  • WS2818 - Awesome RGB L.E.D with integrated driver
  • AdafruitNeoPixel library support for arduino to drive WS2818
  • Two new Arduino examples using Adafruit_NeoPixel to drive WS2818
    • TestStrand
    • Googles


13 October 2014  

duino's Dream

The last few days I have been back in film making mode. This time instead of a 'explainer' type video I made something more like a short film. It's called duino's Dream and it's based on the film 'the matrix'. Spoiler Alert! - duino wakes up to find he is in a matrix of his own and his reality is created by electrical signals created by a VirtualShield. Like morpheous said..  

What is real? How do you define 'real'? If you're talking about what you can feel, what you can smell, what you can taste and see, then 'real' is simply electrical signals interpreted by your brain.

Morpheous - the matrix

7 October 2014  

Sprint14 Hackathon  

Over the weekend I participated in the Sprint14 Hackathon and won the runner up prize - not too bad for an idea I had only during the week and with a random team. It was a good opportunity to put BoogieBoard programming and VZ-Shield PCB manufacturing through its paces and I will write more about it soon in a special hackathons section. Actually we had alot of fun with this simple hack and I think I am going to take the idea forward as an experiment on product cycles that go directly to customers via crowdfunding. As I get more engaged with the whole startup, hackathon, meetup community the focus always seems to be on getting investors. All the energy seems to go into business models, pitches, demos, competitions all to get an 'investor'. Seems to me there is alot of energy wasted on things other than the actual product invention and customer feedback driven product iteration. Crowdfunding seems to offer something different. How about just focusing on the product and pitch directly to customers? Crowdfunding is not completely new but its not yet mainstream behind the scenes it seems. I suppose it's more 'scary' to pitch to 1:10000++ in public and risk an epic public failure than it is to pitch 1:1 behind closed doors.

So will it work? How does it work? What can we learn about crowdfunding? Lets find out! More soon.

/portal/vbb/doc/Home/Sprint14Hackathon.PNG Yours truly (seated) overseeing data collection to prove the concept.

3 October 2014  

New Tutorial Switch L.E.D

  • Switching a L.E.D with a DIP switch
  • Selecting and moving component groups
  • if.. else statement
  • Boolean Expression format
  • pinMode(INPUT) function introduction
  • digitalRead() function introduction

2 October 2014  

New Tutorial Blink L.E.D

  • Blinking a L.E.D
  • Using View Panels
  • Drag-and-Drop Design Sheets into View Panes
  • Setup/Loop Code Template
  • Organising code with Tabs
  • Selecting the Current Design Sheet

1 October 2014  

5.08 Available Now  

It's late and I have had enough! Time to just Ship It..  

What's new is Boogie! I will write more tommorrow but my tip for now is to start following along the tutorial series.

Hello World

Hello Real World

Test LED

The plan is to do a tutorial a day up until the kickstarter.. should be fun.

26 September 2014  

The Need for Speed  

Everyone knows the only language for embedded is 'C' and to prove the point the first comparisons made with any new language showcase the for loop which is probably the strongest part of C and often the weakest part of a managed languages. Boo is statically typed and Boogie is ahead-of-time compiled by Muvium so of course the first thing I wanted to do is to add a bytecode optimiser packer for the Boo for range() enumerator function.

The most common benchmark I have seen is how fast you can toggle an output pin. Here is the code using the for range loop to toggle a pin 1 million times. This short code segment shows also shows off how to directly access Special Function Registers which gives you the power you need to manipulate the real world.  

    mark as long = millis()
    //Fastest : 378ms
    for x as long in range(1000000):
      PIC18.LATCbits.RC3 = 1
      PIC18.LATCbits.RC3 = 0
    println( millis() - mark )

The results speek for themselves. 378 milliseconds for 1 million toggles of an IO pin on a 16MIP 8-bit PICMicro microcontroller core. Ok, so I have tuned performance for this specific pattern but that's kind of the point. Boogie has speed when you need it and the high level language features that make your code easy to develop.

12 September 2014  

Why Managed Embedded For VBB  

The problem I am trying to solve for VBB is how to lock together the emulated and deployed application so they are the same thing and not have to deal with conversion friction which reduce the value of the emulation.

It's proven useless trying to emulate unmanaged system applications. Not because of the difficulty of simulating the CPU's, we have AVR and PIC simulated cores already. Its because microcontrollers don't stand alone and its too hard to simulate the entire world at a waveform level.

Learn More...   

11 September 2014  

Boogie Sneak Peak

Today I finished working through the Boojay JUnit test suite to verify the Boogie implementation and except a handful of minor exceptions Boogie passed the more than 100 test suite covering a wide variety of language constructs. The categories include arrays, assorted, autocasting, builtins, callables, crossplatformability, expressions, generators, macros, statements and types give you some idea of the richness of Boo. I am preparing a release test report and will be re-running and extending the suite each release to validate correctness.

To clear up the names :

Boo The language which is basically a statically typed version of python
Boojay Java Cross compiler for Boo which generates java bytecode from Boo syntax
Boogie Muvium Java runtime framework binding Boojay with an Arduino IO framework on an embedded device  
Boogie Board Arduino footprint development board programmable in Boogie and other Muvium languages
Muvium Ahead-of-time java compiler for highly constrained embedded devices (down to 8-bit)

I have also just about completed the integration of Boogie into VBB and with the backend up and running will be able to release a preview version this weekend. Check out the sneak peak - Spot the Pythonesque capabilities..


( PS - Last days for the summer deal on the Arduino Developer Bundle )

8 September 2014  

Using Arduino IDE Tutorial

VBB supports integrated Arduino development using the Arduino Toolkit but this requires the conversion to-and-from java. There are several ways in which VBB also supports working side by side with the Arduino IDE. This tutorial shows how to setup a project to work side by side with the Arduino IDE using the JARVIS Arduino code generator. Learn More... 8 Sept 2014


5 September 2014  

Unit testing Boo - Progress Report

I have been promising all sorts of write up's and their coming but this week I have been in the 'zone'! I think it's fresh energy from the Hackathon and all the boxes I had to tick to make that happen cleared the decks for attacking the muvium Boo port this week. I have never used Python before but Boo is a fantastic interpration of Python that is ideal for embedded because of it's static compilation. To make this happen I have been working with Boojay which is the Boo java bytecode emitter and porting the back-end language support to suite small footprint implementations.


It's electifying to see Boo compiling to bytecode and then muvium squeezing into a tiny micro and executing with the performance of C. One of the best things about Boojay is the unit test suite which I have integrated into the muvium junit test harness to verify the implementation. The muvium Junit harness allows you to target a suite of java tests and dynamically compile the test, program the board and compare the expect result. In the process I am learning so much about Boo because I am inspecting the bytecode emitted by various Boo(Python) language constructs and understanding how the language is helping simplify concepts to make things easier. A fan in the making I think..


I am about half way through the test suite.. I really will write all this stuff up but right now I am just trying to ride the energy boost to accelerate the integration of Boogie into VBB and bring forward the KickStarter so you guys can get your hands on a Boogie Board of your own ASPAP. In the meantime here is some Junit eyecandy..



1 September 2014

What a week! One of the reasons I get involved in events like the hackathon is to set deadlines to help me accelerate development. In the hackathon I wanted to have the VBBExpress PCB's ready and integrate WaveRaster into VirtualBreadboard for use with Boogie Boards. Getting all that ready in time was really a push but that's what it's all about!


My idea for the hackathon was called 'FunQ' which is the gamifaction of the waiting queue. The idea is people waiting in a queue connect to and control themed iGadgART with their phone using WaveRaster as they move along a queue. We had quite some fun and I will do a complete write up about it in the next few days.


Today I want to show you what a VZ-Shield looks like because I am extremely excited and happy with the result. I have been working on this concept for years now. I think it can completely revolutionise DIY micro manufacturing and when I combine it with J.A.R.V.I.S your circuits will just about make themselves!


So here it is - the very first VBBExpress board. It's a VZ-Shield routed to drive 8 Servo motors with a LED, Pushbutton and optional power regulator. Right now I am putting together a tutorial on how you can make your own VZ-Shields but I couldn't wait to give you this peek. Cool huh!


25 August 2014

Science Hack Day Eindhoven 29-30 August 2014


Join Me if you can to field test the new VBB stuff and I promise to shower you with free tools! I am going to a field trip to the Science Hack Day to find out for myself what this Hackathon gig is all about. The plan is to apply VBB/Arduino/BoogieBoards/WaveRaster/iGadgART to do something cool. Not sure what yet, only signed up today. Those who can join my team will get hands-on VBB workshop, VBB licenses, dev boards, first look at the rapid PCB manufacturing and a shot at some cash if we can come up with something cool to make!. Hope to see you there.


22 August 2014

So back from vacation and getting back on track. This week I have been busy setting up the very first VBB custom FAB board the VZ-Shield

This is an AutoRouting Shield which you will be able to order for only $10 shipped same day when before the daily manufacturing deadline. The first project I am building to demonstrate the VZ-Shield is a board to support the Feed Monkey project which requires 8 servo connectors and button and light connectors. The VZ-Shield is based on the standard Breadboard pattern with special support for powered 3 pin connectors typical of servo's and other analog sensors and actuators. Below you can see how the 3 pin connectors are used ( this version of VBB will be available next week ).


I will walk through the whole process next week and also the additional features of the board but basically you just wire it up in VBB and when you order it you will have a custom PCB without wires ready to solder. I can't wait to explore the new possibilities with this new 'makeable' capacity.


6 August 2014

Free Custom Shield-PCB promotion!
/portal/vbb/doc/Home/VZ_Shield.png Share your project, get a FREE CUSTOM PCB!

The PCB FAB system is ready to go. It involves customising VBB template PCB's using a CNC profiler driven directly from your VBB designs. A low cost, next day PCB service is being created from this capability. /portal/vbb/images/youtube.png VBBExpress PCB Service . The plan is to franchise this service so contact me if you are interested in purchasing a machine and receiving PCB orders which you will FAB and supply to your local region and join in the VBB Micro Manufacturing Network.


The 'VZShield' is the first customisable template to be offered, the PCB's are on order and will have arrived by the time I get back. While trialling the PCB FAB system you can get yourself a FREE PCB based on the VZShield template when you share your project.


Shared Projects should include a writeup and a working emulation model using either GrapeVine or Boogie which will be standard in the free version of VBB. This will allow anyone to download and preview the project. As a reference project I will be creating a 8 way servo controller shield for use with the Feed Monkey iGadgART project. This will be turned into a project template for you to share your own projects in a way that can be easily added to the VBB online project library.


You can already start thinking about your designs using the UVShield already available in VBB which is almost exactly the same as VZShield. VZShield has a few extra bells and whistles including a special row for powered 3 pin connectors so commonly seen in sensor and servo projects plus several power rail connection options.


Boogie-Board Kickstarter!
/portal/vbb/doc/Home/kickstarter.png Back me on Kickstarter, COMING SOON  

I am building toward a KickStarter for the Boogie-Boards, iGadgART, a Udemy based step-by-step self-education course and possibly other rewards which I really hope you will back me on. There are a bunch of different reward possibilities and I haven't yet decided the complete mix. Kickstarter campaigns are hard to get right so I want to get some feedback and help with getting the right 'buzz'. As part of that I am actively looking for campaign contributors and communicators - if you think you can help let me know. I am thinking to offer a share of the rewards in return for your contributions in shaping and sharing the message.


To date I have been spectacularly bad at 'buzz'. This is part strategy ( stay under the radar ) and part personality ( I find it hard to put myself out there! ). But I recognise that in this day and age it's important that people feel good about the products they are involved with. This is the reason for the VBB make-over with Boogie and GrapeVine.

/portal/vbb/doc/Home/Boogie.png VBB has fantastic potential as an educational platform and I wanted to make it fun and funky to capture kids imagination and energy as young as possible. And well, I have it admit it really makes a difference. My 8 year old boy find's 'Boogie' much more interesting than V18'O (huh?).. He is my test case and both my kids absolutely love FeedMonkey and other iGadgART I have cooking. They have started to learn GrapeVine and will soon start on Boogie so this is the educational level I want to begin from. Up until now I haven't built any coursework to enable this type of learning with VBB and that's something I want to make part of the kickstarter, an in-depth step-by-step course that can be followed virtually and and also for real with a Boogie-Board starter kit.


Why Boogie-Board and not just use Arduino? Well actually you will be able to follow alot of the course with an Arduino and so that will be an option for those who already have Arduino boards. Also I will offer a chip swap option so you can transform DIP based Arduino boards into Boogie-Boards. However there are things you can only do with Boogie because Arduino has it's limits.


Most importantly Boogie is Object Orientated so you can create dynamic objects and do all those funky OOP things you can do in Boo/Python/Java that you can't do in C. GrapeVine for example is an OOP based Visual Programming language, and WaveRaster /portal/vbb/images/youtube.png WaveRaster 'What is it'   which Boogie-Boards also support is an OOP based Android programming System which is so amazing it still blows my mind. You can try to understand WaveRaster, /portal/vbb/images/youtube.png WaveRaster 'How it works' , but you won't 'get' how this is useful for creating ah-hoc user interfaces until you touch it with your own hands. Here is an early example to get started /portal/vbb/images/youtube.png WaveRaster 'Using WaveRaster With Arduino ' . Just say this 10 times, The Android App gets embedded and the Android Phone remotely rasters the display. Got it?


So what exactly are Boogie-Boards then? A Boogie-Board is very similar to an Arduino except it has a different compiler ( muvium java ) and a different micro ( PicMicro ). When the PicMicro is programmed with a Muvium Bootloader it becomes a Muvium Micro. So a Boogie-Board is a development board for a Muvium-Micro in the Arduino Form-Factor. I first created Muvium back in 2003, years before Arduino was even thought of and if you attended Microchip Masters in 2004 or 2005 you could have taken the preview course on Muvium using Eclipse and an earlier version of VBB - talk about head of it's time! You can also develop for Boogie-Boards using Eclipse ( or other java platforms like netbeans ) once you become an expert but Eclipse is just not the right tool for getting started, that's what VBB is for.


With interactive emulations that accurately map to the real world, VBB is impossible to beat for self education when used alongside a complete coursework. I am very excited to finally be in a position to complete the VBB vision and I hope you can back me and become part of the VBB story.


More soon!


More News ...