Control a Macintosh Classic CRT with a BeagleBone Black – Part 2

This article will cover the software aspect of my Macintosh Classic project. The final solution is running on a BeagleBone Black, using its programmable realtime unit. If you want to learn more about PRU programming, you can do so here.

Continue reading Control a Macintosh Classic CRT with a BeagleBone Black – Part 2

Control a Macintosh Classic CRT with a BeagleBone Black – Intro

Almost one year ago I found an old Macintosh Classic, produced in the 1990’s in a basement. I bought it from the guy who used to own it and he told me, that he doesn’t know whether it is working or not and that it was standing there for about 20 years. Needless to say that it was in a pretty bad shape. After it arrived at my apartment, I immediately plugged it in and switched it on. Once the screen came on, it was pretty disappointing: It just displayed a checkerboard, which seems to be a pretty common issue with these models. This problem is caused by a variety of issues.

Continue reading Control a Macintosh Classic CRT with a BeagleBone Black – Intro

BeagleBone Black PRU clock cycle counter

Introduction

Today’s article will be a short one in which I’ll cover the so called cycle counter register (DWT_CYCCNT), which is present on the BBB’s PRU cores and on other CPUs from the Cortex architecture (See here). However this register is implementation dependent, so it might not be available on chips from some vendors. If this register is not present on a chip, it will always read zero. This register counts the number of cycles for which the PRU has been enabled. Continue reading BeagleBone Black PRU clock cycle counter

Simple collision avoidance AI in Unity3D

I’m currently working on a small 3D arcade game inspired by classical top down races in Unity3D. The game will feature enemy opponents, which means that they have to have at least some kind of AI. This AI consists of simple collision avoidance algorithm, so that the enemies don’t crash into walls constantly, and a very simple path following algorithm so that the opponents can find their way around the racetrack. I’ve built a quick prototype with simple boxes and a path. Continue reading Simple collision avoidance AI in Unity3D

BeagleBone Black programmable realtime unit (PRU) Hello World – Part 2

Introduction

In this part of the series I’m going to show you how to write a very basic C Host-Application that will run a program on the PRU of the BBB. This part of the series assumes that you have basic C skills. I’ll also include some useful links to the official ti API. Everything can be done with the tools that come with the BBB. Code Composer Studio (CCS) oder Eclipse are not needed needed but you can use them, if you want to.

Continue reading BeagleBone Black programmable realtime unit (PRU) Hello World – Part 2

How to use hardware PWM/CLK to get exact timings on a Raspberry Pi

Introduction

This might not be a common issue, that hobbyists run into when creating their projects, because usually the software PWM, offered by the raspberry pi’s RPi.GPIO-Module, is exact enough for dimming some lights or controlling dc-motors. But for real-time and time-critical applications, this is actually an issue: Continue reading How to use hardware PWM/CLK to get exact timings on a Raspberry Pi