Building A Plasma Energy Cell

Most boys dream of owning a plasma canon or at least a laser gun at some point in their life. Harnessing light energy is a useful thing if you’re a superhero, but can also be fun if you’re a geek like me and my son.

Building a Plasma Energy Cell was the obvious thing to do given the circumstances, and thank god we did. When it’s not used to power the hyper-jump drive of our intergalactic spaceship, it serves as a beautiful mood light, providing just the right ambiance in any room you put it.

Spectral Radiation Cell

Building the cell required some creative thinking. Here’s how we did it:

Step One: Emitting countless color shades from a 3-color LED

In our search for a light source, we came across a pretty powerful 5W, 70 Lumen RGB LED. This LED is relatively small, has four connectors and comes in a common anode configuration. You can get one for less than 6 bucks here.

RGB LEDs of that type are controlled by driving current through the anode and grounding the connector which corresponds to the color you want to light. For example, to generate a blue light, you’ll need to hook the anode to a 5V power source, and ground its blue connector. This is pretty straight forward but its an entirely different story if you want to generate colors other than Red Green and Blue. Since we wanted to create a gradual colour wave effect, fading smoothly along the spectrum, we had to take it to the next level.

As always, a major part of the fun is problem solving, so looking for how-to’s online was out of the question. Having played with animation in the past, we felt that it would be a direction worth exploring. It was time to revisit a hundred years old invention.

One evening, on October 28th 1892, a French science teacher by the name of Charles-Émile Reynaud screened the first animation clip in a Parisian museum. This event would later become an important stepping stone in the life of modern Cinema, Animation, Computer Graphics and even Electronics as you’ll soon see.

Reynaud produced the illusion of movement using a sequential set of drawings, having each frame painted directly on a transparent film strip which was then projected using a special device. He discovered that projecting consecutive illustrations fast enough, an illusion of continuous motion can be created.

We wanted to use that same idea to simulate color tones by switching between base colors really fast. Just like animation, when played in the right speed, our mind connects the frames (or colors in our case) and mixes them together. For example, flickering Blue and Red lights in the right speed, will generate the illusion of a steady magenta color. To make the color more bluish, just keep the blue color on longer in each flicker cycle.

Driving current pulses within in specific frequency interval is called a Duty Cycle. A LED which is kept on for half the time of an interval (usually one second), is referred to as having a 50% Duty Cycle.

RGB LED Explanation of Duty Cycles

Magenta color generated by 50% Red and 50% Blue Duty Cycles

To create a Duty Cycle we needed a clock and a controller. Luckily, Arduino has a clock and a PWM chip (Pulse Wave Modulation) built right into it.

Step Two: Testing Our Theory

In photoshop, we blended several colors, and grabbed their RGB values using the color picker tool. To make things simpler, we created a Duty Cycle of 255 microseconds (aprox 3.9Khz). Now, it was easier to translate photoshop colors to the LED light color. And… it worked!!!

Photoshop Color Picker - Sampling Colors for Plasma Energy Cell Replica

To get the light colors really smooth, we needed apply massive diffusion to the LED’s directional light. We started by covering the LED with a white disposable plastic cup which looked pretty lame, so we replaced it with a semi-transparent sphere which was originally designed for protecting lights in public places. The sphere can be found in most hardware stores (you can see it in action in the movie below).

Step Three: Applying animation to LED colors

Now that we laid the foundation for generating any color we wanted (16.7 million shades), it was time to create some color motion. To achieve that, we divided the visible spectrum into six groups, each being a transition by itself: From Red to Red + Blue, from Red + Blue to Blue, etc. Running those in sequence would yield:

Red => Magenta => Blue => Cyan => Green => Yellow => Red

Here’s how a single transition effect looks like:

// from BG(blue + green = cyan) -> G(green)
for(int i = 255;i>-1;i--){
 // call our function that knows how to generate light in any 
 // RGB value we want
 light_color(0,255,i,0);
 delayMicroseconds (SPEED);
}

