Project Announcement: Remodium
For those that follow this blog, this post may seem out of place. My name is Malcolm, I'm the other half of Nilok Productions. While Colin has been working on the Qube I've been hard at work on my own project and I'm quite close, so I'd like to give you all a bit of information. Not much, but a bit!
We're calling it Remodium. Anyone out there with a Mac and an iPhone or iPod touch are going to want to follow this one, heck, even if you don't, follow it and see what's going on in that side of the world!
I'll be posting updates and information on twitter at @remodium. So follow me there or check back here and at Remodium.com to learn more!

Stickers!
Everybody loves stickers! Well, until you have to design them and cut them out! Anyway, as a quick test to see how well my sticker sheets attach themselves to the Qube's case, I made a test sticker. The picture below is the closest thing to a finished Qube that has ever existed!
Sticker
There has also been some significant firmware work. I got the PWM cycles working very well today thanks to a handy oscilloscope in an electronics lab at my school! More information to come!
Big News!
Here's an update that everyone should be pleased with! I certainly am. Over the past few days I've been receiving packages in the mail like crazy, due to a helpful donation I got a little while back. Today came the big important ones.
Packages
As you can imagine, there's nothing like coming home and seeing a bunch of packages lying on your desk! It's like Christmas! The two small envelopes were just resistors or something, but the big ones were much more exciting. Starting with the brown box in the front, the first thing there was the Bluetooth module. This little bad boy will let you control the Qube from a computer pretty far away! Yep, wireless
Notice how small it is too!
Bluetooth Module
The other thing in that box was pretty cool too. Remember those double relay boards I mentioned a little while back? Well, they're here!
Double Relay
Now the exciting big box in the back. The one covered with some sort of black plastic wrapping.
Mysterious
My New Camera
I'm sure nobody expected that! Well, as it turns out, neither did I. When I opened my new Canon EF 35mm, I found something a little bit different.
Black Enclosures
The one on the far right already has a Qube in it just to do a fit test. All I have to do now is come up with some good stickers to put on top and they are ready to sell! Well, once the firmware is done of course. But the bootloader is complete, meaning that tinkerers can get a head start playing already! Here's a few close-ups for fun.
Getting Close
Closer
Last but not least, I obviously had to play with my new toy! Since I've been getting so many components for these damn relay boards, I had to put one together!

Relay Hooked Up
It doesn't do much right now, but in theory it has great potential. With one click you can switch up to 7A at 250V. What does that mean? It means you can hook up your electric door strike, your extension cord, your lamp in the living room, your lights in your bedroom. You put the wires into the big blue terminals and then with a simple click (or Bluetooth command, or website command, etc) you can switch huge loads on or off. There are two blue status lights on the relay board to indicate when a relay is activated. In the picture, they are both turned off. Here's a picture with one of them turned on.

Relay On
Well, that's it for the pictures. I will probably be making 6 more Qubes this weekend and probably all of the 40 relay boards while I'm at it.
I also have some new plans for the firmware. Since I said that you can use the Qube without a USB connection (firmware rev 2), I decided to let users upload code to the Qube to tell it how to run. There will be an "Event Designer" which basically lets you drag and drop a list of functions to occur whenever the Qube has a new event (such as an interrupt or receiving a byte from the internet). Obviously this type of firmware is quite a way away, but I already have it planned out! Can't wait!
BlueTooth Accessory, Firmware, Bootloader
Today, I had a bunch of spare time, so I decided to work on this project a bit. The first thing I did was finalize the bootloader program that I have been writing. It is a very simple interface with only two buttons and no room to mess up. The bootloader is as simple as finding the new firmware file and clicking upload.

Bootloader
The box with the number in it is the unique serial number of the Qube being programmed. Every time I load firmware onto a device, the number increments so that each person will have a unique number. This is also helpful when the computer needs to distinguish between which Qube to send information to, or which one sent a message.
As soon as that was done, I started working on the next accessory board. So far I have a completed "double relay" board, and a lot of clever ideas, but I really wanted to get started on the Bluetooth accessory. A couple datasheets later and poof, it's done.

