The "RobinPad" - a mobile internet live streaming station
1. A long time ago in a galaxy far away...
How many times you went out to what you thought was a great event or great dinner or great club with a lot of expectations? A lot of, I suppose.
How many times you just went out for something you thought was not especially exciting and you met someone or did something that changed yourself somehow? Not so many, unfortunately.
So, thinking that probably I was missing the only possibility I had to sleep until late for that week, on a gray saturday of last april (2007) I woke up quite early and lazily moved on my motorbike in the city centre, to attend a Barcamp. It was during a conference that I saw a funny man with a plaster on his nose struggling with a laptop, a webcam, a radio microphone and a lot of wires. I was sitting next to Tommaso Tessarolo that I happily met an hour before and he was telling me "look, he's Robin Good, great! He is video streaming the conference on the Internet!". This happening had two effects: the first one was that I immediately started to think about ways to stream videos in a situation like that, avoiding all those boring and uncomfortable wires and devices. The second effect was that I totally missed the conference speech. Lately I went back home and I was searching in the internet for informations about this strange guy. I found that he was doing really a great job giving the possibility to everyone to listen to the speeches of this kind of events, and not only! He was so smart to outcome the work routine becoming his own boss through internet independet publishing and, on top of all, a lot of his work was in trying to share his experience and his tricks to let everybody do the same! He was saying he was coming from Sharewood, the forest of sharing. So I definitely thought I would try to help him. I sent him an email explaining what I thought we could do together and he just answered "Hi Fabio, you're the man I was waiting for a long time" then we started to have a lot of fun together experimenting new and improbable mash-up devices. This page describes the construction and the evolution of the so called "RobinPad", the tricky device born from the collaboration beetween RobinGood and BlaXwan.
2. Let's build... what?
At the first time I thought to take a mini-ITX motherboard and use it with some batteries as base for a simple steadycam in order to have also a more stable video, but this could have been quite expensive as a first attempt. So we thought to go for a backpack where to place the notebook and all the other devices and a small consolle to have at least some basic functionalities like:
I thought to take an old rucksack, rip out the bag and use just the structure, the day after Robin had already done it!
Then we noticed that the laptop was running quite hot on the backpack tissue and I bought also an alluminium fan pad for the notebook, but lately we abandoned this idea for weight reasons and also because Robin discovered that placing the notebook upside down was enough to keep it cool. So we had a quite comfortable notebook on the back, low battery autonomy and no streaming feedback. We definitely needed a sort of consolle.
To accomplish this goal we needed a monitor and some buttons. We saw there were a lot of monitors in any flavour so this was not an issue. On the other side we had to find an input device that may act as a small control panel with the monitor.
We tought about USB numpads but they were too big, then we went on custom I/O cards (like a PIC based one that communicates via RS-232) but this kind of communication would need more software developement. Robin is a very active and fast boy, we needed a quick and dirty solution! So I thought to buy a small joypad and use it as it is.

So, first times, Robin and sometimes myself, went streaming with this joypad fastened to the belt and, of course we realized that it was definitely not so comfortable. On the other side, I found a lot of quite ready software that accepted this kind of input device. So I decided to keep the values of the joypad but to get rid of its defects, I would use just the electronics of the joypad and convert it in a smaller box that could be coupled with a small LCD monitor.
3. Building a custom USB pad
I carefully unscrewed and opened the joypad to see how I could embed it into a smaller box. Of course those instructions cannot apply to all joypads because circuits and technologies may vary from one brand to another and also through different models, I'm writing just to give you the basic idea.

I saw that the electronics was made by 3 circuit boards: a main one containing the main chip, a small cabling one and a third one (the bigger) containing all the buttons contacts, bingo! Of course I could get rid of the third one saving some space, I would replace it with a custom circuit board holding my buttons.
So I measured the remaining boards to determine the size of the plastic box to buy.


At this point I had to prepare a board for the buttons. Since there were no particular needs for circuit connections I decided to use a prototyping board wiring it directly to the joypad circuit board.
So I placed the buttons on the prototyping board and decided for its size, then I cut it with the Dremel, and soldered the buttons.