After applying some tweaks, we finally got it to work. We think it came out pretty awesome:

Later on, we added a pause button to keep our favourite light color steady, and brightness control by adding white light into the duty cycle mix. You can see this in the code below.

Download the code, make one for yourself and let us know how it works:  https://gist.github.com/shaiwininger/6404161

China 2013: Beijing

A girl taking a rest from the immense China heat

This year, we went on an unusual vacation. We all had enough of Europe and wanted to do something a little more adventurous. China seemed like the perfect destination. After more than a month of planning and research, we managed to build a dream itinerary which would let us taste several very-different flavours of this gigantic country.

Our first stop was Beijing. This huge metropolitan is like nothing we’ve ever seen before. Although I got a chance to briefly visit the city while on a business trip a few years back, it has changed dramatically since then, to the point were I could hardly recognise any of the areas I’ve been to before. The most noticeable change was the amount of western luxury shops and fast food chains that now occupy most of the main streets of the city. We’ve stumbled upon brands like Patek Philippe, Leica, Hermes and Ferrari around the area of our hotel.

The sheer size of this city with its wide roads and monstrous buildings leave you in great awe. The scale in which China grows and operates is just unbelievable.

Beijing skyline

After spending days walking the endless maze of streets and alleys, we began to discover the underbelly of the city, buried under heavy concrete layers of the industrial and western revolutions. Hidden away from the main streets, you’ll find gems left from the old city of Beijing characterised by small houses, narrow streets and more traditional looking people. It felt like the city officials have been investing a lot of resources to hide these old parts of the city and to replace them with big hotels and shopping centres.

In a way, I guess that’s a good example of China’s identity conflict caused by the younger generation who pushes to become more western and the old conservatives who want to see China stay what it was many years ago. Corporate america on its part, seem to be taking advantage of this fact, by opening ridiculous amounts of Starbucks, McDonalds and KFC branches all over the place.

Beijing Starbucks Branch, near the hutong area

A local Starbucks branch, embedded nicely within a traditional Hutong neighbourhoods

If you feel adventurous (and we did), you’d try some of the great street food this city has to offer. I had the best dim sum and noodle soup ever (and I don’t even like dim sum), in a small noodle shop that looked like a place we wouldn’t set foot in on a normal day. If you plan on visiting China and are used to a high level of hygiene like I do, you’ll need to work on yourself to get into character to fully enjoy this place.

Cooking dim sum near the forbidden city - Beijing, China2X2A2109 2X2A2108

People who live in the old streets look like lost farmers in the big city. I assume that most of the old generation no longer posses any relevant skills for the new modern city and its economy. The traditional ‘Hutong’ neighbourhoods with their endless maze of narrow streets and small gray houses are a great place to go back to the old Beijing, which to me is much more appealing than the western parts. We hired a rickshaw in one of the Hutongs and took an amazing hour-long ride in the area.

Two Chinese girls playing in a Hutong Neighbourhood in Beijing

Notice the real life Mahjong cubes? I wonder if they have bejeweled…

Chinese guy walking - Hutong, Beijing

Cruising da hood

Furry dogs in a Hutong Street - Bejing China

Seems that the Beijing has a thing for uber-furry dogs

A guard doing nothing much...

There’s a guard for that. Useless guards keep unemployment down.

Well, if you’re in Beijing, you have to see the major attractions the city has to offer: Tiananmen Square, the Forbidden City and the Great Wall. Although these places are packed with tourists (mostly Chinese to our surprise), they are worth the visit and will get you some great photo opportunities:

2X2A2654

posters in Beijing flee market

2X2A2633

2X2A2097

2X2A2507

2X2A2142

2X2A2652

Proximity detection using Ultrasonic Sensors

Another important milestone in our way to building our first robot is the ability to detect objects and measure their distance. As always, we wanted to go hardcore, and skip all kinds of ready-made kits and shields. After doing some research we found this very cheap component (HC-SR04) on dx:

Lightroom

