KiCad Design Files for the LH5801 Sharp Microprocessor

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.

The resulting KiCad part and footprint is in my Sharp PC KiCad Library at GitHub.

KVM over IP Switch: Cross-vendor Firmware Upgrade via hidden Option adds VNC Server

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.

After a bit of Googling I found an Amazon review about this particular KVM switch where the reviewer stated to have installed the firmware from another brand, the LINDY KVM over IP Switch. The LINDY switch looks identical (besides a different sticker) and Рeven better Рtheir latest firmware provides a VNC server. This would allow us a browser and even operating system independent access to the KVM.
Continue reading “KVM over IP Switch: Cross-vendor Firmware Upgrade via hidden Option adds VNC Server”

Covox Board – 8 Bit Audio not only for Legacy Computers

The 80’s called: they want their audio back…

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¬†old well established design.

Covox Board PCB

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…

RANT: Do not misuse spreadsheets for data storage

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”

WD PiDrive Cable USB 3 to USB 2 Hack with a Saw

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…

Aliexpress search customization and optimization (via hidden sort options in the URL)

About a year ago¬†(2016) Aliexpress decided to cripple simplify their search engine. They’ve removed really useful search options and added (at least in my eyes) unnecessary ones.

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
Option Value Description
isUnitPrice y Show Price per Piece
minQuantity number Minimal Quantity in Lot
maxQuantity number Maximal Quantity in Lot
isFreeShip y Free Shipping only
sortType price_asc/price_desc Ascending/Descending Prices

Especially the option isUnitPrice is helpful when searching for the best price per piece and not price per lot.

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):


Side Note: It also makes a difference which keywords you are using when searching. The following three searches will (at least the last time I’ve checked) give different results:

  • “stm32f103c8t6 lqfp
  • “stm32f103c8t6 lqfp48
  • “stm32f103c8t6 lqfp-48

So even slight variations can make a big difference. Unlike the search on eBay, the search on Alibaba and Aliexpress does not split up keywords into smaller ‘chunks’ which are used for searching.

Windows 10 Update can brick a Dual-Boot Setup when using Primary Partitions only

TL/DR:¬†Use extended¬†partitions for Linux in a dual-boot setup with Windows 10 — otherwise you might not be able to boot after a Windows update.

A few days ago I had to fix a dual-boot setup consisting of a Windows 10 and a Linux (Ubuntu) system. After deploying the latest Windows 10 Anniversary Update neither Linux nor Windows was accessible anymore. Only the GRUB rescue prompt appeared:

error: unknown filesystem.
Entering rescue mode...
grub rescue>

GRUB¬†wasn’t even able to manually boot into the Windows or Linux partition. Continue reading “Windows 10 Update can brick a Dual-Boot Setup when using Primary Partitions only”