Table of Contents

Making Embedded Systems - A Reader's Review

When I first heard that Making Embedded Systems 2nd Edition was up for pre-order, I jumped onto Amazon and handed over my dollars.

For a period of time, I have been self-training in a variety of areas of electronics and embedded systems development but in a reasonably random and not entirely organised fashion.

I was hoping this book could provide a good framework to formalise my growth and learning.

I'll take you through some moments in each chapter that really struck a chord with me or was a point of interest in my journey through the pages.

Read Article

Digital Pinball Controller PCB

Back in 2017 I produced two digital pinball machines controlled with real hardware flippers and tilt function. These machines were the Xero Pinball and Reload Bar Pinball tables.

The original boards were done on perf and were an eye-sore. But they featured USB HID keyboard functionality, allowing the lighting of LED indicators.

It was designed with good old pen and paper which was then used as the reference for designing the new PCB layout and connections in KiCad, then testing component footprints for sizing.

Read Article

ESP32-S2 and the APA102 RGB LED

I recently picked up an ESP32-S2 based board that features an APA102 RGB LED which is a serial device with data and clock pins.

Working with this LED device seemed tricky at first, but thankfully a good datasheet made everything pretty clear.

Read Article

ESP32 OTA and Rollbacks - What happens under the hood?

Over The Air (OTA) provides a way to send firmware to your ESP32 board in the field without the need for a cable and physical access to the device.

The purpose of this article is to manually step through the various stages of the OTA process and illustrate the state of the ESP32 at each stage.

Read Article

"Right To Repair" - the problem in a name

I am a huge fan of repairing electronic equipment. It's a fun activity and very satisfying preserving good gear and bringing things back to life.

As such, I am a supporter of movements like the Right To Repair in most respects to encourage people to reduce their electronic waste and learn valuable skills.

But… sometimes there can be a problem in a name.

Read Article


Ember Auto-tracking Object Arrays - Deep Dive

There will be many times when an Ember application needs to work with simple temporary data (POJOs), but setting up models and working with Ember Data's store might be overkill.

The user might still want to bind this data to controls and have it perform dynamically when the data changes.

Let's explore some easy options.

Read Article


Great Shiny GS-2000 (modification)

I've owned this interesting GS-2000 “PC Home Theatre System” for many years. It's a rarer configuration. but I've never been happy the way that it clunks when turning on due to the inrush current.

My plan is to add a thermistor on one of the AC lines to soften the inrush AC current before it hits the transformer.

Read Article


Deploying an open, insecure .NET Core WebAPI to a Plesk host

You might be keen to try your hand at creating a .NET Core WebAPI, but where to host it? Azure or AWS seems to be the first choice for just about everyone, but there have been Windows-based web hosts of all flavours way before the big boys came along. And they can host .NET Core projects just fine.

At the very least, the process to test your host should be fairly straight forward. And I'll provide some troubleshooting along the way in case you encounter any problems.

Read Article


The great Aussie Burger in the Canberra/Queanbeyan Region

What type of burger is a real Australian hamburger?

In short: it's the Hamburger with the lot. Also known as the “Works Burger” or “Burger with the works”.

To qualify as a proper Australian hamburger with the lot, there are some strict rules.

And I know some of the best places around the Canberra region where you can still get it.

Read Article


Custom Ember Data the easy way

If you live in an ideal world, and your backend data format of choice is JSON:API, then you're on the happy path, and the world is your oyster.

But not many of us work on greenfields environments where JSON:API is the planned choice. The truth is that most applications have a history and therefore their own custom JSON format to suit.

It makes sense that EmberJS can support any type of data format using the RESTSerializer.

Read Article


Ember.js Routes and Troubleshooting

One of the nicest features of Ember.js is the ability to easily create a route and a page template and be able to browse to it in seconds.

A good understanding of how routing works can help hunt down bugs and unintended data calls.

Read Article


My Father, the pilot's story of survival

My father, Adrian Johnson, was a remarkable man with a reputation as an excellent pilot with a string of adventures during his years.

In 1959, long before I was born, he was piloting a charter flight from Wagga Wagga destined for Alice Springs when his plane went missing. He was 22 years old at the time.

Read Article


My time with COVID

I've been waiting my turn for quite some time now. And with children at school, it had to happen sooner or later.

So how was my time with COVID and how did I fair?

Disclosure: I am one of those terrible terrible people that have chosen not to be vaccinated. Why? That's a conversation for another time.

But the observations after the fact are interesting.

Read Article


Electronic Component Testing Cheatsheet

When doing a repair job, it's nice to have a handy testing cheatsheet for a range of electronic components. So far I haven't found one, so I created my own here which covers everything from resistors to MOSFETs all using a multimeter and other tools. I've tried to cater for absolute beginners to intermediate hobbyists.