The HC-SR04 sensor module has a working voltage of DC 5V with static current of less than 2mA. This makes it a perfect match for the Arduino. The HC-SR04 spec claims to be able to have a detection range of 2cm – 450cm. In our tests it we succeeded to get signals for objects placed at a maximum distance of 2.7 meters. The unit has 4 ports: VCC, Trig, Echo and GND.

The way this baby works is by shooting a very high frequency sound pulse, and listening to returning bounced echo on the Echo port. Since the speed of sound is a known constant, we can evaluate the distance of an object by the measuring half the time a sound pulse takes to reach the sensor after it has bounced off a nearby object.

Google Chrome

To use the sensor, you basically need to send pulses to the Trig pin, while listening to resulting pulses on the Echo pin. Notice that the spec mentions a minimum trigger signal width of 10µs. So, the formula for calculating the distance is pretty straight forward and goes like this:

object distance = pulse width (µs) / sound speed (µs/centimeter) / 2

Here is a simple method for measuring the distance based on the above:

int TRIGGER = 3;
int ECHO = 4;

long capture_signal()
{
 // fire the trigger signal
 digitalWrite(TRIGGER, LOW);
 delayMicroseconds(2);
 digitalWrite(TRIGGER, HIGH);
 delayMicroseconds(10);
 digitalWrite(TRIGGER, LOW);
 // look for incoming signal coming from the Echo pin
 return pulseIn(ECHO,HIGH);
}

long get_distance()
{
 pulse_width = capture_signal();
 return pulse_width / 29 / 2;
}

Since we did not have the LCD display hooked up yet, we created a simple bar graph made out of a series of LEDs, that lights up based on proximity to a detected object. Here is the result:

As you might notice from the video, the sensor has a very narrow field of view. I guess that in real life, and on our future robot, we will have to use a few of these sensors pointing to several directions in order to improve the perception of space around us.

User Experience Innovation: Live Statistics on the New Fiverr V2

Sometimes usability problems are caused by the smallest of details. This was the case with our financial statistics display in the old version of Fiverr.

For most people, making sense of financial data is a painful task. Both new and veteran users often get puzzled while trying to understand what led to their current account balance. This was a good reason for them to turn to our customer support, which was a big time waster both for them and for our team.

Here’s how revenue statistics used to look like:

Fiverr Old Statistics and Analytics View

As you can probably see, it’s hard to tell why in this case, the seller has a total of $260 available and how the other financials work together. There’s also a lot of clutter caused by lots of small text which was put there in order to explain what this stuff mean.

As part of the site’s redesign, we worked hard on making everything as simple as possible. The financial statistics area was one of our primary targets to overhaul.

The beauty of scientific typography

I was always intrigued by the typographical qualities of math and physics formulas. The fact that complex ideas can formulate into simple, short, mathematical expressions written in the universal language of science is nothing short of magic.

blackboard

Grabbing typographical inspiration from formulas felt right, but also presented some challenges:

  1. How do you make a simple formula that everyone could understand at first glance?
  2. How do you avoid the clutter of having too many details for people who don’t need them?
  3. How do you reveal the formulas only when the time is right?

A deeper look into related support tickets revealed that our users are looking at their statistics for two reasons:

Vanity Gazing

At the heart of the Fiverr experience lies gamification. People want to see how well they are doing. They want to watch numbers grow and bars move. We all like green gauges but can’t stand the red ones. This is a fun and rewarding experience on a very basic level. We find sellers focus much of their energy on improving their stats.

When you want to see how you’re doing, there is no need for anything other than a set of big, key figures, nicely laid out on the page. Any small type text or explanations will just diminish the experience.

Account Balance Evaluation

Unlike vanity gazers, users who are looking to really understand why a number is what it is, need a different set of tools, or in our case, a different display. We assumed that people looking for deeper understanding would be interacting with the display more than others, potentially looking for tooltips. This was the trigger of creating a live formula that comes to life as the user hovers over it. As you can see in the video below, a mouse hover action triggers the appearance of the formula operators who ‘wrap’ the stats with logic. It’s as if users can unveil a hidden layer of information merely by looking at the numbers (well, actually by pointing their mouse).