Then I had to prepare the box, I sticked two paper tape stripes on it to ease the drawing of the drilling points. Then I drilled the holes for the buttons and I used hot-glue to place a small piece of wood inside the box beetween the two buttons row, this piece of wood is used to screw and hold the circuit board in place in order to avoid any screw on the front panel.

At this point I had to prepare the joypad circuit board. First step was to remove the unused board and trim the good one (I just cut out the edge of the board where the two vibration motors were soldered, luckily useless parts).

I soldered a common ground for some buttons, grouping them as I saw on the original button board of the joypad. Then I used some colored wires to connect my custom button board to the joypad mainboard.
Figure: soldering the wires on the buttons circuit board.
Someone watched this phase live: Robin was so happy about what we were doing that he invited me to during one of his evening streaming shows, so I was happy to stream from my home some of this work and a brief description of what we were trying to achieve. When the boards and the box were ready, finally, last step was to connect my custom buttons board to the joypad one.
Figure: connecting the two boards.
The joypad I bought was made to connect both to a Playstation or a PC, so it had also a Playstation connector. So, since I disliked this additional useless connector, the very last step was opening the connector, cutting it's wires and insulate them with some tape, so that the pad would have just one connector at it's end.
Figure: cutting the Playstation connector away.
Here follows a picture of the button pad, once completed:
Figure: DONE!!!
Finally we could also operate the notebook in the backpack without open it! Then Robin got a new laptop and the battery duration was no more an issue. We were at a good point, we needed just a small monitor and something to hold it together with the USB pad.
4. Building an adjustable consolle holding arm
The goal was to have a standalone consolle that may stand in front of the mobile operator. We considered different solutions like someting to tie to the pants belt or to the backpack belt, at the end of the game we decided for a flexible arm coming out from the backpack itself (lately we realized that this was uncomfortable as well).
With this kind of solution, the first step was to build a plate that may hold the buttonpad and the monitor at the same level. So I decided to build it with plastic using a PVC pipe like the one used in the sewage systems, of course I took a new one, not an used one! I cut it and placed in the owen at about 130° Celsius. After 8-10 minutes it was so tender that I can easily take it out and straighten it out beetween two sheets of wood in order to have a good PVC plain sheet.
Then I prepared a base to properly bend the PVC sheet in order to give it the right shape for holding the buttonpad and the monitor.
Figure: the "professional" bending base.
Figure: buttonpad and monitor fitting on the bending base.
Then I cut a rectangular piece from the PVC sheet a little bit bigger than required (because I knew I can't be so precise in bending it) and put it again in the owen for another 5-8 minutes at 130°C. When the PVC was soft enough I took it and placed on the base and pressed it with other plain surface objects for some minutes, until it cooled down again.
Figure: bendng the PVC rectangle.
After some minutes the PVC piece was cold enough to continue to work on it.
Figure: the PVC properly bent.
So I placed the monitor and button pad on it and drawn the contours to cut.
Figure: the PVC now has also the right shape.
Figure: the plate now perfectly holds monitor and buttonpad aligned.
To build the flexible arm we thought about use an adjustable table lamp, but, at the end I decided to use steel wire to build it. I put together multiple pieces of steel wire, I gave them a good shape and hot-glued them on the bottom of the holding plate. I introduced the steel wires in a piece of pipe for electrici wires and, on the other end, I just bended out the steel wires and hot-glued them in a larger threaded pipe that may be easily screwed to something that I had to attach to the backpack.
Figure: building the flexible arm.
Last step was preparing something that may hold the flexible arm with the backpack, something where to fasten the arm with. I cut a thin piece of wood in the size of the notebook that I would put beetween the notebook and the backpack so that the backpack stripes would hold it with firmly in position.
Figure: preparing the flexible arm holder.
Work done! We had a "hanging" consolle! Of course the rubber bands were just a temporary solution, they were replaced by velcro:
Figure: the consolle finished.
Great! We had a working backpack with a working consolle! Robin went streaming all along the city immediately! And, of course, I was proudly watching him through the Internet, sending SMS from time to time to give him additional feedback.
5. First evolution: building a case for the backpack
The quantity of devices, batteries, cables and connectors grew too much especially when Robin decided to buy a very nice and small tube camera. This camera had a composite video output so we had to use also a video to USB converter. In addition the new notebook had no composite video output (as the monitor was requiring) so we had to use also a VGA to composite video converter. So every time he had to wear the backpack, we had to close the laptop, put the wood sheet that held the flexible consolle arm and fasten it to the backpack then try to hold in the stripes also the two converters, a mini USB hub and the small battery pack needed by camera. This had to be done at least two-three times because every time a cable get disconnected during the operation: this was too much!
So I decided that it was the time to put all the things together and close them on a more comfortable and reliable box. This way I could consolidate all the cables and simplify the use and (why not?) the appearance of the whole system.
I disliked the classical square box, I wanted a nice shape for it so I went to a big store to get some ideas. I found something interesting in the shelves of the electric pipes area. I bought two plastic shells that are used to curve into the wall the plastic square pipes that are used to run wires on a wall. I don't know if I gave the idea of what they were, you'll probably better understand looking a the following picture, anyway those plastic shells were perfect for my purposes.
Figure: the plastic shells I bought for the backpack box.
I just resized the two shells and cut the corresponding shape in a thin sheet of wood in order to have the base. Then I painted with black both the base and the "round box".
Figure: the two plastic shells cut and then glued together.
Once I had my fancy box, I started to drill some holes in it where to screw the connectors and the switches. Then I made all the circuitry soldering and all other stuff. I used elastic stripes to tie the batteries and the converters to the box base. Here are the results.
Figure: completing the box.
Figure: testing the new box, on the side you can see also the flexible arm.
6. Building a light sign
At this point we had quite a nice equipement, apart from some, ehm, minor software issues we had the mobile streaming station with the fancy consolle that we were desiring! So it was time to proudly advertise it! Instead of using a simple printed sign, I wanted to build something that may be switched on when the backpack was streaming. So, thanks to the great MaxMagnusNorman tutorial, I decided to build a light sign with plexiglass and white LEDs. Actually it was really simple and I had a lot of fun experiencing materials that I never used before.
As first step I cut a piece of plexiglass (acrylic glass) and I painted on it the writing using a masking paint. This is liquid latex that get dry very fast and may be easily removed just using the fingers.
Figure: the writing with the masking liquid.
Then I painted the whole front surface with a black spray and, after the paint has dried, I removed the masked part.
Figure: the painted sign before and after removing the masked writing.
Last step was carving in the sign the place to hold the white LEDs and soldering them on the back of the sign. I put also an alluminium foil on the back to reflect the LED light in order to have a brighter effect.
Figure: LEDs wiring and a detail of their placement in the sign.
Work done!
Figure: RobinGood wearing our "creature".
I was so happy to have quite a good equipment that I also printed some labels to stick to the cables and the box in order to give it a more "professional" look :o) (and also to avoid to forgive the connectors use).
7. How it works
For the "action" part actually the RobinPad is running a great scripting tool called Autohotkey that may process user input and perform some actions like also clicking somewhere in the screen. This is essential because we're using an internet streaming site, UStream, that requires a Flash encoder launched from the browser to run. This means that at least "something" needs to click in the browser to activate the channel streaming, launch the steaming window and start the show. Until we use this approach we cannot switch to a custom encoding system, but I'm really confident that we would move over shortly.
The basic idea of the button pad is to use the upper buttons row for fixed and frequently used functions, leaving the lower buttons row as general purpose buttons. Their functions change accordingly to what is shown in the monitor. This way we could implement more functions than the number of buttons (10).
Buttons of the upper row actually performs those functions (from left to right):
The lower buttons row perform the function shown in the following menu screens that are cycled pressing the "Menu" button. The first image is the Menu1 and the second and third images are the Menu2 in the HSDPA or WiFi flavour, they are cycled by pressing the "Go HSDPA" or "Go Wireless" buttons:
Figure: RobinPad's Menu1, Menu2HSDPA and Menu2Wireless.
Later I also added a splash screen that is shown when the system starts and a "locked" warning screen that is shown when the pad is locked (through the central upper button) and a button is pressed. There's also a "unlocked" warning screen that shows that the pad is unlocked when the lock/unlock button is pressed again:
Figure: RobinPad's splash screen and warnings.
For the monitoring part the RobinPad is running the UStream site in the browser and a greatly configurable-customizable-skinnable monitoring application called SysMetrix, it is really a shame that it is no more developed. That's how it looks (sorry for the very bad quality of the image):
Figure: Robin view.
In the black rectangle is shown the preview of the camera and the number of RobinGood.tv's viewers, the lower bar shows (from left to right): CPU utilisation, CPU temperature, battery percentage and time left, download and upload network throughput in Mbits per second, my ugly face.
8. Next steps
Actually there are a lot of improvements that may be done to the RobinPad. We should improve the reliability of the system and perform several software improvements, or better, I should write a real software for that system instead of using this SW collage. I'll try to resume all the improvements that we already took into consideration and the general directions where we want to move further.
From an hardware point of view it would be nice to:
From a software point of view it would be nice to:
Every suggestion is really really welcome,
cheers,
Fabio

