From Microcontroller to Mainframe

In the past 20 years I worked on systems as small as 8bit microcontrollers with no Operating System to systems as large as IBM Z-Series Mainframes. I wrote software for small FreeRTOS and RTEMS based controller with only a few LED’s as “output” to GUI programs for Windows and Linux.

Since low level programming has some special demands on the programming language the main languages I use, and consider myself a professional in, are C, C++, and when it can’t be avoided assembly. Other languages like Python, bash-scripting, lua, cmake, are also part of my daily work.

Due to personal interest and experience there are some areas where I can offer additional knowledge that can speedup things compared to software developers that are new in those areas.

Linux Embedded Distribution Development

For systems that can’t use an average Linux distribution like Debian, Fedora, etc. because of for example storage size restrains I develop highly customizable distributions based on PtxDist or Yocto that can be as small as 8 MByte.

Low Level Driver Development

When there is a need for a small specialized Linux distribution it most of the times means there is some custom hardware in use. For that hardware I can develop low level device drivers for the Linux kernel and bootloaders like U-Boot and Barebox.

RTOS and Baremetal

For systems where a 8 MByte OS is still to large I can offer baremetal or RTEMS, FreeRTOS and Zephyr based solutions on PowerPC, AVR32, and mostly ARM.

Lighting Control

Lighting Control for stage and theater is an rather specialized area with several unique technologies. Having knowledge of technologies like for example DMX, RDM, Art-Net and ACN, makes it a lot easier for me to get up to speed in software development projects that deal with those technologies.

Public Information Systems

Like with Lighting Control systems, Public Information Systems in the public transportation area deal with specialized protocols and demands. Working for clients in doing public transportation information systems and for clients doing public transportation power converters I collected extensive knowledge in that area.

Amiga 2000 (PSU)

Part 2

After fixing the Amiga 2000 motherboard it was time to cleanup the power supply. I preemptively wanted to remove all the electrolytic capacitors so I ordered some new ones. Since the power supply is just a single sided PCB, getting the old capacitors out and soldering the new capacitors in would be relatively easy. But this model (later versions don’t seem to have it) has a little daughter PCB that kind of block access and itself also had two capacitors on it that I also wanted to replace. [Read More]

Amiga 2000

Part 1

A while back I bought a non-working Amiga 2000 that, according the seller, only displayed a white screen. In the 80’s and early 90’s I only had an Amiga 500, so I thought it would be fun to now get a working Amiga 2000, and restoring one would be a nice X-mas holiday project. Dealing with the Amiga Killer One of the main Amiga 2000 killers is the battery, after 30 plus years they tend to leak and in the worst case can corrode away half the PCB. [Read More]

First PCB Design

PCB for debug adapter

How do you mean I can’t do make clean, fix bugs, make all ? When software engineers make hardware things can only go wrong; notice the size of the switch and the footprint on the PCB. But apart from that, pretty fly for a software guy.

The PCB design was done with KiCad on Linux (but it is also available for Windows and MacOS).



RGB LED Display test

First test of a new RGB LED display for a train in Canada. The display has 16 x 144 high power RGB LED’s to make sure it is readable in bright sunlight. The hardware uses a iMX6 CPU and runs a custom Linux OS. Content is send to to display via Ethernet using client specified rail/public transport network protocols. Since it is a multiplex display it is rather difficult to film because the update rate is different from the camera framerate so it looks like it is flickering. [Read More]

Rohde&Schwarz HMP4040

New 4 channel Power Supply

To better handle the power supply needs (3.3V, 5V, 12V, 24V, etc.) of the diverse hardware I work with I replaced my old 3 channel Hameg power supply with a new Rohde&Schwarz HMP4040.

Rohde&Schwarz RTM3004

New 4/16 channel Oscilloscope

Since almost every project I did the last decades all use something like I2C, SPI, CAN, RS458, etc. I replaced my old Tek scope with a new Rohde&Schwarz RTM3004 that can do decoding of those protocols, so I don’t have to manually count bits anymore.

BK Precision 9206

New 150VDC Power Supply

Since I have several projects for public transportation information systems, where the use of 110VDC is common, I added a BK Precision 150VDC power supply to my lineup of equipment.

Rigol DM3068

New bench multimeter

To be able to better measure things like ADC inputs, DAC outputs, I extended my equipment lineup with a Rigol DM3068 bench multimeter.