This article is likely to expand over time. If this is handy for you, please pass it along to friends. I love to hear from other repairers, if you spot anything wrong, please let me know.

Read Article


Using GPIO RA3 on a PIC16F1455

The PIC16F1455 is only a small microcontroller with 14 pins.

But there are limitations. As you start to allocate out and plan what functions the pins will perform in your design, the choices start to thin out quickly. Some GPIO pins share with other functionality.

Eventually you need to double up on a pin to try and get the value from both features.

For this article, I'll be picking on RA3.

Read Article


Repairing an Adafruit Grand Central M4

A while back, my friend, Professor McSwivells purchased an Adafruit Grand Central M4. Unfortunately it was dead on arrival, and after being in touch with the staff at Adafruit, they reluctantly refunded the purchase. The dead board went into a drawer and was forgotten.

The professor recently found it again and thought he'd send it down to me on the off chance that it could be repaired or at least parts salvaged and recycled.

Read Article


Repairing the Vulcan Dishlex Milano Dishwasher

Two weeks before the International Repair Day 2021, our 26 year old dishwasher from 1995 packed it in. It came with the house, and was pretty old back then. We never used it all that much over the years. But recently it has been used more, and I guess the old girl couldn't cope.

I know nothing about dishwashers (or even how to operate one), so I had really no idea where to begin.

I'll walk through what I did to repair it

Read Article


ReactJS and Friends Refresher

Whenever I take a spell from ReactJS it sometimes takes a little bit of time to warm up again. You might be the same.

Hopefully this article will serve as a good reminder for when you need to stretch your legs again.

My favourite friends of React are: React-Redux, React-Router, Redux-Thunk and Hooks.

For this refresher, I'm going to present a simple, but reasonably complete application.

Read Article


Creating a .NET Core application with Entity Framework and SQLite in VSCode

One of the nice things about SQLite databases is that they are so quick to spin up and work with. That's opposed to the overhead of something like SQL Server and it's installation.

Also, EF is getting better and easier all the time.

And being able to do all this with .NET Core in a light and flexible IDE like VSCode makes the experience much more pleasant.

Let's get to it.

Read Article


AirFlash for the Pi Zero

The AirFlash is an open-source standalone USB powered device that accepts up to four USB Flash drives and will serve their content out over WIFI to one or more users.

You can take it anywhere and plug it in to a USB power source. Within 90 seconds the device will be available.

You can build your own.

Read Article


TEAC FD-235F 4161-U Amiga Floppy Drive Repair

My original TEAC FD-235F 4161-U floppy drive died maybe a year before I stopped using the Amiga 1200. I had to replace it with another drive that was too tall, meaning the case could never be properly closed.

I was never able to fix the original drive. 25 years on, I still have this non-working drive and decided to take a crack at a repair.

Read Article


Amiga 1081 Monitor from 1986

I've been looking forward to getting this on the bench for a while now. A friend gave this to me a while back when he sold off his Amiga 1000. I didn't know what state it was in. Like most Commodore monitors, these are worth fixing, with composite in, TTL RGB and SCART inputs.

Read Article


Panasonic SA-PT170 Repair

On the bench this time is a Panasonic Home Theatre System, the SA-PT170, or sometimes labelled as an SC-PT170.

This unit was working for a good solid ten years but would no longer turn on.

Read Article


Generating VGA with an FPGA (Verilog)

Generating a VGA signal can be a rewarding achievement as an FPGA project. There are loads of explanations and illustrations online on how to generate VGA signals. But sometimes the concept is not clear.

I'll attempt to try and make it much clearer and get you on your way quicker.

Read Article


Simple guide to Verilog Wire and Reg types

The aim of this article is to help clear any confusion for beginners when using verilog wire and reg data types between modules. We'll go through all the rules for both a reg and a wire.

Read Article


Open Source FPGA toolchain on The Go Board

The Go Board is an excellent FPGA dev board that contains four switches, four LEDs, two 7-segments, a PMOD, and a VGA connector.

I love it for sketching out quick ideas and experiments.

This article aims to take you through a more recent version of yosys, nextpnr, and the Icestorm tools on Windows specifically.

There will also be tips along the way and some troubleshooting at the end for when you don't always get the happy path.

Read Article


Samsung 32" S32D850T Monitor Repair

I had a 32“ Samsung monitor on the bench from a friend at work who only used it for four years before the power went out and wouldn't turn on again.

Once I got it into the workshop, I attempted a power on and got a pop as well.

This one was a fun journey.

Read Article


Raspberry Pi Pico Setup and Review

Saw the ad for the Raspberry Pi Pico from Core Electronics the other week. At $5.75 each, I couldn't pass it up.

I ordered a couple and they arrived pretty quick in their cool little production cases. I soldered one up and then checked the set up page to see what was required to get it running.

Read Article


Passing Vectors of Object Pointers in C++