How many times you went out to what you thought was a great event or great dinner or great club with a lot of expectations? A lot of, I suppose.
How many times you just went out for something you thought was not especially exciting and you met someone or did something that changed yourself somehow? Not so many, unfortunately.
So, thinking that probably I was missing the only possibility I had to sleep until late for that week, on a gray saturday of last april (2007) I woke up quite early and lazily moved on my motorbike in the city centre, to attend a Barcamp. It was during a conference that I saw a funny man with a plaster on his nose struggling with a laptop, a webcam, a radio microphone and a lot of wires. I was sitting next to Tommaso Tessarolo that I happily met an hour before and he was telling me "look, he's Robin Good, great! He is video streaming the conference on the Internet!". This happening had two effects: the first one was that I immediately started to think about ways to stream videos in a situation like that, avoiding all those boring and uncomfortable wires and devices. The second effect was that I totally missed the conference speech. Lately I went back home and I was searching in the internet for informations about this strange guy. I found that he was doing really a great job giving the possibility to everyone to listen to the speeches of this kind of events, and not only! He was so smart to outcome the work routine becoming his own boss through internet independet publishing and, on top of all, a lot of his work was in trying to share his experience and his tricks to let everybody do the same! He was saying he was coming from Sharewood, the forest of sharing. So I definitely thought I would try to help him. I sent him an email explaining what I thought we could do together and he just answered "Hi Fabio, you're the man I was waiting for a long time" then we started to have a lot of fun together experimenting new and improbable mash-up devices. This page describes the construction and the evolution of the so called "RobinPad", the tricky device born from the collaboration beetween RobinGood and BlaXwan.
2. Let's build... what?
At the first time I thought to take a mini-ITX motherboard and use it with some batteries as base for a simple steadycam in order to have also a more stable video, but this could have been quite expensive as a first attempt. So we thought to go for a backpack where to place the notebook and all the other devices and a small consolle to have at least some basic functionalities like:
- a preview of the webcam
- having some information about the system like connection status, available bandwidth, battery status etc.
- start and stop streaming functions
I thought to take an old rucksack, rip out the bag and use just the structure, the day after Robin had already done it!
Then we noticed that the laptop was running quite hot on the backpack tissue and I bought also an alluminium fan pad for the notebook, but lately we abandoned this idea for weight reasons and also because Robin discovered that placing the notebook upside down was enough to keep it cool. So we had a quite comfortable notebook on the back, low battery autonomy and no streaming feedback. We definitely needed a sort of consolle.
To accomplish this goal we needed a monitor and some buttons. We saw there were a lot of monitors in any flavour so this was not an issue. On the other side we had to find an input device that may act as a small control panel with the monitor.
We tought about USB numpads but they were too big, then we went on custom I/O cards (like a PIC based one that communicates via RS-232) but this kind of communication would need more software developement. Robin is a very active and fast boy, we needed a quick and dirty solution! So I thought to buy a small joypad and use it as it is.

