I just added a small but neat feature I want to include in the V1.0 of the OggStreamer firmware – it is a user interface that allows to control the optional LEDs on the right side of the device.
How it works – the main application (oggs_app) is creating a named pipe in the temporary directory, the name of the file is /tmp/userleds
so the following command will set the optional green led on
echo 1 > /tmp/userleds
you can send any parameter from 0 to 7 to /tmp/userleds. The parameter is interpreted as binary representation of the leds. 1 is the GREEN led, 2 is the YELLOW led, 4 is the RED led. 0 is all leds OFF and 7 is all leds ON
this feature unfolds its potential when you combine it with shell scripts – for example – everyone likes blinking LEDs.
while [ 1 ]; do
echo 7 > /tmp/userleds
echo 0 > / tmp/userleds
But also more useful tasks can be done, for example monitoring whether an IPAddr can be pinged.
while [ 1 ]; do
ping -c 1 $1
if [ "$?" == "1" ]; then
#ping did not succed -> display RED Led
echo 4 > /tmp/userleds
#ping did succed -> display GREEN Led
echo 1 > /tmp/userleds
For the OggStreamer frontpanel I needed to come up with a solution to produce light-guides that direct the light from the VU-Meter, Power and On-Air LEDs. The first Idea was to use a 3D Printer and print this light-guides out of transparent PLA. But after trying to imaging how the light-guides would look like, I gave up on this Idea and developed a different process for this. Now I am using the transparent properties of Hot-Glue to act as light-guide and glue the LED-PCB in Place at the same time. The transparent Hot-Glue fills all the space of the CNC-punched holes in the aluminum front-panel. In order to produce a smooth surface I am using a glass plate.
Step 1: You will have to apply a lubricant on the glass plate to form a thin oily film so that the Hot-Glue doesn’t stick to good on the glass – which would make separating the completed assemble from the glass a pain in the a**. (Notice the broken glass plate from our attempts without lubricant!!) WARNING: You are using a glass plate, which can break and have sharp edges. So be careful and don’t apply excessive force – If your assembly got stuck on the glass plate you can use a Hot-Air-Gun to separate it, clean it and repeat the process.
Step 2: Evenly spread the lubricant – don’t wipe it of the plate, but try to produce a tiny but consistent film on the glass plate, without producing droplets.
Step 3: Fix the aluminum front-panel with office clips to the glass plate – adjust the office clips in a way so that they will help you aligning the LED-PCB.
Step 4: Wait till your Hot-Glue Gun has reached steady temperature and begin applying the Hot-Glue just over the holes of Power and OnAir LED. Remember to do this and the following steps quickly, because you only have a limited time windows to apply the LED-PCB proper.
Step 5: Do the same for the VU-Meter holes.
Step 6: Once all glue is applied gently push in the LED-PCB – So that the still liquid Hot-Glue is pushed towards the glass plate.
Step 7: The Hot-Glue is still liquid for a few seconds, you can use the time to turn around the glass plate to see if the LED-PCB is properly aligned and if needed adjust its position.
Step 8: Let the assembly cool down – if you are producing more then one unit, you can use this time to prepare the next one.
Step 9: Remove the cooled down assembly gently – you shouldn’t need to much force – as the applied lubricant forms a layer between the HotGlue and the glass. In any case be careful – you are handeling a glass plate which has the chance to break – The glass plate you see in the picture broke because we were trying to seperate the assembly from the glass plate using a screw driver.
Step 10: Now you can start installing the push button and the potentiometer – We start with the push button first. Take care not to forget about the elastics ring that comes with the push button.
Step 11: Insert the push button from the TOP side.
Step 12: Mount the Pushbutton with plastic Nut – the force of your fingers is enough to mount the plastic nut securly in place
Step 13: Insert the Potentiometer-PCB from the BOTTOM side.
Step 14: Place the washer and the Nut for the Potentiometer from the TOP Side. And gently fix it with the flat wrench.
Step 15: Press the prepared Potentiometer Knob on the the Potentiometer – You might need to use a drill (6mm) to prepare the Knob. Only push the Knob with gentle force.
Step 16: Use the corner of a Table (or something similar) to support the Potentiometer from the backside and apply a bit more force so that the Potentiometer Knob is securely mounted to the Potentiometer.
Step 17: Glue the cable of the push button according to the picture. (optional)
The final result:
Although this process works very well – you need to take into account that gluing the PCB in Place makes it a bit harder to repair or replace. You will need to use a Hot Air-Gun to separate the aluminum front-panel from the LED-PCB, further you will need a little patience to remove the glue residue. But it is definitvly doable.
We received our PCBs from the manufacturer with all SMT Parts presolderd, but we still had to solder the THT Parts – The following two videos shows this process. Warning: You will see some improvised soldering … 🙂
Today we assembled around 40 front panels – like these ones:
the assembly of the cable to the Jack has been done before. Today we did the following steps:
1. Removing the anodized aluminium at the corners so that the screws make a proper electrical connection to the main body
2. Removing that anodized aluminium at the back of the front panel to ensure a proper grounding of the LineOut Jack
3. Cutting a piece of copper tape (approx. 2,5cm)
4. Making an additional cut to copper tape – this is where we will make the solder joint to the Jack
5. Applying the copper tape to the back of the front panel (be careful with the orientation of the cut for the solider joint)
6. Cutting the hole in the copper tape
7. Inserting the Jack (once again check orientation)
8. Place the plastic washer and the plastic nut on the Jack
9. Mount gently the plastic nut
10.Bend the cutout of the copper tape so it touches the first Pin (GND) of the Jack …
11. … and solder it
12. Solder the first capacitor (10nF 100V)
13. Solder the second capacitor (10nF 100V)
The final result:
Stay tuned for more Batch Assembling 40pcs. photo-series and videos … 🙂
Hi out there here is the Release of BETA 1 Software:
BETA 1 Introduces the following enhancements:
- WebGUI for Configuration
- autoreconnect for IceCast2
- Integration in the OggStreamer SDK
- Title, Description and Genre Options for IceCast2
- stm8flash (update the STM8 Firmware directly)
- In Setup-Mode Password is now defaulted to “PASS”
- optional Two Stage Mode (STOP/STREAM) instead of (STOP/MONITOR/STREAM)
The Java-Player is not installed anymore.
I put update instructions on the wiki if you want to update your OggStreamer to BETA 1. I only recommend this for persons with solid linux skills.
I just finished the Integration of the OggStremear specific libaries and applications to the Lantronix XPortPro Linux SDK. Follow the instruction on the wiki if you want to install the SDK yourself.
Note that future updates of the SDK will most likely happen directly in the coresponding git repositories. The wiki also describes how to integrate the oggstreamer git repos to the build process.
With the help of EMV Consulting – we managed to test the OggStreamer for EMC compliance. We tested against EN61000-6-1:2007 and EN61000-6-3:2007 – the report of this measurement can be downloaded here.
Here a picture from the “secrete chamber” of EMC compliance 🙂
And another one from the ESD testing:
I just opened an support-forum for the OggStreamer – feel free post questions and feature request.
I also encourage all of you who are interested in using this Device to describe your personal use-case.
Here we go: https://sourceforge.net/p/oggstreamersupp/discussion/
Here I want to give you an Idea – of how much the production of 50 OggStreamers costs.
The following calculation still leaves the following costs:
- NRE costs for soilder stencils
- NRE costs for programming of the pick’n’place machine
- machining of the case
- laser-engraving the case
- THT soldering
- Final assembly
all prices in EUR (without taxes)
|Pick’N’Place + Standard SMD-Parts
thats roughly 200 Euros per Device (as a conservative Estimation) – a more realistic Estimation would conclude with apprx. 160 Euros per Deivce. – remember these are not the final production costs, because this calculation leaves out the above mentioned points.
The OggStreamer-Device started as a Hobby-project and evolved over time – it is an ongoing Experiment so to say – and it was never cost optimized. All our design decisions were carried out the way that we wanted it to be – we didn’t waste a thought about the economic feasibility of this project. 🙂 So it is kind of miraculous that we have come that far in this process. A pilot run of 12 devices was accomplished with the generous support of many friendly people and our supporters. And there is more to come we recently secured the sponsorship for the production of 50+ devices from the “Internet Foundation Austria” – who acknowledged the value of this Project and OpenHardware in general. The OggStreamer is now part of the “NetIdee 2012” sponsored projects.
Today I had an in detailed look on the input amplifier of the OggStreamer – i documented the measurement in this report.
If you don’t want to read the full report – I copy’n’pasted the summary here:
The input amplifier stage of the OggStreamer performs in almost all respects as desired. One problem showed up during the measurement: The Inbalance of Gain between Channel A and Channel B. Further investigation proved that the Potentiometer is responsible for this Inbalance. We already took care for a second option for the potentiometer while desing the OggStreamer. The option would be a Vishaytype of Potentiometer – for the next batch of OggStreamer devices this will be an economic decission whether or not to use the Vishay-Poti (12 Euro) or the ALPS-Poti (1,2 Euro). Apart from the Inbalance-Issue the ampilifier works as desired.
||~ 30 kHz
||< 0.2 %
||< -60 dB
||~ 27 kHz
||< 0.12 %
||< -60 dB
||~ 25 kHz
||< 0.6 %
||< -50 dB
- We will specifiy the input stage of the OggStreamer for +/- 15dB Gain – in reality it is a little wider but for the docs we will stick with +/- 15 dB
- The ALPS-Potentiometer performs mediocre – We will test an alternative VISHAY-Type (Order Code: 148DXG56S103SP) and evaluate if we can afford using this more expensive Potentiometer