Experiments

My mind was blown and my world has changed ever since I was introduced to microcontrollers in grade 2. The ability to program a piece of hardware that you can touch and manipulate truly felt magical. Many things changed since grade 2 but my passion is as strong as ever.

I work with the Raspberry Pi, Arduino and the Intel Edison. I’m extremely lucky to have the opportunity to R&D and evolve how advertising is served using these technologies. Every time that I get to do something new with sensors and these little computers, it feels like I’m getting closer to the vision of my favourite writer – Isaac Asimov. Check out the experiments and feel free to contact me if you have any questions.

Arduino 101 interfacing with a mobile over BLE

I finally got the Arduino 101. At heart of this little board is the Intel Curie chip which has a lot of goodies such as accelerometers, WiFi, BLE and a micro-controller. I’ve used the basic demo which allows you to use BLE to connect to the board from a mobile or another BLE compatible device. The relay which is triggered from pin 13 simply switches the light on/off. The light is connected to an external power source (12V) and the relay is closing that circuit.

It’s a very basic demo and the key here is that it took me less than 15 minutes to get all of this setup. I’m sure that you can tell given the alligator clips and raw, stripped wires. Can’t wait to use this on a project!

Meteor, Johny-five, MongoDB and Arduino based airport kiosk

The goal of this prototype was to create an HTML based airport kiosk. The kiosk must work online and offline and interface with an analog landline dialer board to make a phone call to a hotel. We custom engineered a relay board which interfaced with the analog dialer board to dial out the desired, pre-programmed number. The initial prototype with full size components is featured in the video.


Arduino, Relays and Adobe Air make whack a mole

We’ve created this simple classic to promote our sales raps going into media agencies. This is a combination of some of my previous learnings using relays to control high voltage. I’ve asked a colleague to create an enclosure to house a 3×3 matrix of buttons. The buttons are quite simple to control but require high voltage. I wanted to light up the buttons when the player successfully hits the correct position. An Arduino was connected to the buttons and the relays and communicated via SerProxy. The setup was quite routine and it took about 3 days to complete. I didn’t have to create the actual game engine as we had it in our library.


Android phone controlling LED lights

Google has supported interfacing with the Arduino for many years. My goal was to see how feasible and easy would it be to use a Google Nexus phone to control an LED light strip. I’ve used a fairly cheap strip with a lame controller (PD6803). It’s important to note that the easiest way to make it happen was to use the Arduino ADK board. It allows “out of the box” interfacing with the Android platform. A native Android app listened to the system events such as incoming SMS or phone calls. The event triggered an Arduino method with a parameter (1=SMS, 2=Call) which resulted in pre-programmed LED shows. Simple, right?


 Proximity sensing with foil and Arduino

We are used to touchscreens being everywhere. Smart phone (duh), bank machines, payment terminals, digital cameras and you get the picture… I wanted to explore a very simple solution for touch activated installation that will not rely on a typical capacitive, resistive or IR based tech. It also had to be something that could work through say glass or paper. I used the stock CapacitiveSensor Arduino library and got some foil from the local dollar store.  The front end of the application was done with Flash and communicated with serproxy via sockets. The whole experiment took under a day to make. Hovering a hand over the magazine increases it’s respective counter on the screen.


Gyroscope, accelerometer and Processing

The idea for this project was to create a pair of binoculars (non-stereo/3D) which will look onto an LCD screen. By panning, tilting and yawing  the user would reorient a 360 video that’s playing back on the LCD screen. This would give the illusion of an immersive environment. It’s not 3D but this was done a few years prior to the release of the Oculus Rift. I’ve used the MPU9150 nine-axis (Gyro + Accelerometer + Compass) chip to create this project. The output was broadcast to Processing to control the motion of the plane in the demo that you see.

Web camera and fluid dynamics

3D printers are awesome – when they work. I’ve setup the 3D printer to print one of the demo models that came with it. This printer was recommended to me by an engineering team from Motorola that were driving a massive van filled with 3D printers across the US. Naturally, I’ve expected things to run smoothly as it took over 3 hours to properly calibrate it. I should of figured that anything that comes with with a tool kit (wrenches, screwdrivers and allen keys) isn’t really all that easy to get going. It was configured to print in the highest quality and it took it 18 hours to produce this masterpiece. Needless to say, subsequent prints were much better as I used painters tape on the print bed.


3D printed Eiffel tower (fail)

3D printers are awesome – when they work. I’ve setup the 3D printer to print one of the demo models that came with it. This printer was recommended to me by an engineering team from Motorola that were driving a massive van filled with 3D printers across the US. Naturally, I’ve expected things to run smoothly as it took over 3 hours to properly calibrate it. I should of figured that anything that comes with with a tool kit (wrenches, screwdrivers and allen keys) isn’t really all that easy to get going. It was configured to print in the highest quality and it took it 18 hours to produce this masterpiece. Needless to say, subsequent prints were much better as I used painters tape on the print bed.


 TMNT controlled with iPod touch

I always wanted to control some sort of an analog device over the internet. What a better device than a pinball machine? There are other web controlled machines out there but this one is unique – I think. Instead of hardwiring or say bypassing the existent controls of the machine I’ve added solenoid pistons to press on the flipper buttons. Sounds pretty silly and it makes a funny sound every time that it is triggered by I like it! Raspberry Pi was controlling the firing of the solenoids by opening and closing a relay as the solenoids required 24V which the Pi can’t provide. One of the main reasons that I wanted to use the solenoids was to play with high voltage relays and the Pi. TouchOSC was used to send left and right command from the native iOS app over WiFi. The Pi was hardcoded with a static IP and intercepted the TouchOSC calls to trigger the correct solenoid.


Interactive floor mat

Ever wanted to create your own “dance dance revolution” mat? It’s not that difficult if you have some creative folk around you and some force sensitive resistors. Initially I’ve used the resistors to record people’s weight. That didn’t go too well so we found a better use case. The Ardruino registered when enough force was applied to the button which was set atop the resistor. It then sent the identifier of the button number to an Adobe Air app. The app was designed to pull dynamic info from the web such as Twitter #hashtags and images.


Galaxy Tab 10.1 meets Android 4.4.4 (Omni ROM)

Omnirom on Samsung tablet

Samsung stopped updating this tablet about 2 years ago, if my memory serves me right. I’ve rooted my Android devices before but never done it with a tablet. The process is pretty much the same. First, upload a custom PDA with either Clockworkmod or TWRP. Get the “rooting” zip. Get the ROM of your choice (such as Omni or Cyanogenmod) for your device. Load the GApps applicable to the Android version. Then troubleshoot for a few hours if you forgot to clear and reset the caches and — BAM! You have a dinosaur tablet running a fairly modern Android build with minimal issues. Google around for a more detailed breakdown of the process. It’s simple!