Figure: the small joypad we used
So, first times, Robin and sometimes myself, went streaming with this joypad fastened to the belt and, of course we realized that it was definitely not so comfortable. On the other side, I found a lot of quite ready software that accepted this kind of input device. So I decided to keep the values of the joypad but to get rid of its defects, I would use just the electronics of the joypad and convert it in a smaller box that could be coupled with a small LCD monitor.
3. Building a custom USB pad
I carefully unscrewed and opened the joypad to see how I could embed it into a smaller box. Of course those instructions cannot apply to all joypads because circuits and technologies may vary from one brand to another and also through different models, I'm writing just to give you the basic idea.

Figure: inspection the joypad circuits.
I saw that the electronics was made by 3 circuit boards: a main one containing the main chip, a small cabling one and a third one (the bigger) containing all the buttons contacts, bingo! Of course I could get rid of the third one saving some space, I would replace it with a custom circuit board holding my buttons.
So I measured the remaining boards to determine the size of the plastic box to buy.

Figure: measuring the circuit board.
I found the one shown in the following picture, which actually was a little bit smaller than the board it had to hold but I thought that it was better to trim the board a little bit instead of using a bigger box (the bigger size was really cumbersome). I bought also 10 board soldering buttons.
Figure: the plastic box and the buttons.
At this point I had to prepare a board for the buttons. Since there were no particular needs for circuit connections I decided to use a prototyping board wiring it directly to the joypad circuit board.
So I placed the buttons on the prototyping board and decided for its size, then I cut it with the Dremel, and soldered the buttons.

