While writing a game for his old-school NES console, Andrew Reitano realized that live debugging on real hardware would definitely be a step up from the usual software-based fare.
The original solution? Firing variable information out the second controller port to serial every NMI. However, Reitano ultimately decided to take a shot at designing a new Atmel-powered PCB to interface with the console.
“The board routes the left port of the dual port RAM (Cypress CY7C136) to the DIP footprint on the NES and the right port to an AVR (ATmega164 MCU), this allows me to read and write any location at runtime without bus conflicts,” Reitano explained in a recent blog post.
“Control is provided through the UART and two additional pins are soldered directly to the 2A03 to control /NMI and /RESET. AVR control code was written mainly in C with some assembly sprinkled across for the memory control portions.”
The ATmega164 – tasked with “waiting” for serial commands – performs a number of functions including:
Read/write of any memory location
Quick dump of an entire 256-byte page
Freezing of memory addresses (rewriting a single value constantly in the busy loop)
Single frame stepping by controlling the NMI
Remote reset of console
Applying auto increment to tables to a single variable (fun for sine waves on x/y positions)
“[I] had pretty great results with using 250000 baud with the Genesis flasher project which is plenty fast for what I’m trying to do here,” he added. “As far as I can tell from the datasheet leaving CE low shouldn’t have an effect on the opposite port but it most certainly does. Next revision could definitely use a few pullups on the AVR side, other than that I’m pretty happy with the layout.”
Jean-Noël says projected capacity is the primary principle behind his Atmel-powered Ootsidebox, with an electric field projected in front of the existing touch surface affected by movements of the hand. Simply put, it is possible to calculate 3D coordinates and recognize certain gestures by measuring the perturbations of an oscillator caused by the movement of the user’s fingers (or an object) at several centimeters from the control surface.
Recently, Atmel’s Tom Vu had the opportunity to discuss the Ootsidebox with product inventor Jean Noel Lefebvre.
Jean Noel: I kicked off this project 6 years ago and have worked on it full time since March 2013. Most of the parts used to construct Ootsidebox are actually off-the-shelf electronics.
More specifically, I used the Atmel AT90USB1286 microcontroller (MCU) to power the device. Currently, I am exploring the possibility of meshing the popular Unity 3D gaming Engine with Ootsidebox. Combining a well known gaming engine will help us tease out more latent, long-term potential for the project, while simultaneously expanding the boundaries of game play with touchless or hybrid touch/touchless technology.
TV: How does Ootsidebox differ from other touchless and gesture sensor solutions?
JN: First of all, there is nothing at the center. For the microchip solution, you need a center electrode with two layers integrated within the body. In contrast, Ootsidebox is designed to be platform and device agnostic. In fact, the incasing can be modeled to fit around existing technologies and devices. Take, for example, example, the Android or iPad. The idea that you can simply wrap this touchless interface around existing devices and products opens new possibilities while enhancing use-cases for existing devices.
With this external fitting, much like an accessory, one can quickly enable their devices to be touchless, with gestures executed from within 10cm (set to double very soon) at maximum in front of a small screen. The device can be used in many different scenarios. For example, say you are in the kitchen cooking with greasy hands filled with sauce. The Ootsidebox can be set to seamlessly interact with various kitchen appliances – without the user ever having to touch knobs, buttons, glass, dials or sliders. Instead, activating/adjusting appliances can be performed via simple gestures (left to right or circular motions). Of course, there are many additional applications that can benefit from a touchless interface, ranging from home consumer device, gaming, health or even industrial uses.
TV: Can you tell me more about the product design? Is there any particular reason you chose Atmel AVR?
JN: The design is very simple, using only well known “stock components” found on any distributor or reseller site. The more complex part may be found in the 14bits DAC in SPI. Most of the components are “old school” logical chips such as 4000 family (my best friends for a long time in electronics). As for the microcontroller, I didn’t need high performance uC, so 8 bits were enough. The idea is to prepare Ootsideboxfor mainstream adoption via a strategy of simplicity, a philosophy which fits well with Makers and the open source community. In terms of selecting the appropriate uC, I was careful to precisely balance price and performance. I also took into consideration various factors such as the large AVR community, availability of open source libs and the quality of the support and tools from the chip manufacturer. The mindset, reputation and philosophy of the brand (Atmel and Arduino) helped steer my uC choice. In fact, startups today are very closely tied to Maker Movement, reflecting Arduino and Atmel. That’s why I’m very confident when choosing Atmel, because Atmel and the Arduino community really support the Maker Movement today.
TV: How does Ootsidebox differ from other platforms on the market?
JN: It’s really a control device that computes touchless gestures versus touching and manipulating. Most of us are quite familiar with the ongoing touch revolution, as we use the very same interface interacting with smartphones and tablets on a daily basis. In addition, there are already commercially viable products such as Android devices equipped with sensor hubs that are designed to process gestural movement of the hand.
Ootsidebox differs on many levels, as the device is meant to be an add-on or fitting to an already existing device. Easy modification will encourage HMI enhancements for existing products or emerging devices. Remember, a consumer/user does not have to be married to just one product line from a major manufacturer. With Ootsidebox, you can control the devices without touching; move up, down, side-to-side, rotational, and even emulating the click of a button. Perhaps most importantly, the touchless interface will undoubtedly inspire future design roadmaps. For example, the touchless form factor is perfect for industrial and medical use. Just imagine a dentist needing to activate or handle various devices during treatment when messy hands are not necessarily ideal.
TV: What is the future of Ootsidebox? Do you plan on making it open source?
JN: Yes, there are plans to launch a campaign on Kickstarter or Indiegogo to attract more involvement in the development and use of this touchless sensor solution. The platform and innovative slope for additional development is limitless. We plan on releasing Ootsidebox as open source / open hardware, complete with specs for mechanical design. Crowdsourcing will help spur additional innovation, while allowing the platform to accommodate a wider degree of functionality.
JN: Afew years ago, disruptive products and ideas were conceived in garages. Today, the very same process takes place in Hackerspaces, where creativity thrives and technical skills abound. By designing projects in Hackerspaces, Makers and engineers are fully connected with a worldwide network of creative people boasting different backgrounds. This synergy significantly accelerates the innovation process.
TV: What is your personal experience with AVR microcontrollers (MCUs) and Arduino boards?
JN: I was using other brands before I discovered the benefits of AVR uC during my discussions about Ootsidebox with my friends at Elektor Labs.
Also during my stay at Noisebridge Hackerspace, Mitch Altman was using AVR Arduino to teach electronics for newbies (I really love what’s happening there). My first experience with the Arduino environment was with Teensy++ 2.0, based on the AT90USB1286 MCU. This Atmel AVR microcontroller is the one I used for my last prototype of the Ootsidebox tablet accessory, which will be launched soon on Kickstarter or Indiegogo. We are also working on a smaller project with Elektor Labs. Essentially, it’s a “3D Pad” built in the form of a shield for Arduino.
TV: Are touchless gestures the future of user interfaces?
JN: Touchless gestures are a part of the natural evolution of the more traditional user interface. It’s a way to provide a more natural and intuitive user experience, which is somewhat of a growing requirement due to the proliferation of complex equipment in our everyday life. Of course, touchless gesture interaction is also more natural. In the future, with the help of Ootsidebox technology, product designers and Makers will not create electronic platforms to “manipulate” or “interact” with devices, but rather, for individuals to directly “communicate” with them instead.
Really, people expect them to be as smart as living entities. I learned that during various discussions with scientists about the project. In the brain, “communicating” vs. “manipulating” simply does not invoke the same connections pathways. Clearly, touchless and gesture UI are paving the way to a very fascinating evolution of consumer electronics in the near future. That being said, I see touchless user interfaces complimenting, rather than replacing, multi-touch, much the same way the mouse didn’t replace a keyboard.
Clearly, this kind of technology can help save lives, while reducing nosocomial risk in healthcare environments. It may also allows drivers to stay more attentive to the road when navigating with gesture-based infotainment. Personally, I’m dreaming of disruptive aesthetic designs in the field of high-tech consumer electronics. I can’t wait to see what a guy like Philippe Starck will be able to create. As I noted earlier, this project is 100% open and we invite everyone to participate on Twitter. Just post your questions and suggestions here: @OOTSIDEBOX, while including the hashtag #AtmelBlog. I’ll answer you personally. You can also check us out here on Facebook.