Tuesday 24 December 2013

Postal de natal 2013

Esta é a minha entrada para a competição de natal de 2013 do forum Blender-PT de postais de natal, é algo simples sem elementos 3D, ré-imaginando a cena toda em 2.5D no Blender, Inkscape foi usado para adicionar o texto.

Bem podia ter usado uma fonte mais natalícia, ups :)

Wednesday 21 August 2013

Shishi Odoshi

This was my entry for the first Blender-PT competition, with the theme "Loop" animation, the idea was to make a small but loop capable animation, my entry is based on the japanese Shishi Odoshi. Rendered with BI (Blender Internal) and fluids simulation for water splash animation.
 
 
 Check it on youtube

Friday 9 August 2013

Using old iSight camera via USB

This is small note regarding the usage of the iSight camera as a regular web camera, which can be used on any computer with linux/ubuntu.

The camera has a small USB lookalike plug, which I removed, and replaced by a regular USB male plug. The cables followed the standard USB coloring scheme, which helped a lot find D+ and D- (check electrodroid app > USB pinout), GND and VCC where quite obvious.

After that I installed the packages on ubuntu to support the iSight:
sudo apt-get install isight-firmware-tools

To run the re-configure (if the binary blob path path is set incorrectly):
sudo dpkg-reconfigure isight-firmware-tools

After connecting the camera, typed:
dmesg | tail -10
[...] usb 2-2: new high-speed USB device number 5 using ehci_hcd
[...] usb 2-2: New USB device found, idVendor=05ac, idProduct=8501
[...] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[...] usb 2-2: Product: Built-in iSight
[...] usb 2-2: Manufacturer: Micron
[...] Linux video capture interface: v2.00
[...] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[...] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[...] usbcore: registered new interface driver uvcvideo
[...] USB Video Class driver (1.1.1)

Installed cheese and voilà, it works :)

Sunday 9 June 2013

SyncCopy

TL;DR
SyncCopy is a selective files and folder copier with a UI, which basically, helps creating backups to the cloud(like Dropbox, MeoCloud, etc...) without copying the databases, compilation files, version control and other crap programmers have to deal everyday.
Description:
This is the small application I have been working on in the last weeks, which helps users synchronize contents of one folder to another, it's like a "version control thing" but simpler. 

The main target I had in mind was to copy my projects source code and resources to the dropbox, but excluding all the unnecessary data, like the IDE database and compilation products. This way I could synchronize my small projects between my machines and easily update/commit the changed files.

The program works this way:
1) Add a "link", like a new svn/git repository in the server;
2) Set the link name;
3) Set the project folder (where you have your work folder);
4) Set the sync folder (inside a Dropbox share somewhere in your system);
5) Add excluded file extensions(for example "o" to exclude gcc compiled objects);
6) Add excluded folder paths(for example "Debug" to exclude visual studio compilation folders);
7) Hit "OK";
8) Select link on links list;
9) Hit "Sync" on main window;
10) Select "Commit" on the dialog message;
11) The sync window is now scanning the project and sync folder to find the differences;
12) Check the suggested changes and disable those you don't want to be executed;
13) Hit "Sync" and the files will be submitted to the dropbox folder;

With the "update" function it's the opposite operation, it will copy the changed files on the cloud to your local work folder.

The application was developed in the devil language, I mean, Sun Oracle java, it's supposed to run everywhere. It's still in a early beta-testing and it will be opensource a link should appear soon.

[Download]

Monday 15 April 2013

Iberanime 2013 Cosplay

Agora que finalmente tenho uma câmara fotográfica boa, esforcei-me para tentar tirar umas fotos fixes aos cosplayers no Iberanime, ou tentar pelo menos. Fica aqui as melhores fotos, quer dizer, as mais focadas...

Desconheço :(
Ezio - Assassins Creed
 Eruka Frog - Soul Eater
Mascote do evento
Nyan Nyan cat
Chi ou a "irmã" - Chobits
Franken Stein - Soul Eater
Loading...
Ryu x Baby x Ken
Minecraft + Nyan Cat = WIN
Riuk Shinigami - Death Note
Bora lá fazer aqui uma pergunta complicada
em português aos nossos colegas nipónicos...

Saturday 6 April 2013

SRAM DDS

While poking around some PCB boards for components I found a SRAM(LH5116) chip with 16K and a supply of 5V, in the same instant I thought:

It would would be fun add a DAC at the SRAM output...

There are already some DDS (Jesper’s DDS) made for the atmega that manage to generate 200kHz~300kHz sinewaves, but, maybe with an external RAM I could achieve better performance ?
The 250kHz "wobbly" sinewave, the FFT is clean enough
Data flow schematic (8 bit for address used of the 11 available)
The basic idea was to load the waveform to the SRAM to save some operations in the uC, since the atmega isn't a very fast processor and the load takes 3 cycles. Currently I did managed to generate a 250kHz sinewave with some resolution. The biggest issue is the lack of a Sample & Hold, which makes the output sensible to RAM logic propagation times and sometimes produces glitches.

I may continue to poke around this, but, hopefully I will received a new DDS generator soon. Nevertheless it was a fun idea to try out.

Friday 29 March 2013

Power Supply Noise

Após construir uma pcb para fonte de alimentação para uma breadboard com um conversor de níveis MAX232, estive a analisar o ruído da saída de tensão de 5V e deparei-me com alguns picos de tensão na casa do 20~30mV, após fazer um probe, reparei que a fonte de ruído era a fonte de alimentação (um SMPS de 1997 de um portátil toshiba).

Escala vertical 20mV/div
Breadboard psu rev2

A figura "A" mostra a saida de 5V usando como fonte de alimentação a fonte SMPS.

A figura "B" mostra a mesma saída usando como fonte de alimentação linear, mas estando a fonte SMPS ligada a corrente eléctrica na mesma régua.

A figura "C" difere apenas no facto da fonte SMPS estar desligada da rede, nota-se agora menos ruído.

Curiosamente um dos vídeos do Dave Jones/eevblog fala exactamente deste problema, de fontes de alimentação SMPS (de má qualidade ou antigas) que colocam ruído em tudo o que esteja perto.

Também acabei por detectar ruído na casa dos 300kHz gerado pelo conversor max232, que acabei por "matar" acrescentando um condensador de 500uF.

Quando desenhei a placa não tinha feito grande estudo de quais eram as fontes de ruído e acabei por adicionar condensadores a mais, footprints erradas ou mal posicionados, mas já sei o que fazer, fica para proxima revisão board, já aprendi mais umas coisas!

Sunday 20 January 2013

Sudo e portas de serie virtuais

Para aceder as portas de serie emuladas (FTDI 232 chip), o linux requer sempre que o acesso root, contudo isto tem solução:

sudo chmod 666 /dev/ttyUSB0 

Ou seja, todos os utilizadores podem ler, escrever mas não podem executar. Agora os programas em java, C# e C++ já podem correr em debug com permissões do utilizador :)