Minibloq, The Finch and My Suffering
Regular F5 key users here will have noticed the recent virtual tumbleweeds on this site – even the LUFA SVN updates list is sparse, and my inbox is so full I think I saw a raccoon living in it a few days ago. This is not a situation I’m in by choice; despite having a supposedly regular amount of subjects this semester, I have a decided irregular amount of work to do due to some Lady Gaga-scale cockups (hey – funny on two levels!) of University scheduling. Frankly, I’m thrilled to be able to write something finally that isn’t required to have a signed Statement of Authenticity attached.
So, today I’ll be playing the part of roving reporter, and writing about what’s been happening in the LUFA world while I’ve been knuckling under. I’m endeavoring to get through as many emails as I can in the next few hours before bed, but as usual please just hang on a little longer if you’re waiting on me to respond.
The LUFA BETA
Some great feedback so far – not much in the way of show-stoppers other than a bug in the new HID bootloader I managed to uncover myself. A few minor tweaks left to do, but all signs point to the (accidentally) belated release date being achievable. The six week testing period happens to give me some nice breathing time away from development to get my University work done anyway, so I’m quite happy on that front.
A week or so ago a man rather cleverer that I managed to track down the crux of the issue that causes the errors between my AVRISP-MKII firmware and AVRDude, requiring the use of the alternative firmware builds specifically for that program. I originally surmised that it was a fundamental issue in the way the libusb driver works (wich is where I concentrated my debugging efforts on the matter) but it turns out to be a pseudo-issue in the USB support of avrdude. I say “pseudo-issue” here because it’s really only an issue on my programmer that does some funky stuff on the USB side to make things work, but nevertheless it’s an issue that should be patched. There’s no official patch submitted to the avrdude tracker yet, but you can get the details to patch your avrdude source here. Once patched, avrdude should work with the stock AVRISP-MKII Clone firmware that is compatible with AVRStudio — and should still work with real USB programmers, too.
Minibloq – Arduino to the masses, squared
One of the interesting emails I received last week that caught my eye was from an avid LUFA user who has gone on to start up a very cool project, named Minibloq. Those who have been reading the junk I put up here for a while will remember that I had mixed feelings about the Arduino platform last year, but I’ve since mellowed out and realized that as a platform, to a specific user base, it’s an invaluable tool. Not that I’ll be cracking out the Uno (other than to make sure the LUFA firmware still works on it) all that often, but I do admire the way Massimo and his team have brought engineering out of the lab and into the kitchens, studies and – dare I say it – bedrooms of regular folks.
Continuing in that vein is a new project called Minibloq. Minibloq is a new GUI based programming tool, aimed at those few people the regular Arduino couldn’t reach, due to the complexities of coding in actual code. I started out my embedded engineering life with LEGO’s Mindstorms kits with their drag-and-drop programming GUIs, so this is a project that hits very close to home for me. I wish Julián all the best with his project – please consider donating to his Kickstarted campaign to get the project to a point where it can be deployed into the classroom. I was especially impressed to see the GUI running on the original XO laptop aimed at developing countries, which means that the wonderful platform isn’t restricted to only those who can afford expensive tools.
Minibloq Site (Blog, Videos and Information): http://minibloq.org
The other thing to hit my inbox in the last couple of weeks was an email from a different guy who has turned his idea – low cost robotics for the classroom – into a real product. Meet the Finch, a low cost, sexily designed robotics platform powered by LUFA and driven by imagination. The Finch is a low cost robot equipped with a few basic sensors and lights which should prove to be interesting to entry level robotics courses in Universites, as well as science/computing experiments in highschools.
The Finch Website (Blog, Information, Videos): http://www.finchrobot.com/
What I think would be most interesting would be for the Finch platform to gain support in the Minibloq environment above, giving a $99/unit robot that can be programmed by anyone, anywhere. It’s rare to see two projects released at the same time that could go together so well, so I’m going to stand back and see how it all unfolds with keen interest.
The real kicker about University at the moment is that I’ve finally found a course I’m completely fascinated with, and now don’t have the time to fully explore the subject and experiment with how it all works. Last year I took a Signal Processing subject as part of my course, and to be frank hated it; the concepts were interesting, but the dense material and complex maths put it just outside my capabilities which caused me to lose interest in the whole thing. This semester I’ve found myself taking an Advanced Signal Processing subject by the same lecturer and it’s all finally clicking into place – and I love it. I’ve just finished my programming project for the subject, which was a simple loss-less compression program using Rice Encoding and basic Linear Prediction, to get a compression ratio of around 70%. Yes, that’s pretty awful, but for a basic proof-of-concept system it’s still better than a raw WAVE file.
Given that we were able to choose any language we liked for the encoder I naturally gravitated towards C, since I haven’t really had the opportunity to do any desktop C coding before outside of the basics – I’ve only been coding in C for tiny AVR microcontrollers, and using (urk!) Visual Basic, Visual C#, C++ and Java for desktops. It was actually a really fun exercise, once I gave up on the Microsoft compiler’s abysmal C99 support and switched to using GCC in a VirtualBox’d Ubuntu. Lesson learned there however – don’t mess up Rice Encoding on a virtual machine configured with a dynamically expanding disk, since the wrong K parameter will cause major disk space explosion. All in all however, fun stuff.