Learning to use vectors in c++ is fairly straight forward. But passing the collection to a function and returning an instance is not demonstrated as often.

The following code snippet should show a nice complete flow in one shot. Take a look:

Read Article


NV-VP32 VHS/DVD Combo Unit Repair

Had an NV-VP32 on the bench during the week. This is a VHS/DVD combo unit that can act as a converter for burning tapes to disk.

I plugged the unit in and switched it on. Pressing the power button only showed F09 on the display.

Thought I'd open it up and take a look around.

Read Article


Setting up URL Rewrite on shared windows Plesk hosting

Setting up URL rewriting for Dokuwiki is a little bit of a challenge under shared Windows Hosting. Much easier under linux hosting as the use of .htaccess is pretty straight forward.

This article will help you get the most commonly desired URL format working.

Read Article


When ESP8266 is a right pain in the Serial

ESP32 is pretty straight forward when it comes to serial debugging with the console via the USB connection.

However when trying the Amica NodeMCU ESP8266, serial was not a straight forward process via the Arduino IDE.

Read Article


ESP32 with SSD1306 oLED display libraries

There's a lot of articles out there already on using these little 128×64 oLED monochrome displays with an ESP32 or with an Arduino board.

The go-to library for working with oLED displays appears to be Adafruit's SSD1306 library judging by the amount of articles written on it. This one is packed with features while being easy to use (but there are others!).

Read Article


Charlieplexing LEDs on the ESP32

The ESP32 has a stack of GPIO pins allowing you to attach a whole bunch of LEDs. But it's a neat practice to try using fewer pins with several LEDs using Charlieplexing. There's quite a few things you can learn along the way.

Read Article


ESP32 From Scratch

This guide will show you how to quickly set up an ESP32, placement onto a breadboard, wiring, the software, and finally sending code to it.

Read Article


Space Capsule Hotel Adventure

In February, myself and a couple of mates from work stayed at the Space Capsule Hotel in Sydney. Some thought what we were doing was dreadful/unconventional but we were keen to check it out nonetheless.

Once inside, there really is an illusion of being inside the sleeping cabin of some ship on route to mars.

Read Article


Setting up a minimal Hugo website

I discovered a most excellent thing recently for developing websites: Hugo. More truthfully, a friend got me onto it. At first I couldn't see the point of something that generates static pages from source.

Read Article


Oscillators on the PIC16F1455

Oscillators on a PIC can be a bit of a minefield to understand. Especially learning to read through a datasheet. So it can be a little daunting just to get a baseline start.

Hopefully I can help here.

Read Article


Minimum setup for a PIC16F1455 on a Breadboard + PICkit3

If you need a quick setup for the PIC16F1455, fast wiring and code to check output from a pin, this article is for you.

Read Article


FPGA Verilog simulation using GTKWave on the iCE40-feather

One of the nice things about working with FPGAs and Verilog is the array of open source tools and development boards that are available.

Our aim is to take a verilog file, a testbench and simulate it using Icarus Verilog / GTKWave.

Read Article


How to remove harvesting from a new Windows 10 instance

Microsoft has a sea of settings that have their best interests at heart. The biggest one being Cortana, and placing ads on the lock screen.

When receiving a new laptop or PC that has Windows 10 installed, there are a number of things that you can do to shut Microsoft out.

Read Article


Single Optional Argument for a LaTeX Macro

I recently needed to create a new LaTeX macro for a User manual. The macro was to output a defined character, but in a colour specified by the author. Therefore, I needed a macro that accepted a single optional argument.

Read Article


Simple start with WebAssembly/Emscripten and C/C++

I am really excited by this technology. In many aspects, it's a return to where I started, assembly coding on 8-bit and 16-bit machines. And it's a shot in the arm for the browser, opening up many new possibilities for frontend web development.

Read Article


Minimum setup for a PIC32MX270F256B on a Breadboard + PICkit3

My first experiments with PIC Microcontrollers was on the PIC32MX170F256B. But after discovering that there was no USB module on that controller, I then purchased a PIC32MX270F256B which did have one.

This article serves as a reminder for the minimum setup for this microcontroller.

Read Article


SSD1306 and SSD1315 oLED Modules for the Pi1541

As mentioned in my previous article, while building the Pi1541, I had a lot of difficulty getting the oLED module to work.

I blamed it on the fact I had accidentally purchased an SSD1315 instead of an SSD1306.

Read Article


Building the Pi1541

I first heard about the Pi1541 created by Steve White on Chicken Lips Radio. There had been other solutions in the past for hooking up an SD card to a C64/128 but nothing for the average hacker that would fully emulate a 1541 or daily chain to another real 1541.

Discovering that this project ran bare metal on the Raspberry Pi without any underlying OS was impressive to say the least, exactly what I was hoping someone would eventually produce.

I figured I could build this on perf board easily enough.

Read Article