When the Raspberry Pi 4 burst onto the scene, with four 1.5GHz CPU cores and up to 8GB of RAM, there was a gasp from the community. The extra power has allowed people interested in machine learning and AI to finally use the Raspberry Pi to power their projects. Over time, TensorFlow and TensorFlow Lite saw many upgrades and eventually cemented the Raspberry Pi as the ideal low-cost introduction to the subject. The problem is, where to start?
Charmed Labs’ Vizy, starting at $259 for a unit that comes with a 2GB Raspberry Pi 4 or $269-$299 for 4 or 8GB, is a smart camera for those new to machine learning. Using the power of the Raspberry Pi 4 and a high-quality camera with exceptional capabilities, Vizy makes it easy for students or more advanced makers to create computer vision projects.
Vizy Hardware Specifications
Raspberry Pi model | Raspberry Pi 4 2GB/4GB/8GB |
Camera | 12.3 Megapixel Sony IMX477 (same as Raspberry Pi high quality camera) |
Switchable IR filter for day and night use | |
Lens | Distortion-free wide-angle lens |
GPIOs | 8 pin GPIO via screw terminal |
1x 12V | |
1x5V | |
2x GND | |
4 x input/output pins | |
Dimensions | 4 x 6 x 4 inches (101 x 152.4 x 101mm) |
The supplied green case is vibrant and made entirely of plastic. Underneath is a ¾ screw mount for tripods which is very useful and it secures Vizy to your desk unlike other Raspberry Pi cameras. Power is supplied via the included 120V 2.5A AC wall wart which powers the Pi (via a 5V buck converter on a custom expansion board) and provides external power to 12V devices. You can also power the unit through the Raspberry Pi 4’s own USB-C port, which is how we tested the unit.
On the top of the unit is a clear button (which also hides an RGB LED) which is set to turn Vizy on, and can be set to turn the unit on and off. The button also hides an RGB LED that we can control through Python code. Next to the button is a cold shoe mount. These are common in the photography world, as most DSLRs are equipped with an “accessory shoe”. The difference between a cold shoe and a hot shoe is that the hot shoe provides energy. Cold shoe mounts are there to hold an accessory in place. For Vizy, you can purchase an LED mounting kit to illuminate the subject of your project.
The Vizy case is awesome, looks great and is solidly made. But this is not the case for your outdoor projects. For that you will have to go up to the Vizy exterior package which retails for between $369 and $409.
Moving from hardware to software, Vizy comes with a series of applications and samples, but it would be useful to update your operating system installation as new applications and samples have been released. Vizy is controlled through a web interface rather than a desktop, and opening vizy.local in your browser brings up a login screen. Logging in with the default credentials, remember to change them at the first opportunity, we see the default app is an AI bird feeder, but we can swap the app/example via the menu in the upper right corner.
The menu hides options to save our images, videos and models to a remote location, be it Google’s cloud or our own home server. But what interests us the most is that this menu also hides a Python shell, a Linux terminal and a Python editor from which we can modify the applications / examples included.
Speaking of apps and examples, the AI Bird Feeder app is a great showcase of what Vizy can do. The smart aspect of Vizy is the AI. Using a TensorFlow model, designed to identify 20 different birds, the feeder can identify, catalog and photograph birds as they feed.
All applications and examples are subject to change. There is an edit button, hidden in the main menu, which will launch the online IDE where we can edit and run the code. It’s a nice touch, adding a level of immediacy to the learning process. Once an application/example has been updated, the corresponding application window will update to show the changes. It’s a nice idea, but once we tested our own script, a simple LED blink that we created in the editor, we found that there was no way to run the script. We had to exit the editor, open a shell (Linux terminal) and run the code manually. This is not a difficult task, but for a newcomer it is a stumbling block.
Creating your own projects is quite easy; the online editor plus full Charmed Labs documentation and API reference make it easy to get started. The power board, a GPIO expansion board, has its own API to control the built-in buzzer, RGB LED, fan controller and IR switch controller for night photography via the included camera. The camera is controlled using a mix of OpenCV and Kritter. Kritter seems to be the preferred module over PiCamera, but the best way to learn is to modify existing examples and see what happens.
If you were hoping to integrate a HAT or other add-on card, we’re sorry to disappoint your hopes. The full 40-pin GPIO is not available, which is unfortunate because the expansion board only uses the 5V, GND, I2C, and UART (serial) pins. Instead of the full GPIO, there is a limited form of GPIO access via a removable screw terminal on the side of the unit. This provides eight GPIO pins, only four of which can be used as digital I/O.
The first and last terminals are ground connections (GND). The second and third provide voltages of 12 V and 5 V up to 4 A (if used with the supplied power supply). Terminals four through seven are our digital inputs/outputs. Each can sink (provide a path to ground) 1A of current. Terminals six and seven also serve as a serial interface. The expansion board also provides us with a battery-powered real-time clock, useful for projects that see Vizy away from reliable network connections.
Vizy comes with heatsinks attached to the CPU, RAM, and PCIe chips, but it needs active cooling to prevent thermal throttling and that’s where every Raspberry Pi case fan fails. The smaller the fan, the harder it has to work and this generates fan noise. Vizy is not immune to this issue and the built-in fan is more noticeable when the processor is under heavy load. When idle, the processor idles at 63.8 degrees Celsius, well above the 40.9 degrees Celsius of a bare Raspberry Pi 4. Under load, the fan kicks in to keep the Pi 4 below 80 degrees Celsius. We turned off the fan and let the device cook for a while. We then saw the temperature reach 82.8 degrees Celsius. It’s still under 85 degrees Celsius, but a hot Raspberry Pi is not a happy Pi.
The camera
As makers we like to take things apart and we started with the camera. The camera based on the Sony IMX477 sensor is the same used by the high quality official Raspberry Pi camera. But it is not the official camera; it is rather a UC-768 with Vizy branding on the flexible flat cable. This camera costs $85 and has an IR filter switch, which we can turn on or off for use in low light conditions.
We removed the camera from the device and proceeded to unscrew the supplied lens from the sensor. This revealed a typical C/CS mount, compatible with lenses sold for the official high quality Raspberry Pi camera. We tested with a 6mm CCTV lens and after some adjustments saw a clear image. Unlike the supplied lens, our 6mm lens had slight image distortion when close to the lens. Long shots were clearer. All apps and samples worked as expected.
By using the C/CS mount we can not only attach standard camera lenses, but using adapters we can connect directly to microscopes and telescopes and use the power of machine learning to explore the microscopic world and the stars above.
Projects with Vizy
The power of Vizy is how easily we can create Python-based machine learning projects that focus on computer vision. The included camera is great quality and the power of the Raspberry Pi 4 means our machine learning models can track objects and provide meaningful data in near real time. The apps and examples included showcase the strengths of Vizy, and based on these projects, we could very easily create apps for sorting M&Ms, counting birds in our garden, or cataloging insects under a microscope.
Conclusion
We really like Vizy, but let’s talk about the price. The $269 4GB model is the sweet spot. That’s a lot of RAM and a decent price, especially considering how expensive Raspberry Pi 4s are on the open market. Also factor the cost of the camera ($85), expansion card, case, and great resources into the equation. Yes, we pay more than if we buy the bare components, but we buy a ready-made kit. What we spend in dollars, we save in time. In the classroom, science lab, or at home, Vizy is a great device for introducing camera-based AI.