Category Archives: Documentation

#oggstreamer – UserInterface for optional LEDs

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.

#!/bin/sh
while [ 1 ]; do
  echo 7 > /tmp/userleds
  sleep 1
  echo 0 > / tmp/userleds
  sleep 1
done

But also more useful tasks can be done, for example monitoring whether an IPAddr can be pinged.

#!/bin/sh
while [ 1 ]; do
  ping -c 1 $1
  if [ "$?" == "1" ]; then
     #ping did not succed -> display RED Led
     echo 4 > /tmp/userleds
  else
     #ping did succed -> display GREEN Led
     echo 1 > /tmp/userleds
  fi
  sleep 10
done

 

 

#oggstreamer – Batch Assembling 40pcs.(3) – Frontpanel assembly

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.
IMG_20130919_141429
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.
IMG_20130919_141437
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.
IMG_20130919_141600
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.
IMG_20130919_141710
Step 5: Do the same for the VU-Meter holes.
IMG_20130919_141715
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.
IMG_20130919_141736
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.
IMG_20130919_141505
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.
IMG_20130919_141756
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.
IMG_20130919_141847
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.
IMG_20130919_141931
Step 11: Insert the push button from the TOP side.
IMG_20130919_141954
Step 12: Mount the Pushbutton with plastic Nut – the force of your fingers is enough to mount the plastic nut securly in place
IMG_20130919_142011
Step 13: Insert the Potentiometer-PCB from the BOTTOM side.
IMG_20130919_142101
Step 14: Place the washer and the Nut for the Potentiometer from the TOP Side. And gently fix it with the flat wrench.
IMG_20130919_142117
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.
IMG_20130919_142152
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.
IMG_20130919_142228
Step 17: Glue the cable of the push button according to the picture. (optional)
IMG_20130919_152849
The final result:
IMG_20130919_153106

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.

#oggstreamer – Batch Assembling 40pcs.(2) – THT Soldering

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 … 🙂

Part 1:

Part 2:

#oggstreamer – Batch Assembling 40pcs.(1) – LineOut Jack

Today we assembled around 40 front panels – like these ones:

SONY DSC

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

SONY DSC

2. Removing that anodized aluminium at the back of the front panel to ensure a proper grounding of the LineOut Jack

SONY DSC

3. Cutting a piece of copper tape (approx. 2,5cm)

SONY DSC

4. Making an additional cut to copper tape – this is where we will make the solder joint to the Jack

SONY DSC

5. Applying the copper tape to the back of the front panel (be careful with the orientation of the cut for the solider joint)

SONY DSC

6. Cutting the hole in the copper tape

SONY DSC

7. Inserting the Jack (once again check orientation)

SONY DSC

8. Place the plastic washer and the plastic nut on the Jack

SONY DSC

9. Mount gently the plastic nut

SONY DSC

10.Bend the cutout of the copper tape so it touches the first Pin (GND) of the Jack …

SONY DSC

11. … and solder it

SONY DSC

12. Solder the first capacitor (10nF 100V)

SONY DSC13. Solder the second capacitor (10nF 100V)

SONY DSC

The final result:

SONY DSC SONY DSC

Stay tuned for more Batch Assembling 40pcs. photo-series and videos … 🙂

#oggstreamer – BETA 1 Released

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.

#oggstreamer – Linux SDK

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.

#oggstreamer – EMC compliance Report

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 🙂

chamber1-emv

And another one from the ESD testing:

esd-emv1

#oggstreamer – Supportforum for OggStreamer

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/

#oggstreamer – Production costs – a rough estimation

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)

PCB 550
Special SMD-Parts 1650
Pick’N’Place + Standard SMD-Parts 2400
THT Parts 1150
Linux-Module
(XportPro)
2200
Sum 7950

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.

#oggstreamer – measuring the input stage (2nd time)

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:

Findings:

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.

Gain Channel Inbalance -3dB cutoff THD+N Crosstalk
Measurement 1 0dB 0.18 dB ~ 30 kHz < 0.2 % < -60 dB
Measurement 2 -15dB 0.57 dB ~ 27 kHz < 0.12 % < -60 dB
Measurement 3 15dB 0.27 dB ~ 25 kHz < 0.6 % < -50 dB

Conclusions:

  1. 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
  2. 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