As part of a global d-shop program, the “Developer’s Workshop” has set up shop at NSQ, and welcomes all employees to participate. d-shops have already been successfully established in Palo Alto and Germany, with India and China following suit this year. Here in NSQ, our d-shop features 3D Printing, Oculus Rift, Raspberry Pi, Arduino boards, and Lego Mindstorms robots amongst a host of standard electronic components & sensors to help colleagues realize their ideas.
d-shop NSQ was able to make its public debut during July’s People Week, where visitors were able to make their first forays into hardware development. To help visitors become familiar with d-shop equipment, we designed several demos for the Arduino, Raspberry Pi, and Lego Mindstorms. Also, the 3D printer and IoT house were spotlighted. Here are a few highlights from that experience from three interns.
For People Week, I was able to instruct participants in the use of the simple but capable Arduino board. Essentially a miniature computer, the Arduino receives instructions in a beginner-accessible C-based programming language, then executes those instructions by powering numerous pins and ports on the board. This models the relationship between a typical CPU and its various peripheral devices, like displays, keyboards, mice, and so on.
To begin developing on an Arduino board, one can simply download the software available here: https://www.arduino.cc/en/Main/Software and then dive right into programming. Once a program is loaded on the board, it will perform its designated setup method, and then loop continually.
During People Week, visitors to the d-shop were able to build some very basic but useful electronics, and program each to perform a simple task. Most introduced themselves to the gadget by creating a circuit to power an LED, which could then be programmatically turned on and off. The code below sets an LED powered by pin 5 to blink repeatedly.
With the help of available d-shop tutorials, others went on to build nightlights that adjusted their own brightness based on the surrounding light level, or digital thermometers that displayed the current temperature in real time. I was able to create an additional tutorial for those interested in a deeper understanding of Arduino and electricity, which outlined a device to measure the remaining life of AA batteries.
Each of the People Week demos in the d-shop introduced potential inventors to something new. I believe our Arduino examples, simple as they may have been, showed how fun and accessible it was to prototype one’s ideas, and cleared up the mystery surrounding the black box we all know as a computer.
One popular attraction on display for People Week was the new Oculus Rift DK2. The Oculus Rift is a head-mounted display that’s making waves in the tech world, and now it has made its way into the NSQ d-shop. The Rift works like a pair of goggles, but with two hi-resolution screens placed inside to replace one’s field of view with virtual world. The Rift tracks its own orientation, allowing head movements in real space to be precisely replicated on the display. These features combined with its rapid refresh rate and unique optics make for an unprecedented virtual-reality experience.
Anyone can see the applications for such a device are limitless. Despite the fact that the device hasn’t even been officially released to non-developers, many industries are eager for the opportunity to apply virtual reality. As visitors saw during our People Week demos, the gaming and movie industries have already begun to tailor content to the Rift, and auto designers and architects are looking to prototype their drafts though VR. The first steps have been taken to apply the Rift in virtual socialization, allowing people across the world to interact in a believable and immersive environment. As the media eats up the more frivolous and obvious applications, it falls to innovators like you to find the productive and practical ways to improve the world with virtual reality.
The d-shop is all about Do-It-Yourself and the Internet Of Things. The Raspberry Pi is an Internet of Things champion, a true Swiss Army knife – capable of nearly anything. By definition, the IoT is a scenario where various objects, animals, sensors, or humans are interconnected in a network without requiring human interaction. The credit-card sized Raspberry Pi is extremely flexible in this regard, equipped with built-in wired networking, a speedy low-power ARM CPU, USB, AUX, GPIO, and HDMI. Thanks to its low-power CPU the Raspberry Pi is capable of being powered from a USB port, drawing only a few Watts in many cases. This allows the Pi to run 24/7 without exorbitant electricity costs. Furthermore, the GPIO (General Purpose Input/Output) Pins are the key to the Pi’s IoT capabilities. These pins allow the Pi to communicate with many sensors, diodes, and chips through various open protocols. They can also be turned off and on manually, for example to power an individual LED. In this blog post, we will showcase how we controlled an Adafruit LED Matrix using Python and the I2C protocol.
Adafruit is a great place to buy pre-made kits and chips for your DIY projects. For our d-shop demo, we used the BiColor LED Matrix, a Raspberry Pi Model B+ (you could also use a Model B or Pi 2), soldering equipment, a HDMI-VGA converter (if needed), and some wires.
What exactly is I2C? It is protocol was invented by Phillips, providing a common language for communication between chips. In our case, we used this Adafruit Library to handle the I2C communication for us. This library provides an API that can be used for a variety of Adafruit chips, including our Bi-Color LED Backpack.
Our aim for the Raspberry Pi demo for the d-shop People Week was for participants to have fun getting a basic exposure to programming while also getting a glimpse of the possibilities in the IoT concept brings. In this demo, participants were able to display smiley faces on the LED Matrix and display various other colorful animations. Interested participants could also expand the existing python scripts to display whatever they wanted, or even animate the smiley faces with the use of loops. Our scripts were designed to be simple enough for even non-technical people to understand. Thanks to the Adafruit API we were able to turn individual LEDs off and on using a bitmap, essentially a 1:1 map of all 64 LEDs in the matrix. This is a great way to draw smileys to the Matrix that can easily be visualized. Can you spot the smiley below?
Essentially “smiley_happy” is a list of 8-bit numbers, each bit representing the on/off state of one LED in that row of 8 LEDs. The python script would then run through each row in “smiley_happy”, and call an API method to set the corresponding row in the LED matrix using the binary value. Enthusiastic participants could extend the script to make multiple bitmaps and use a loop to infinitely run a basic animation. The above would look like this on our display:
Here is the code that displays the above smiley face, note that our bitmap is essentially a list of binary values:
Besides this, there were several other neat scripts that showcased the features of the LED Backpack (click to see the animated GIF):
Turning LEDs off and on is fun, but how can we take advantage of the Pi for SAP? Due to the Pi’s extensible nature, there is no shortage of applications. Recently during the 2015 NSQ IT Intrapreneurship Bootcamp, an idea was put forth by some colleagues for a simpler way of booking meeting rooms. One possibility would be to use a Raspberry Pi in conjunction with a variety of sensors like motion detectors to see if a meeting room is occupied or not. Essentially, the Raspberry Pi would serve as a hub – monitoring the sensors and reporting their status to a bigger system, which would then allow users to check if the desired meeting room is occupied or not.
Lego robotics is a basic introduction to robotics and coding in general. It requires a simple development kit and software I downloaded for free: here. The development kit comes with a robot block, Lego pieces and sensors for the robot. The robot can be used for a multitude of tasks; for example, a developer can use a touch sensor to prevent the robot from continuously moving into a wall, he can also use a color sensor to stop the robot from moving when it notices a color. Robotics could become the future of service and helping people in America and even the world.
People week was the first time people outside of the d-shop got to see what we had to offer for the company. The robotics were very interesting for people to learn because it required no coding experience just click and drag buttons. I ran the robotics station for the d-shop on the first day of people week, unfortunately, I could not go to everyday because of the IT Boot camp training. I got to teach a couple people how to use the software and explain possible usage in the workplace. The best part of this software is that it is easy to learn for people who do not code or for developers.
A 3-D printer is a device that anyone can use to print out anything they can design. The printer that we have at the d-shop mainly uses a material called Polyactic Acid or commonly referred to as PLA. This material is melted and then can be molded into any shape.
Not many people know about the d-shop, one way that we can get the word out is to give people a keychain. Dirk had given me this task; I used free design software called TinkerCAD: here. When I finished the design, this was the final draft:
Now it was time to build the first prototype of the keychain. We had to first put the printer together and check to make sure that the device was calibrated to perfection otherwise the slightest imperfection in calibration could ruin the whole print. Once we started printing the design in black we stopped and switched in favor of silver PLA. The end result is shown below. We will continue to produce more of these!
We hope you enjoyed this quick look at what People Week @ the d-Shop was all about! As cool as these demos were, the d-Shop needs your assistance and innovative spirit to help grow and prosper! If you want to learn more about the d-Shop or have the next big idea, comment below!