Here’s the Live Statistics bar in action in the New Fiverr:

I invite you to try this and other innovative ideas built into the New Fiverr: Try Now!

It’s official. Fiverr V2 is here, and it kicks ass!

As you might have heard, yesterday we unveiled the next generation of Fiverr.com, also known as V2! We’ve been working on this version, day and night, for almost a year now. Quietly keeping everything under NSA-grade secrecy. You can only imagine how excited I am to be able to talk to you about this at last.

The new version is nothing short of a game changer. It takes user experience to whole new level, allowing users to sit back and enjoy the endless pool of creative talent available on the site in a new stunning way.

The new version is not available for everyone just yet, but you can get a glimpse into the new features and join the waiting list here:

http://fiverr.com/v2/start

If you want early access, share this page and ping me.

A new Fiverr! Get early access to V2

Hacking Electronics

In the past few months, apart from working my ass off on our latest secret Fiverr project which will soon be revealed (shhhh), I’ve taken a deep dive into something that was always on my one-day-ill-do-that list.

Even though software programming was always my biggest passion, I found myself looking at people who can actually build physical things with great envy. I too, wanted my projects to go beyond the computer screen and into the real world.

Welcome to the wonderful world of microelectronics

A few weeks ago, me and my 11 year old son (Ori) who is totally hooked on programming and everything digital like me, started toying with the idea of building a light mirror, which digitally reflects your silhouette with light as you stand in front of it. We knew then, that it was time for us to teach ourselves electronics.

As we started, I had very little knowledge about electronics, both in theory and in practice. So we got ourselves some theory books for beginners. This was a must since unlike software, you really need to plan ahead (removing soldered parts is not as easy as changing a line of code). Even the simplest of circuits requires you to choose the right resistors, capacitors and other stuff you might want to put on there. This is why getting the theory along with the practice was so important for us.

As a programmer, microcontrollers are electronics nirvana. These amazing little chips let you control how current flows using C++ code! Watching leds flashing as a result of a programmed loop was nothing short of magic to us.

To make life easier while taking the first steps into this world, we chose Arduino as our development platform. Arduino is driven by an Amtel ATmega16U2 chip, and hosts a USB port that provides a smooth way to upload your code onto it. Arduino comes with 14 digital I/O ports and 6 Analog inputs which let you measure signals or send current through specific ports when you want to.

14 digital ports are not a lot, but as it turns out, there are several techniques to multiply them using daisy chains with other Arduino boards or by using Pulse Wave Modulation chips (PWMs).

Here’s our first project ever using Arduino. It’s pretty lame, I know, but you have to start somewhere:

IMG_6428

After getting tired of turning Leds on and off using code, we felt ready to take it a notch up. So we jumped into dx.com and got ourselves some sensors, engines, crazy RGB Leds and more.

Building a light meter

Playing with light was the first thing we’ve done. We wanted to try to build a light meter that will turn on a series of Leds based on the amount of light it detects. Luckily, one of the items we ordered was a photo-resistor. Since photo-resistors change their resistance based on the amount of light you throw at them, it sounded like the perfect tool. But wait, how do you convert this simple low-level functionality into a real light meter with Led graph? Well, after putting some thought into this, we decided to create two circuits: one for measuring the amount of resistance our photo-resistor produces, and another, that will light up a series of Leds as a result of the amount of voltage drop through the photo-resistor. It worked, and we were so proud!

Check out our first real project – a light meter:

Stay tuned for more amazing stuff soon. We have big plans for this new hobby, and we’re just getting started.

Been a while…

Guys,

I know it’s been a while since I posted something, but I can assure you it’s all for a good reason. You see, we are working on something big… really big, for Fiverr. Unfortunately, as much as I want to, I can’t share it with you just yet. Just trust me on this one, its worth the wait.

Don’t give up on me. Updates and sneak peeks coming soon…