Planet Holoscópio

September 21, 2011

Blog Holoscópio

Holosblog ready to go!

Hello visitor! Welcome to the Holoscópio’s blog. Here you will find the lastest news and insights about what is happening inside Holoscópio and the product releases. You can find more at our Planet site, with blog posts from our engineers. And don’t miss the main content about us, products and services at our main site.

by Holoscópio Team at September 21, 2011 01:44 AM

Picture-in-picture and input preview in new SLTV release

A new version of the video streaming application SLTV was just released! This version introduces several new cool features, like input preview, showing living thumbnails of each video source registered, picture-in-picture, used to combine two video input sources (like in your TV), and media metadata. The new video codec VP8, used in WebM project, is also supported in SLTV 0.8, once you have a newer GStreamer distribution installed in your system.

by Holoscópio Team at September 21, 2011 01:43 AM

Open Source Hardware Definition

As you can see at http://freedomdefined.org/OSHW, a draft for free as in freedom and open hardware is at its 0.3 version.

We are very excited at what this sets in motion, like the Open Hardware Summit, and the discussion of business models, free and open hardware production and licenses.

Holoscópio has been working with free and open hardware and software since its beginning, almost two years ago. We have designed hardware to customers in the same spirit as that of the free and open hardware. And we plan on helping stablish this hardware development model as a standard.

We have been discussing about this topic at Holoscópio. Expect news from us soon.

You may find more about us at http://holoscopio.com/.

by Holoscópio Team at September 21, 2011 01:43 AM

Mouse Industrial sem Mesa

As necessidades da indústria são diferentes das necessidades que as
pessoas costumam ter quando usam computadores no seu dia-a-dia. Não é de
assustar, portanto, que mouses, apesar de tão bem recebidos por muitos,
apresentem seus problemas quando o uso é industrial.

Uma das características de equipamentos industriais que os distingue de
outros equipamentos é a confiabilidade que eles apresentam, não podendo
falhar, e tendo uma resposta determinística.

Não é à toa que aparelhos sem fio, muito mais propensos a interferências
eletromagnéticas não sejam populares nessa área. Os aparelhos devem
utilizar cabos de par trançado para serem robustos a interferências
eletromagnéticas.

Outro item que nem sempre é encontrado em algumas indústrias é a mesa. O
mouse, portanto, acaba por não ser uma opção em muitas ocasiões,
exigindo que as interfaces utilizem exclusivamente de teclados.

No entanto, essa realidade está para mudar. A Holoscópio acaba de
produzir o Mouse Industrial sem Mesa. Esse Mouse pode ser utilizado em
ambientes industriais sujeitos a interferências eletromagnéticas, sem
exigir uma mesa para apoio.

