Thursday, July 25, 2013

Roadmap for Simulator for Arduino

The other day, we received an email asking for a Roadmap. Well, there was a plan from the start and while the plan didn't quite .. well go to plan, the feedback has been encouraging.

Simulator for Arduino was originally started to fill a gap. Arduino is a great development platform and cuts the time to development down to ridiculous levels. As an example, we recently purchased a gyro from Pololu and expected it to take at least four hours to figure out. Well there were four wires to be connected using a breadboard and an example sketch to be downloaded. 30 minutes later or less, there was the Gyro spitting out values to the Serial monitor. And we also used it to break code protection an a code protected micro - that took a bit longer - around a day and a bit. But while using the Arduino kit, it seemed strange that there was no real Simulator or development tool. We can understand that building an Emulator is not trivial but a Simulator should be possible. Well, there were lots of Simulators out there but most were half day weekend projects and didn;t really work. Just download the zip file , compile and so on. The compile word really gets me - if someone writes a program just distribute the .exe file not the source code. No-one wants to compile a program - it should just run. I guess this is the ugly side of open source.

Anyway, the plan from the start was to get 10k purchased licences in the first year and while that didn't quite happen, we did manage almost 15% of that so not a complete fail. One of the problems is the current high level of pessimism and the unwillingness to spend money. Well, there may be a lot of horror stories in the news but in perspective, things really have never been better overall. Companies which are willing to spend like Apple have really done extremely well, and anyone willing to take a chance stands to make it big. Anyway, currently we have 2257 paid Professional licences and when we reach 2500, we will bump the price up to $15.

And for the future. Well, we plan to do one release every two months for the rest of the the year, and then maybe one every three months next year. With the Simulator, there are so many features and options to add, it is just a matter of time and priority. Anyway, here is the priority list:

  • Keep getting the bugs out and do a release every two months
  • Get to 2500 Pro Licences and do a new YouTube video
  • get the Cross Platform program working - this means a major rewrite of top-level code
  • Add in scale and rotate for the Arduino board picture
  • Add in a RAM memory map pointers
  • Add in automatic error testing - probably try unit testing
  • Improve help
  • Really get the classes and custom libraries working
  • Try to setup an automatic error log using Indy?
  • Get more outside professional help
  • Get an iPhone app going - not sure about the level of difficulty here but x-platform compiler support iPhone/Android
  • Improve the Logic Analyser
  • Improve the Serial Logger to have multiple traces
  • Retire when all the bugs are squashed.
With all this, there is a dependency that no-one writes a super A-grade professional Simulator for Arduino. At this stage, we are competing with Virtual Bread Board which sells for much more and Visual Micro which we haven't had a look at. Codeblocks for Arduino seems to work well but only has a very limited Serial monitor output so it not really a contender. The iPhone and iPad apps are all laughable - we tried adding a line int i =10; and the iPad app crashed. The iPhone app is just a training video and you can't do much with it. Anyway, while we get good feedback we will keep going forward. We do have the odd annoyed user so we do our best to help and we ask for positive criticism - if you don't like something, tell us what, why and how you would fix it. Our mantra at the moment is constant improvement and we are very careful to try not to break any code when doing changes. Hopefully, everyone has forgotten the recent howlers like the break instruction not working. Happy simulating.

Monday, March 11, 2013

Website Move arduino => virtronics

Some may have noticed the note on the website that the content is moving to Well, there is a reason why this is happening and it is all good. At the last meeting, we decided that Shields for Arduino was not a great choice of name and we needed one that represented what we do without being too specific. Virtronics was the winner and this name is derived from Ohm's law of V=IR with the tronics short for Electronics. The whole website is being moved across with a deadline of 31 March.

The Simulator is going very well, and while we do have the odd issue with unlock codes, this usually turns out to be an over-zealous anti-virus program. The Simulator seems to be mostly bug-free at present with only a very few error reports unlike last month where the break command was accidentally broken and kept giving error reports.

There are many areas where the Simulator could be improved and we will keep chipping away. Enums, typedefs and classes all need attention. Also, we are thinking about moving to a new compiler which could mean a major rewrite - time is very short so this option has been put off for a while. If we do, this will be Simulator 2 and it will then be available for MAC OS, iOS and Android (but not Linux). It really is strange that there is no-one else doing a good Arduino Simulator - Searduino had some press recently but couldn't any programs to run. The iPhone Simulators are a bad joke especially the customised iPad one which could not even run int i=10;

Lastly, just a quick shout out to Adrian who has been a great help on the forum and a source of some great ideas. Still many more ideas to run through in the next few weeks. The previous blog Arduino Shields will be shown below for a while but will not be updated from now on.