Rant: SF.net GIT repositories

If unable to push commits, use git clone ssh://USERNAME@git.code.sf.net/u/USERNAME/PROJECTNAME instead of proposed git clone ssh://USERNAME@git.code.sf.net/u/USERNAME/PROJECTNAME u-USERNAME-PROJECTNAME


LCM-WM002 is a 16×2 LCD display, coming from a “refurbished” equipment. To be true, the equipment was a HP 5000 / 5100 laser printer, and the LCD has a bezel and a PCB with buttons attached, named ESU19516, part number RG5-5438. Read the rest of this entry »

Tags: , ,

Rant on Apache2

Recently I was trying to move my sites to SSL – for various reasons.
The test site went fluently, while the work machine refused to serve SSL content. While testing with ‘wget’, the error I received was

GnuTLS: An unexpected TLS packet was received.

Read the rest of this entry »

Tags: , ,

Rant on AVR ISRs

Once you define an ISR bit in the TIMSKx, the appropriate ISR must be attached.

Lost almost a day on non functioning serial port, until stumbled upon the post in stackoverflow.com

So, when copypasting

TIMSK1 |= (1 << TOIE1) | (1 << OCIE1A);

be sure to define both
ISR(TIMER1_OVF_vect) {



Tags: , ,

Current token in Arduino’s ArduinoSerialCommand

Ever played with ArduinoSerialCommand? Nice library, but it lacks the possibility to retrieve current command. This possibility is waiting in the pull request for a long time, so if you deadly need it – merge it by yourself.

Tags: ,

Meet the fMRI Parrot

fMRI Parrot

Focal Length

What the heck is “fMRI Parrot”?

First of all, the heck is fMRI. fMRI stands for “Functional Magnetic Resonace Imaging”, as defined in Wikipedia. It involves tons of expensive hardware, like Magnetic Resonance machine, and software, used to reconstruct the scanned volumes. During fMRI scanning a series of stimulus are applied to the patient and the brain is scanned using fast scanning MRI techniques. The aim of fMRI is to record immediate changes happening in particular areas of the brain.

The single MRI scan is called “volume”. It is created from a series of slices of the predefined thickness. Having more slices creates more detailed volume and extends acquisition time. As the changes of the brain activity are momentary, a short volume acquisition interval, named TR or “Time Repetition” is needed. Usually it varies from 7 to 1.5 seconds, depending on the capabilities of the MR machine. Short TR time supposes lower quality scans, compared to the “traditional” MR scanning. So the level of detail of particular volume is a trade off between time and specific requirements.

The fMRI scans consists from a number of volumes, recorded at particular intervals. The key condition for a successful scan is the precise timing. In order to find a region with elevated activity, a stimulus must be started just when the volume acquisition begins. For this the MRI machine may expose a short pulse – start of a volume. The pulse may be brought to the MRI control room via the interface box and the required stimulus started automatically. Some stimulus require the patient to respond, eg. press the predefined button. The response from the patient is also brought to the MRI control room. As there are special requirements for any hardware at the MRI machine, only certified equipment is allowed to the MR room. The requirement at the MRI control room are more relaxed as well as the choice of the equipment There are different vendors of the interface boxes and response buttons, NordicNeuroLab (NNL) being one of them.

In order to create the simulation series, or paradigmas in fMRI terminology, a lot of time is needed. Each paradigma is to be verified before the clinical test, while some of them can not be tested without a signal form the MRI scanner or a response from the patient. There is no need to say the MRI equipment is expensive, so is the time spent in the MRI machine. Most of the MRI scanner interface boxed can be used in so called “simulation” mode, sending particular responses at the predefined moments, without actually running the scanner. For example the Sync Box from NordicNeuroLab will send “S” symbol at the start of the volume acquisition, while fORP from Cambridge Reserch Systems is to send “5”. So what is actually required to test a paradigma, is the response from the scan… WAIT!

It’s must not be the MRI scanner nor the interface box.

Read the rest of this entry »

Tags: , , , , , , ,

Revive the racing wheel

Image courtesy https://rjirovsky.wordpress.com/ Not the real one, of course. It’s Logitech Formula Force Ex – handy to play, but exposed some signs of aging. The LED on the wheel was not lit and force feedback was not functioning.
Image courtesy https://rjirovsky.wordpress.com/ The first idea was the power supply was dead or near-dead. It showed circa 3V instead of 14V once connected. As it was fine once disconnected, so the only solution was to go deep inside the base of the racing wheel’s unit.
Image courtesy https://rjirovsky.wordpress.com/ After some desoldering and resoldering of SMT parts, the possible cause was identified – the A3953, full bridge PWM motor driver from Allegro.
After the IC was desoldered, the power supply exposed the full voltage once connected.
So, the A3953SLBT or the circuits driven by this IC was the real cause.
Quick shopping at e-Bay and the IC arrived in the stunning 10 days.
Solder wick, some flux, washing, connect the power and … YESSS. The LED blinked and the wheel moved to the center position.
Case closed.



Tags: , , ,

The things: short story

A bending jig, a piece of stainless steel
20160428_234945 Read the rest of this entry »

Hacking A6628SEDT

Epson Stylus Color D68 logics board

The A6628SEDT is a PLCC 44 packed dual motor driver, running in my old Epson printer.
The idea is to controll the chip by some Arduino and make it print PCBs, like these guys did.

The datasheet for the chip is absent, but thes is connection diagram on the printer’s Service Manual.
It seems the chip is dual version of some Allegro motor controllers, having two indpendent data channels and dual H-bridges (or kind of).
According to the schemacics, paper feeder is controled via data channel 0 on pins 28, 29 and 30 (CLK, Data, Strobe accordingly). The carriage motor is controlled via data channel 1 on pins 40 (CLK), 38 (Data) and 39 (Strobe). Read the rest of this entry »

PCB experiments with the UV

The PCB:

A scrap piece of 5+ year old UV sensitive PCB. The sticky black residue on the PCB is the clue from the protective foil.

The mask:

Transparent foil for laser printers. Printed on Samsung CLP-320 in greyscale mode. Single layer.

The traces:

  1. 0,1 mm with the gap of 0,1 mm
  2. 0,1 mm with the gap of 0,2 mm
  3. 0,2 mm with the gap of 0,2 mm
  4. 0,2 mm with the gap of 0,3 mm
  5. 0,2 mm with the gap of 0,4 mm
  6. 0,3 mm with the gap of 0,2 mm
  7. 0,3 mm with the gap of 0,3 mm
  8. 0,2 mm with the gap of 0,6 mm

The rest of the PCB will be used for the rectifier circuit. Read the rest of this entry »

Tags: ,