Utilizando tecnologias livres, o produto foi desenvolvido rapidamente a
partir de outros projetos já existentes. Um dos sensacionais projetos é
o LUFA (http://lufa-lib.org/), escrito por Dean Camera. Ele permite que
projetos utilizando USB e AVR sejam desenvolvidos rapidamente.

O hardware utilizado é o HISP (http://hisp.holoscopio.com/), ligado por
uma interface RS232 a um equipamento que permite conectar ao mouse
através de RS485, interface largamente utilizada em aplicações
industriais.

Segue um vídeo de demonstração do mouse:


Mouse 3D[20MB]

by Holoscópio Team at September 21, 2011 01:43 AM

Lançamento da Loja da Holoscópio

Hoje é dia de comemorar: acaba de nascer a loja da Holoscópio. Nossa empresa foi criada com o intuito de produzir hardware livre como opção aos produzidos pelo mundo afora.

O caminho até o nascimento da loja não foi curto e menos ainda simples. Produzir hardware livre no Brasil em escala ainda é uma equação complicada. E parte do nosso trabalho é mudar essa realidade.

Mas nasceu! Está aí a loja da Holoscópio. E com ela o lançamento do nosso primeiro produto: O Brasuino BS1. Uma placa como essa, por um preço bastante mais acessível que as versões importadas pode, e esperamos que assim o seja, estimular o desenvolvimento de inúmeros projetos interessantes com impactos sociais que de fato mudem a realidade que nos cerca. Reuniremos nos próximos dias links de notícias de como o Brasuino é utilizado em diferentes projetos.

Além do Brasuino, também está disponível o programador USB para AVRs HISP, uma ferramenta de desenvolvimento profissional de produtos com o microcontrolador AVR. Vários outros produtos virão a seguir, aguarde!

by Holoscópio Team at September 21, 2011 01:42 AM

Pré-venda do Brasuino BS1!

As primeira unidades do Brasuino BS1 estão chegando! As placas e componentes já foram encomendados para a montagem dos 10 primeiros Brasuinos. Alguns componentes utilizados na montagem das unidades já chegaram, entre eles os micro-controladores ATmega8U2 e ATmega328P.

ATmega8U2 e ATmega328P

Posso comprar? Pode!

Quando? Já! Pela loja da Holoscópio.

Quando fica pronto? Na primeira semana de maio – mas isso não significa que estará na sua casa neste dia! Vamos postar no correio até dia 6.

Quanto custa? Como estréia do produto, o primeiro lote de 10 unidades terá 30% de desconto. O produto será vendido por R$90,00, mas essas 10 unidades custarão R$63,00.

A produção em escala começará logo depois dos primeiro lote. E chegará na loja Holoscópio em Junho.

by Holoscópio Team at September 21, 2011 01:42 AM

Feedback dos primeiros usuários do Brasuino

O programa de pré venda do Brasuino, a plataforma de prototipagem compatível com Arduino fabricada no Brasil, foi um sucesso! O lote piloto foi enviado para diversos clientes e o estoque acabou em pouco tempo. Mas em breve já teremos uma reposição em quantidade maior de unidades, avisaremos aqui assim que a produção estiver encaminhada. Podem esperar shields interessantes também!

Enquanto preparamos as novidades aqui, os compradores do Brasuino que já receberam o produto estão nos enviando mensagens com comentários bastante positivos sobre o produto. Ficamos muito felizes e satisfeitos com o retorno de vocês! Além de mensagens, sugestões e pedidos de shields, fotos foram publicadas, como estas enviadas pelo Kov e Fujii [1], [2], [3], e até mesmo um video! Veja abaixo o depoimento do Douglas:


Video do depoimento do Douglas[22MB]

A equipe fica muito feliz com o feedback recebido! Até a próxima notícia!

by Holoscópio Team at September 21, 2011 01:41 AM

July 01, 2011

Samuel Vale

Mega Shield: controle de Mega USB

O Cascardo comprou um controle de MegaDrive há algumas semanas, e finalmente tiramos alguns minutos pra fazê-lo funcionar com software livre.

Montamos um pequeno shield com uma placa padrão e um conector DB9, ligando seus sinais seguindo a documentação no Linux em Documentation/input/joystick-parport.txt, seção 2.4.2, nos IOs digitais 2 a 5 e entradas analógicas 0 e 1 configuradas como entradas digitais, e o IO 6 como saída, para controlar o sinal select. O select multiplexa o conjunto de bits que é lido do controle, permitindo assim que todos os 7 botões e 2 eixos do controle sejam lidos com as poucas vias do conector. Com o auxílio de um Brasuíno e um pequeno programa em processing, rapidamente conseguimos os estados dos botões e eixos do controle. Como o Cascardo estava de saída para o FISL, terminou depois os ajustes de software para fazer o controle ser reconhecido pelos jogos. Atualizo este post aqui assim que ele postar o código.

Quem estiver no FISL e encontrar com o Cascardo, poderá conferir o adaptador funcionando.

Mega Shield montado no Brasuíno

by Samuel at July 01, 2011 05:33 PM

June 27, 2011

Samuel Vale

New Brasuíno BS1 release

I’ve just finished a new revision for Brasuíno BS1, the Arduino compatible prototyping platform we designed. The first revision, R0, had small cosmetic bugs so the major changes are improvements and new features, some of them sent by users, some detected when producing the first amount of Brasuínos. Here is the list of the main changes for R1 revision:

  • All board LEDs were moved to board edge, close to USB receptacle. They are now more visible with coupled shields.
  • Both voltage regulators received bigger heat dissipation areas.
  • Status LED was loading pin 13 in R0, causing problems when used as input. It was connected through a MOSFET in this new revision to fix this issue.
  • Fixed Q1 footprint.
  • Two extra ADCs are available in pads, from ATMEGA328P-AU.
  • Improved footprints for processors and reset button.

More information about this release in the project page. The
new schematics for R1 are available, and all the remaining project files are in our git repository:

http://git.holoscopio.com/git/brasuinobs1.git

I spent some time getting a cool 3D render in Kicad. Take a look on this R1 release board preview:


New look of Brasuíno BS1

Production is under way, photos from a real one soon =). Pre-sales are open.

by Samuel at June 27, 2011 07:41 PM

May 20, 2011

Samuel Vale

Open Hardware decals received

Some days ago I ordered some cool decals with the new Open Source Hardware logo printed. They have just arrived, take a look:

Open Hardware Decals

It looks great over my (not open source =( ) notebook black lid =).

by Samuel at May 20, 2011 02:33 PM

May 05, 2011

Thadeu Cascardo

SBTVD e Gstreamer

Um dos projetos em que trabalhei recentemente foi em criar um software para o Android que suportasse o Sistema Brasileiro de TV Digital. A tecnologia que adotamos foi o GStreamer.

No entanto, descobri que o suporte à SBTVD no GStreamer ainda precisava de algum trabalho. Aqui, apresento algumas das tarefas realizadas para tentar introduzir esse suporte.

AAC LATM

O padrão SBTVD, infelizmente, adotou alguns padrões de formato de áudio e vídeo criados pelo MPEG. Essas tecnologias estão restringidas por patentes que outro grupo, o MPEGLA, costuma usar para exigir pagamento ou impedir o seu uso.

Um desses padrões é conhecido por Advanced Audio Coding ou AAC. O AAC pode ser empacotado de diversas formas e uma delas, conhecida por LATM, não é suportada pelo Gstreamer, seja através do faad ou através do ffmpeg.

O suporte a LATM no faad está normalmente desabilitado. Já o suporte a LATM no ffmpeg é bem recente. Depois de várias tentativas com o faad e o plugin de faad do GStreamer, pareceu melhor decisão usar o gst-ffmpeg com o novo suporte a LATM no ffmpeg. O resultado foi o que descrevo a seguir.

Patches

Um dos patches necessários (ou pelo menos foi necesssário pra combinação de patches que produzi e experimentei) foi revertido no ffmpeg. Ainda não tive tempo pra rever o patch e o problema que encontraram com ele, pra fazer uma nova versão. A princípio, esse patch é necessário pois não há codec_data nos buffers de AAC LATM extraídos do demuxer. Outra alternativa, portanto, seria adicionar o codec_data a esses buffers em todo e qualquer demuxer que suporte AAC LATM. Ainda prefiro, portanto, a abordagem de omitir esse atributo, por não ser necessário.

Para o gst-ffmpeg, foi necessário um patch para evitar jogar todos os buffers fora por um erro na lógica de verificação de timestamp, pelo menos para os vídeos com que testei. Esse bug já está reportado no bugzilla do GNOME. Apesar de algumas besterias minhas, o patch parece estar em bom estado e só precisando de um pouco de insistência para ser aplicado.

Também para o gst-ffmpeg, é necessário incluir o CODEC_ID_AAC_LATM em dois switch/cases no gstffmpegcodecmap.c. O primeiro na função gst_ff_aud_caps_new, o segundo na função gst_ffmpeg_codecid_to_caps. Eu joguei tudo junto com o CODEC_ID_AAC, sem fazer distinção dos dois. Isso é um problema para auto-plugging. Já que o elemento que decodifica AAC LATM é diferente daquele que decodifica AAC (ADTS e ADIF), os caps devem ser distintos de alguma maneira. No entanto, funciona bem com o pipeline montado na mão.

O quarto patch é no demuxer de mpeg, seja no ffmpeg (já presente no repositório há algum tempinho) ou no mpegtsdemux. É o patch descrito no bug 615681 do gnome. Esse patch tem relação com o anterior, em que a definição de quais caps utilizar para identificar os buffers AAC/LATM permitirão o bom funcionamento do auto-plugging no GStreamer.

Descritores MPEG

O MPEG Transport Stream é o formato utilizado para as transmissões do SBTVD. Vários pacotes especiais contém descritores em formatos documentados no padrão MPEG-2, e extendido nas normas do SBTVD.

O suporte a esses descritores deve ser implementado no demuxer. No caso do GStreamer, no elemento mpegtsdemux. Uma dessas extensões permite obter a informação do canal virtual utilizado por aquela transmissora de TV. Esse canal virtual é o canal utilizado na rede analógica e seu propósito é permitir que o telespectador possa utilizar os números de canais com o qual já está habituado, já que os canais físicos alocados para a transmissão de TV digital são diferentes. Comecei a escrever um patch para esse suporte, mas ainda é necessário corrigí-lo para iterar nos descritores, ao invés de utilizar apenas o primeiro descritor encontrado.

Outras extensões podem ser interessantes para aplicações que suportem o SBTVD. Espero que esse trabalho iniciado possa ser complementado por outros. Já troquei mensagens com outras pessoas interessadas nesse trabalho, e acredito que possamos oferecer um suporte ao padrão brasileiro de TV digital, utilizando software livre de qualidade.

May 05, 2011 04:26 PM

February 18, 2011

Thadeu Cascardo

Conectiva Parolin on Qemu

Half an year ago, I decided to make a backup of my copy of Conectiva Parolin, released on 1997. It's a CD-ROM, and I don't trust old optical media that much.

After doing the backup, I've tried to install it using qemu. The install system could not find the CD-ROM. I've looked for the supported drives in qemu manual, looked at the install kernel logs, and ended up at the source code.

Back in those old days, distributing source code along the system was pretty common. Nowadays, a CD-ROM is full without most of the packages one would like to distribute, but only binary ones. The size and number of packages has really increased. But so did the network bandwidth and the number of bytes per monetary unit. That is, network and storage is cheaper. There's no reason not to distribute source code but sheer lazinnes.

I've read the source code of linux IDE drivers (which happened to be version 2.0.30), in the chance of finding the error I was looking for. Then, I've found out the installer source code. One curiosity is that it was located in a directory in the ISO9660 filesystem, instead of a tarball. In that directory, there were the object files for the C source code. And what I found out was that the installer was checking if a IDE drive was a CD-ROM drive by trying to get the audio volume from it.

The installer did that through an ioctl, which the Linux driver responded to by doing a IDE command. That resulted in an error from the drive. And that's why there was a message in the kernel logs and why the installer did not find any CD-ROM drive.

I've hastily grabbed qemu's source code and found out that its IDE emulation did not recognize the volume commands. Later, I've sketched a patch and tried it. It worked.

http://git.qemu.org/qemu.git/commit/?id=fe0d61231eb6be6a83c54f4a2795f924ee963f8f

February 18, 2011 12:45 PM

February 14, 2011

Samuel Vale

KicadHLibs – Extra libs for Kicad

It been a long time since I’ve started organizing a library with symbols and footprints used in our open hardware projects. There are new or enhanced parts that complements the standard Kicad Library, like some AVRs, GPS modules, SMT capacitors, etc. I built a package called KicadHLibs with all these libraries, licensed as GPLv2+, and It is available for download here:

http://svale.eng.br/projects/kicadhlibs/kicadhlibs_0.1.tar.gz

A new release is under way, with several new components and a Debian package ready to install and use. Comments and contributions are welcome!

by Samuel at February 14, 2011 04:43 PM

July 30, 2010

Luciana Fujii

SLTV in FISL

Much has happened in SLTV development which I should have blogged about (I intend to do some late posts). As I posted long ago, SLTV was going to be used to stream FISL talks. And it was! The conference was held last week in Porto Alegre. There were 10 simultaneous talks in 10 rooms during 4 days.

There were a lot of problems in the streaming. There were problems with the network, the server and problems with the software. But, apparently, software problems were minor problems, at least face the others.

Also, during FISL the software name was changed to Landell. We have been thinking about changing it since the beginning. SLTV is an acronym for Free Software TV in portuguese. We were looking for a name that would work in English also, with some meaning. It’s called Landell because of father Roberto Landell, which was the first to broadcast human voice in radio (or something like that). I’m not really adopting the new name in this post yet because I think there is another software with that name. Let’s see where this goes.

Also during FISL, me and Cascardo presented a talk about SLTV. I was really happy with the audience reaction. A lot of people came to me after the talk asking how to contribute and use the software and some had already used it and had many suggestions.

Finally, SLTV version 0.9 was released this week. It’s pretty much what was used in FISL. It has watermark, videobalance setting and some patches to fix stability problems. We have much work to do yet with the software, but it’s great that it is being used already.

by fujii at July 30, 2010 08:21 PM

June 24, 2010

Luciana Fujii

SLTV – Video streaming software

Most of my work time in Holoscópio this year has been spent in sltv, a software to be used for transmiting events over the internet using GStreamer. This has been, let’s say, an adventure.

This software is being developed to be used by TV SL to transmit FISL lectures this year. This means that a lot of functionalities have to be ready by FISL’s date, so, we’re in a hurry.

The fun thing is, I knew nothing about GStreamer before we began this project. When I first started seeing what it can do, and tried some of the examples in the documentation, I thought everything would be simple and easy. Turns out it’s never like that. But we did manage to do some nice stuff. Until now our software is able to:

- Capture video using V4L2 and DV cameras, you can add multiple cameras of each type and switch between them during the transmission;

- Capture audio using DV, ALSA, Pulse audio;

- Stream video using Icecast and save video to file, and it is also possible to have simultaneous multiple outputs;

- Apply text overlay over video;

- Apply video and audio effects and switch them during transmission.

Outputs are encoded in ogg theora + vorbis, but the raw DV file is also saved when a DV camera is used.

The software is still in its beginning, one more reason for you to test it if you haven’t done it yet. Here are the debian package repository and the tarball. Also, if you feel like having some more fun, we will be happy with some patches. =]

I’ll probably blog about the challenges we had and will have during this development.

by fujii at June 24, 2010 04:08 AM