Hello Pixy friends!
We wanted to give you some first peeks, so in this update we have some demos for you to take a look at. But first things first, let’s get to the big question— when will Pixy ship? We had estimated several weeks ago that we would reach feature completion by the end of this week and start shipping in mid to late February. We have good news and bad news on this front. It won’t be possible to be finish coding by the end of this week without cutting corners or sacrificing quality. That’s the bad news, and we don’t dispense it lightly or without apology.
The good news— we’ve decided to use Amazon to ship your rewards. They will be able to ship all rewards within a week of receiving a big crate of Pixys from us. (We were estimating it would take at least 2 weeks for us to package and ship all of the rewards, so by going with Amazon, we save a week or more.) And Amazon will typically use a better carrier than we were planning on using, when shipping outside the US. So that’s good.
We will ship to Amazon the week of March 3. This means that you should receive your Pixy around the middle of, ahem… March. We know this is getting into Pretty Dang Late territory, which is why we’re working so hard to knock out the last remaining tasks as soon we possibly can. Please accept our apologies. It really helps keep us motivated that you are excited about PIxy. And Pixy is looking great! It’s better than we originally envisioned.
OK, onto demos—
https://www.youtube.com/watch?v=7znEmgYZXL0
One thing this video is missing (besides my upper torso) — it doesn’t mention that signatures are immediately stored in flash after they’re generated, so Pixy will continue to look for the same objects between power cycles. Also, those squares and rectangles rendered on the black background are plots of the data that the Arduino receives through it’s SPI port. We have a simple Arduino library that parses the SPI data and returns an array of “blobs”, where a blob is:
struct Blob {
unsigned int signature;
unsigned int x_center;
unsigned int y_center;
unsigned int width;
unsigned int height;
};
So you hook Pixy up to your Arduino with the included cable and call GetBlobs(). It’s simple!
The other thing I wanted to show you was the concept of “programs”. Programs are tasks that run on Pixy. The “default program”, or the program that runs automatically when you apply power to Pixy, does what’s described on the Kickstarter page— namely, it finds objects and streams them out the port that you’ve specified (SPI, I2C, UART, or analog/digital I/O). Here’s a demo of the pan/tilt program being selected and executed:
https://www.youtube.com/watch?v=D1cZmfac990
Some other notes about programs—
- You can make any program the Default Program.
- You can select any another program (besides the default) to run upon power up by using a button sequence.
- You can modify programs or add new ones if you want to get your hands dirty.
- A given Pixy can have several programs to choose from.
- Your Pixy will arrive with at least two programs ready to run in firmware.
- More to come! (for example, face detection)
Wrapping up
To give you feel for how close we are, the remaining tasks are— finishing up color codes, UART and I2C support, Windows 8 support (need to sign the USB drivers), and Mac support. It’s no longer a daunting list, but it’s too much to tackle in next 3 or so days.
We’ll post another update in 2 weeks, and we expect to have code completion well within reach. Thank for you for your continued patience!