Making ZX Spectrum edge connector

If You are a little bit into retro computing and would like to experiment with ZX Spectrum computer outputs or make some extension board for it for some prototyping, then you need ZX Spectrum edge connector ( if we talk about original ZX Spectrums ). It is easy to make one by Yourself, just buy some regular 28x2P 56P 2.54mm 0.1″ edge connectors on ebay and saw off both ends of it so they could be used for ZX Spectrum, done.

UT61E digital multimeter schematics and integrated circuit datasheet

Uni-t UT61E Multimeter - Circuit diagram

ES51922 application circuit for ES51922 datasheet.

ES51922 application circuit.png

In UT61E 1some features of ES51922 are not used and can be enabled by simple hardware diy:

112 APOSEL I Idle time selection for auto power off feature.

58 SLEEP O Sleep mode indicator, asserts low in SLEEP mode.

105 BKOUT O If BKLIT function is enabled, this pin will change from –3V to +3V
For 60 sec, once press BKLIT pin again within 60 sec, this pin will
Change back to –3V

102 BKLIT I Back light function. Pulse low to set BKOUT pin output.

113 BKSEL I Set to V- to change the backlight idle time from 60 sec. to 180 sec.

UT61 series Operation manual.

 

 

PowerBuilder and SQL Sever ‘row changed between retrieve and update’ error.

One issue I was working on was triggering ‘row changed between retrieve and update‘ error on DataWindowupdate. Code was kinda simple, just retrieve some values in DataWindow, move some values to Deleted buffer and then call update. No other data manipulations etc. Found that table had some database trigger that was fired on delete. Disabled the trigger and there error message was gone. So trigger was causing that. Trigger also was quite simple, just cursor going through deleted rows and selecting and updating few values in other tables.

Googling told me that in Microsoft SQL server, if a table has an insert, update, or delete trigger, the number of affected rows returned to the SQLNRows property of the Transaction object after an INSERT, UPDATE, or DELETE command depends on the driver. With an ADO.NET driver, the value returned is the sum of the rows affected by the command itself and the trigger. When you are connected to Microsoft SQL Server using ADO.NET or OLE DB, you can set the RecheckRows run time database parameter (introduced in PowerBuilder 10.5) to 1 to recheck how many rows of data were affected by the INSERT, UPDATE, or DELETE command itself and return that value in the SQLNRows property. Setting RecheckRows to 1 before issuing an INSERT, UPDATE, or DELETE command causes a SELECT @@ROWCOUNT command to be executed. To improve performance, you should set it only when required, and reset it to the default value of 0 after use. Example: SQLCA.DBParm=”RecheckRows=1″.

Another solution could be setting SET NOCOUNT { ON | OFF } in trigger itself. SET NOCOUNT ON stops the message that shows the count of the number of rows affected by a Transact-SQL statement or stored procedure from being returned as part of the result set. When SET NOCOUNT is ON, the count is not returned. When SET NOCOUNT is OFF, the count is returned. The @@ROWCOUNT function is updated even when SET NOCOUNT is ON. SET NOCOUNT ON prevents the sending of DONE_IN_PROC messages to the client for each statement in a stored procedure. For stored procedures that contain several statements that do not return much actual data, or for procedures that contain Transact-SQL loops, setting SET NOCOUNT to ON can provide a significant performance boost, because network traffic is greatly reduced.

As I had to make fix in PowerBuilder application, adding QLCA.DBParm=”RecheckRows=1″ before and QLCA.DBParm=”RecheckRows=0″ after Update call solved this problem.

Adjusting and calibrating Hameg HM-605 channel gain

Yesterday I have noticed that voltage or gain of channel 1 in my scope is a little bit off ( noticed that by analyzing one circuit on same output with dual signal ). I have Hameg HM-605 service manual (you can download it at the bottom) and I found there instruction of adjusting channel gain. Basically you just provide square wave signal ( I used scopes calibration output ) and adjust corresponding pot. Its an easy fix as you can see in a video below.

Download HAMEG HM-605 oscilloscope service manual here.

And users manual in English.

Getting cheap oscilloscope on ebay

As casual electronics tinkerer I have always wanted to add an oscilloscope to my tools collection but never did so. There are many reasons why, for example, oscilloscopes are expensive and you don’t want to spend a huge amounts of money on thing that will be used just occasionally and basically is a “toy”, or, for example,  I have never owned one and there are gazillions of them and I was not sure which one or with what specs should I get. You can have modern digital ones, older analog, cheap Chinese DSO’s, PC scopes etc. Those Chinese DSO`s are tempting, but finally, one video from EEVblog convinced me that I should probably look for decent old analog one:

So, after this video, I have started looking for an old analog scope, dual channel, 20MHz and up, known brand. Some looking here and there revealed that I probably will not get a scope for 20 bucks, at least not here in Europe. Starting price for more or less decent ones was somewhere about 50 Eur. One day on eBay.de I have noticed HAMEG HM605 for sale. Starting price 50eur, seller says it has some triggering problems.

hm605 bid.png

Some investigation revealed that this is the kinda decent scope and usually is more or less easily fixable. That was it, decided that 70eur was top price for it, made a bid and finally bought it for 65eur. Whoohooo! It arrived after a week or so and the first test showed that everything works ok except correct triggering as it was stated by seller. Luckily my assumptions were correct and I could fix it without huge efforts. You can read about fixing it here.

So, here I am, proud owner of HM605 analog oscilloscope that I plan to use for some time. It works like a charm and is a huge help for me while learning the art of electronic, literally 🙂

Image result for learning the art of electronics

Repairing HAMEG HM-605 oscilloscope trigger problem

Bought used HAMEG HM605 oscilloscope with trigger problem. Tested it with sine wave and yes, cannot trigger it nor with automatic trigger neither manually. Decided to resolder all contacts near the trigger switch. Luckily it was easy accessible, just had to remove cover. After resolder next test revealed that sometimes trigger works, and sometimes not. Just a slight touch (no pressing) on external trigger button seems to be cause. So I resoldered all the contacts of ext trigger switch and some around and triggering started working as intended. Fixed.