Posts

Got a few fidget spinners that were sorted out due to defects. Repaired most of them an played a little with them. In the end I did not have any use for a few dozen figet spinners so I donated them to a charity tombola…

But I kept a few of the LED circuits… just because they were blinking… you know…

I did not post anything for quite a while… we bought a house and moved into it. This consumed most of my spare time and my ‘hacking capabilities’ during the last few months. But the good news is: I’ve now got a whole room in the cellar which I’m currently turning into a hacker lair / electronics shop without having to care too much about the the WAF.

I just just returned from a business trip to the US and wanted to ‘report back’ with a nightly impression of New York / Manhattan. (Please forgive the low quality as the photo was taken with my smartphone from the airplane window.)

I’m currently working on a custom development board, based on a quarter of a century old microprocessor, the Sharp LH5801. This microprocessor is the heart of the Sharp PC-1500(A) Pocket Computer, also known as Tandy TRS-80 Model II.

I’ve got plenty of documentation on the processor and the Sharp PC-1500, but what I did not have was a spare processor to play with. Recently, I got hold of a dozen of them, so no excuse anymore for not playing with them. 🙂

I started the design process by measuring out the package size in mm and wondered about the strange results I got… Well the size of LH5801 package is – bang on – 0.7 inches. It also has an odd number of pins for such a package size: 76 pins. Both make it pretty impossible to use the standard footprints provided by various package libraries. At least a short round of googling for packages for Eagle CAD or KiCad was unsuccessful.

So I had to design my own footprint which was smoother than expected. I used a already present layout with the correct footprint pitch and adapted copied/adapted the pins.

The part was made with KiPart (based on a CVS table). The pin description and layout was taken from the Sharp PC-1500 Technical Reference Manual.

At work we have a KVM over IP switch from Inter-Tech, a KVM IP-KVM101. It is really a small and versatile device that, in combination with 16-port KVM switches, allows us to control a complete rack with test hardware.

The KVM switch provides a web interface with a Java Web Start application for remote access. But the latest browser security updates disabled and removed the Java Web Start support . This move was announced quite some time ago (Oracle White Paper). Still, the vendor of the KVM switch, Inter-Tech, was not able to provide a valuable solution to cope with this problem.

That’s what happens when you’re drinking a few beers and being in a nostalgic mood: Already over a year ago I had designed a generic Covox Breakout Board (Wikipedia link) based on an oldwell established design.

The whole design is based on two TTL ICs (74HCT373 and 74HCT164) and an R-2R resistor ladder (7.5k and 15k Ohm). The result is a simple DAC with 8 bit parallel and serial input and a few control pins. I’ve uploaded the PCB (back then I still used Eagle Cad) and the Gerber files to my Github Covox Repository.

Sure, I could have taken a cheap audio DAC, address it for example via SPI, and let the dedicated chip do all the heavy lifting. But that would not have been half of the fun of designing the board and (bit)banging the audio signal… 😉

The design is pretty generic and when I built it I thought I could use it in combination with a Sharp PC to generate audio output. I started with a few lines of code, but in the mean time other private tasks became more important. So I’ve reduced my testing of the Covox card to connecting it to an Arduino board and output simple (square and saw tooth) waveforms on my oscilloscope. Maybe if there is enough interest I will try to create a video with some mod-tracker like audio output…

Using spreadsheet files for data storage and exchange can lead to the corruption and even loss of information — sometimes without noticing it immediately. I came across this one too often so I could not help but write a rather long post about this topic.

Sharing datasets with other researchers or collaboration partners is a vital part of the knowledge exchange in a community. This might happen in big scale in form of supplementary material along with publications or in small scale within research groups. In this post I do not want to focus on what is actually shared, but how. Because a crucial but commonly underestimated element when sharing datasets with others is the used data format. Continue reading “RANT: Do not misuse spreadsheets for data storage”

I literally wanted to start this post with “I literally hacked the PiDrive cable…” but I actually have sawn it instead. Duh!

I’m using quite a few Raspberry Pi boards as servers, gateways, etc. and recently started to ‘polish’ their design. Instead of hard drives hanging beside them with a bunch of loose cables I’ve started to buy WD PiDrive Cases and Cables to pack all of them into nice ‘little boxes’.

The PiDrive Cables are really neat: they are designed to be positioned between a Raspberry Pi, its power supply, and an USB hard drive. The cable is designed for USB 3.0 hard drives, but in one case (hah) I wanted to use an external USB 2.0 drive I had lying around. So without further ado I’ve removed the USB 3.0 extension of the connector with a saw. It looks crude but works perfect…

These useful search options were removed from the search panel but they are still available as URL parameters. I’ve mainly written this post to document these missing options for my everyday searches — but I’m pretty sure others may find them useful as well.

Aliexpress Hidden Search Options

Parameter

Declaration

Description

isUnitPrice

y

Show Price per Piece

minQuantity

value

Minimal Quantity in Lot

maxQuantity

value

Maximal Quantity in Lot

minPrice

value (e.g. 1.23)

Minimum Price

maxPrice

value (e.g. 9.87)

Maximum Price

isFavorite

y

Results with 4+ Rating

isFreeShip

y

Free Shipping only

sortType

price_asc/price_desc

Ascending/Descending Prices

shipCountry

de/us/…

Destination Country

shipFromCountry

cn/de/us/…

Country of Origin

Especially the option isUnitPrice is helpful when searching for the best price per piece and not price per lot. I really cannot understand why this option is not available per default.

So when I’m searching for the lowest price per piece within a certain quantity range (here: 10 – 50 pieces) with free shipping I would add to the URL (Example Search):