Figure: circuit board preparation.
Then I had to prepare the box, I sticked two paper tape stripes on it to ease the drawing of the drilling points. Then I drilled the holes for the buttons and I used hot-glue to place a small piece of wood inside the box beetween the two buttons row, this piece of wood is used to screw and hold the circuit board in place in order to avoid any screw on the front panel.

Figure: box preparation.
At this point I had to prepare the joypad circuit board. First step was to remove the unused board and trim the good one (I just cut out the edge of the board where the two vibration motors were soldered, luckily useless parts).

Figure: joypad circuit board preparation.
I soldered a common ground for some buttons, grouping them as I saw on the original button board of the joypad. Then I used some colored wires to connect my custom button board to the joypad mainboard.
Figure: soldering the wires on the buttons circuit board.Someone watched this phase live: Robin was so happy about what we were doing that he invited me to during one of his evening streaming shows, so I was happy to stream from my home some of this work and a brief description of what we were trying to achieve. When the boards and the box were ready, finally, last step was to connect my custom buttons board to the joypad one.
Figure: connecting the two boards.The joypad I bought was made to connect both to a Playstation or a PC, so it had also a Playstation connector. So, since I disliked this additional useless connector, the very last step was opening the connector, cutting it's wires and insulate them with some tape, so that the pad would have just one connector at it's end.
Figure: cutting the Playstation connector away.Here follows a picture of the button pad, once completed:
Figure: DONE!!!Finally we could also operate the notebook in the backpack without open it! Then Robin got a new laptop and the battery duration was no more an issue. We were at a good point, we needed just a small monitor and something to hold it together with the USB pad.
4. Building an adjustable consolle holding arm
The goal was to have a standalone consolle that may stand in front of the mobile operator. We considered different solutions like someting to tie to the pants belt or to the backpack belt, at the end of the game we decided for a flexible arm coming out from the backpack itself (lately we realized that this was uncomfortable as well).
With this kind of solution, the first step was to build a plate that may hold the buttonpad and the monitor at the same level. So I decided to build it with plastic using a PVC pipe like the one used in the sewage systems, of course I took a new one, not an used one! I cut it and placed in the owen at about 130° Celsius. After 8-10 minutes it was so tender that I can easily take it out and straighten it out beetween two sheets of wood in order to have a good PVC plain sheet.
Then I prepared a base to properly bend the PVC sheet in order to give it the right shape for holding the buttonpad and the monitor.
Figure: the "professional" bending base.
Figure: buttonpad and monitor fitting on the bending base.Then I cut a rectangular piece from the PVC sheet a little bit bigger than required (because I knew I can't be so precise in bending it) and put it again in the owen for another 5-8 minutes at 130°C. When the PVC was soft enough I took it and placed on the base and pressed it with other plain surface objects for some minutes, until it cooled down again.
Figure: bendng the PVC rectangle.After some minutes the PVC piece was cold enough to continue to work on it.
Figure: the PVC properly bent.So I placed the monitor and button pad on it and drawn the contours to cut.
Figure: the PVC now has also the right shape.
Figure: the plate now perfectly holds monitor and buttonpad aligned.To build the flexible arm we thought about use an adjustable table lamp, but, at the end I decided to use steel wire to build it. I put together multiple pieces of steel wire, I gave them a good shape and hot-glued them on the bottom of the holding plate. I introduced the steel wires in a piece of pipe for electrici wires and, on the other end, I just bended out the steel wires and hot-glued them in a larger threaded pipe that may be easily screwed to something that I had to attach to the backpack.
Figure: building the flexible arm.Last step was preparing something that may hold the flexible arm with the backpack, something where to fasten the arm with. I cut a thin piece of wood in the size of the notebook that I would put beetween the notebook and the backpack so that the backpack stripes would hold it with firmly in position.
Figure: preparing the flexible arm holder.Work done! We had a "hanging" consolle! Of course the rubber bands were just a temporary solution, they were replaced by velcro:
Figure: the consolle finished.Great! We had a working backpack with a working consolle! Robin went streaming all along the city immediately! And, of course, I was proudly watching him through the Internet, sending SMS from time to time to give him additional feedback.
5. First evolution: building a case for the backpack
The quantity of devices, batteries, cables and connectors grew too much especially when Robin decided to buy a very nice and small tube camera. This camera had a composite video output so we had to use also a video to USB converter. In addition the new notebook had no composite video output (as the monitor was requiring) so we had to use also a VGA to composite video converter. So every time he had to wear the backpack, we had to close the laptop, put the wood sheet that held the flexible consolle arm and fasten it to the backpack then try to hold in the stripes also the two converters, a mini USB hub and the small battery pack needed by camera. This had to be done at least two-three times because every time a cable get disconnected during the operation: this was too much!
So I decided that it was the time to put all the things together and close them on a more comfortable and reliable box. This way I could consolidate all the cables and simplify the use and (why not?) the appearance of the whole system.
I disliked the classical square box, I wanted a nice shape for it so I went to a big store to get some ideas. I found something interesting in the shelves of the electric pipes area. I bought two plastic shells that are used to curve into the wall the plastic square pipes that are used to run wires on a wall. I don't know if I gave the idea of what they were, you'll probably better understand looking a the following picture, anyway those plastic shells were perfect for my purposes.
Figure: the plastic shells I bought for the backpack box.I just resized the two shells and cut the corresponding shape in a thin sheet of wood in order to have the base. Then I painted with black both the base and the "round box".
Figure: the two plastic shells cut and then glued together.Once I had my fancy box, I started to drill some holes in it where to screw the connectors and the switches. Then I made all the circuitry soldering and all other stuff. I used elastic stripes to tie the batteries and the converters to the box base. Here are the results.
Figure: completing the box.
Figure: testing the new box, on the side you can see also the flexible arm.I was really happy of this work considering that I did it in less than one day and half because I was about to leave abroad for work reasons! I was so short in time that I left it at home to Monica because I had to run to the airport. Next day Robin went to take it and I wrote him an email explaining what I made and how to use it, I really don't think that he read the email before testing it!
6. Building a light sign
At this point we had quite a nice equipement, apart from some, ehm, minor software issues we had the mobile streaming station with the fancy consolle that we were desiring! So it was time to proudly advertise it! Instead of using a simple printed sign, I wanted to build something that may be switched on when the backpack was streaming. So, thanks to the great MaxMagnusNorman tutorial, I decided to build a light sign with plexiglass and white LEDs. Actually it was really simple and I had a lot of fun experiencing materials that I never used before.
As first step I cut a piece of plexiglass (acrylic glass) and I painted on it the writing using a masking paint. This is liquid latex that get dry very fast and may be easily removed just using the fingers.
Figure: the writing with the masking liquid.Then I painted the whole front surface with a black spray and, after the paint has dried, I removed the masked part.
Figure: the painted sign before and after removing the masked writing.Last step was carving in the sign the place to hold the white LEDs and soldering them on the back of the sign. I put also an alluminium foil on the back to reflect the LED light in order to have a brighter effect.
Figure: LEDs wiring and a detail of their placement in the sign.Work done!
Figure: RobinGood wearing our "creature".I was so happy to have quite a good equipment that I also printed some labels to stick to the cables and the box in order to give it a more "professional" look :o) (and also to avoid to forgive the connectors use).
7. How it works
For the "action" part actually the RobinPad is running a great scripting tool called Autohotkey that may process user input and perform some actions like also clicking somewhere in the screen. This is essential because we're using an internet streaming site, UStream, that requires a Flash encoder launched from the browser to run. This means that at least "something" needs to click in the browser to activate the channel streaming, launch the steaming window and start the show. Until we use this approach we cannot switch to a custom encoding system, but I'm really confident that we would move over shortly.
The basic idea of the button pad is to use the upper buttons row for fixed and frequently used functions, leaving the lower buttons row as general purpose buttons. Their functions change accordingly to what is shown in the monitor. This way we could implement more functions than the number of buttons (10).
Buttons of the upper row actually performs those functions (from left to right):
- Menu cycling
- Start streaming
- Lock/unlock the buttons pad (to avoid accidental activations)
- Start recording
- Stop recording
The lower buttons row perform the function shown in the following menu screens that are cycled pressing the "Menu" button. The first image is the Menu1 and the second and third images are the Menu2 in the HSDPA or WiFi flavour, they are cycled by pressing the "Go HSDPA" or "Go Wireless" buttons:
Figure: RobinPad's Menu1, Menu2HSDPA and Menu2Wireless.Later I also added a splash screen that is shown when the system starts and a "locked" warning screen that is shown when the pad is locked (through the central upper button) and a button is pressed. There's also a "unlocked" warning screen that shows that the pad is unlocked when the lock/unlock button is pressed again:
Figure: RobinPad's splash screen and warnings.For the monitoring part the RobinPad is running the UStream site in the browser and a greatly configurable-customizable-skinnable monitoring application called SysMetrix, it is really a shame that it is no more developed. That's how it looks (sorry for the very bad quality of the image):
Figure: Robin view.In the black rectangle is shown the preview of the camera and the number of RobinGood.tv's viewers, the lower bar shows (from left to right): CPU utilisation, CPU temperature, battery percentage and time left, download and upload network throughput in Mbits per second, my ugly face.
8. Next steps
Actually there are a lot of improvements that may be done to the RobinPad. We should improve the reliability of the system and perform several software improvements, or better, I should write a real software for that system instead of using this SW collage. I'll try to resume all the improvements that we already took into consideration and the general directions where we want to move further.
From an hardware point of view it would be nice to:
- prepare another plastic holding base for the monitor and the button pad withouth the "suspended arm". This way Robin may decide wherever to be more visible with the arm or just hide the consolle in the jacket without the arm
- put some velcro on the consolle and on the backpack belt so that the consolle may be sticked on the belt itself
- add earphones so Robin may have an audio feedback and suggestion from the director consolle through a VoIP connection.
- thinking about a mini-itx motherboard to evolve all the system in a really embedded and self contained mobile streaming station (wow)
From a software point of view it would be nice to:
- find a piece of software that is able to play an mp3 "into" the microphone input in order to have some music background streamed in the video (the internet streaming site is accepting audio just from one source at time)
- try to leave the internet streaming site or get rid anyway of the need to use the browser and Flash encoder. Once this step will be accomplished we will go for a more reliable linux system (and we don't have to modify the SW to remap the mouse clicks every time that the streaming site changes the Flash encoder)
- write down the application for the linux box trying to keep all the functionalities we have now
- keep the whole software system as much modular as we can, the goal is the possibility to stream from directly from the RobinPad or just use it to stream towards a director's consolle that will mix up several video stream in order to have several operators or just let someone from home to get into the show.
Every suggestion is really really welcome,
cheers,
Fabio











Leave a comment