Bluetooth Accessory
Finally, I did a bit of firmware work. I changed the default Serial speed to 38.4kB/s and finished up the module. I started working on the external interrupts and if all goes well, that module should be very easily finished by tomorrow night. Then I guess I'll start working on an LCD module or something.
Serial Communication
One of the key features of the Qube is that it can communicate with a PC (via USB or Serial) or it can communicate with other peripherals (ethernet, bluetooth, other Qubes). The important part of the communication is done, the device is able to communicate via the TX/RX nodes!

Serial Echo
Multiple Channel PWM at 50kHz
This is just a quick post of some new information. Throughout the day I have been working slowly at getting multiple channel PWM working. I have been trying out new values for the maximum speed that it can be run at, and so far I've gone up to 150kHz with stability! The problem is, at such high speeds, the main program doesn't get as much processor time (which isn't a big deal since the main program wastes most of it's time anyway). I know this because the USB light doesn't blink as fast as it should, which will be fixed very soon. Once serial is implemented, I will see how fast I can push this system before it all falls apart! Should be fun. The picture of the day is my logic analyzer output.

50kHz Logic Analyzer
Test Software, 5 Qubes Working
Two days ago I mentioned how I had 2 working Qubes. Yesterday, I found more chips and decided to make 3 more while my roommates still aren't home so I could steal the toaster oven! Long story short, I now have 5 working Qubes!
Since then, I also did a bunch of work on the software side of things. I was sick of typing in byte streams (like 00 01 00 ... to get to bootloader mode) so I decided that a controller application was in order. In a few hours, I pumped out a decent looking app that has quick buttons for each of the functions (so far). Obviously once I add more code modules to the Qube there will be a few more boxes of options in the controller app. Until then, though, here are pictures.

Qubes Stick Together

Test Application
Also, for anybody who is willing to help out, I'm very short on money right now. Any donations will help this project escalate very quickly, otherwise, I'll have to wait about another 2 months (at least) before I can afford to ship the enclosures and buy more connectors. Right now, I have $0.43 left for this project, and I need just over $250.00 for the cases. If you would like to donate to help out, it would be very appreciated. Also, if you would like to PRE-ORDER a Qube, then you are also welcome with a donation of $70.00 USD or more. You will be the first to own a Nilok Qube before they even come out!
New Tutorial: How to Use the Diolan Bootloader
As the title says, I have posted a new tutorial about the Diolan Bootloader. It explains how to fix all of the problems that the bootloader currently has as well as how to set it up for a first time. The tutorial focuses on the PIC18F4455 but can be extended to other chips as well.
Check it out!
HID Working, PICKit 2 = Awesome
As the title says, the bootloader works perfectly since my upgrades and now the actual code I've written works too! I took a quick screenshot of the connected hardware, it's looking great.
Another thing I want to mention is how awesome the PICKit 2 is by Microchip. I admit, I bought a rip-off from Sure Electronics off eBay, but it works just as well. I read a review the other day where people were saying theirs stopped working and didn't come with certain chips installed. I took mine apart the other day, and it looks very well assembled. It also comes with the two EEPROM chips that store your application code.
Basically, I loaded the bootloader's code into the programmer! This way, I can use a feature called "Programmer To Go". Now, all I have to do is plug the PICKit 2 into a power source (such as an iPod charger) and press the single "function" button. The lights blink and blah blah blah and within 5 seconds the microchip is programmed without me doing a thing!
Here's the screenshot of the HID stuff working. The serial numbers will be different for each device so I can tell who is writing beta reports!

QUBE Working
Bootloader Working… Finally
After well over two days of very intense debugging, I finally have a working USB bootloader. I used the bootloader provided by Diolan, which sucks. The reason I stuck with it is because it takes up very little space, has XTEA encryption, and runs on USB. This means that you people will be able to download feature updates directly to your Qube.
Within the next week or so there will be a tutorial up about how to use the Diolan bootloader and fix all its problems. Until then, here's a picture of the first working bootloader setup:

Bootloader Setup