Project: Nixie Clock (upgrade) – Final Code

The clock is controlled by an ATTiny87 which has three main jobs:

  1. Counting the pulses from the Maxim DS32kHz
  2. Controlling the display via the shift registers (read more)
  3. Interacting with the user via the reed switches to produce a user interface

Each of these jobs will be discussed separately below as well as the main code to bring it all together in a power efficient way. Full code can be found at my GitHub.

Continue reading “Project: Nixie Clock (upgrade) – Final Code”

Project: Robox – Buttons: Interrupts or Polling?

The robot box needs to know when it has reached the limit of it’s motion. If motion continues past this point, the machine will literally rip itself apart. To stop this happening, I am using a limit switch that will be pressed if the robotic finger move too far. However, it seemed that a good portion of the time the robot would ignore this button and continue to rip itself apart. The reason for this lies in the way I was using interrupts to detect the pressing of the button.

Continue reading “Project: Robox – Buttons: Interrupts or Polling?”

Mini-Project: Android App – Make The Number!

Ok, while I’m at uni, working on my CNC is a bit tricky. I have limited time, space and tools and only a small window of time per day in which it is socially acceptable to use drills. So I decided to try a software project.

A few months ago while watching Countdown on TV, I realised that I wanted to play the maths round in my free time. However, perusing the Google Play Store I was surprised to find  only one free app offering this game. Even this had limitations however, after 200 levels the game was over. So I decided to make my own.

The aim of the game is to take 6 randomly generated numbers and, using addition, division, multiplication and division, produce a given number. This must be done as many times as possible in 2 minutes.

My app would also feature: A leader board, an “infinite mode” (no time limit), and a feature to save sums so that you can come back and solve them later.

Luckily, Google supply their own Game api which gives access to leaderboard hosting and manipulation. This proved to be the trickiest bit of the app. It was a very fiddly process involving specifying “app signing keys”, although once you’ve done it once, it wouldn’t take long to do it again.

Anyway, here is the app!

The home screen! (I'll admit I'm not a graphic designer)

The home screen! (I’ll admit I’m not a graphic designer)

Playing against the clock!

Playing against the clock!


Playing infinite mode!


So, feel free to download and play! If you like it please rate, review and share!