Category: Programming

  • Reading Arduino fuses using USBasp from Linux

    Change to the directory where avrdude is located. If you don’t know, you can search for it with: sudo find / -name avrdude (find can take a long time to search the whole filesystem. You can interrupt it with Ctrl-c). For example, on my system (Linux Mint, May 2022) it was in a subdirectory of […]

  • Arduino Due in Microchip Studio Part 1

    Detailing my bumbling attempts to get everything working without the complexity of learning ASF. To follow this guide, you’ll need: A Due (obviously), Microchip Studio (formerly known as Atmel Studio, but it’s the same thing) which is free, and an Atmel-ICE Debugger and Programmer. The last item is expensive, but there are probably cheaper alternatives? […]

  • Solids of constant width – the Meissner Tetrahedron – in OpenSCAD

    Lots of people know about curves of constant width – for example the UK 50p and 20p coins: despite their apparent non-roundness they have constant width when measured by parallel jawed calipers or the mechanisms inside vending machines.  If the shapes of these coins are extruded as prisms they can be used as rollers for […]

  • E-paper display module driven by Arduino

    These E-paper displays work well and look nice.  At the time of writing you can get the 1.54 – inch size (200 x 200 pixels) from Banggood, but there are other sizes in the same range and my code should work with the bigger ones too.  I have one on order to test.  Search on […]

  • Revisiting the MinAttak chess problem

    I blogged about my old Java Applet for the chess minimum attack (dominance) puzzle previously here. But of course Java Applets are now deader than a very dead thing that’s also been poisoned, burnt, and crushed.  I’ve been playing around trying to learn a bit more JavaScript, and as a learning exercise, I coded up […]

  • Decoding FrSKY telemetry data with an Arduino – Part two

    In part one, we looked at the standard FrSky ‘D series’ data packets that provide voltage and RSSI information.  In this part two post we’ll consider the data format used by standard FrSky telemetry add-ons and how to decode the data from those without using a Taranis transmitter or a commercial display unit.  In part […]

  • An Arduino-based programmer for the AT89C2051 chip – part 2

    Here’s the software necessary to work the programmer board: Arduino sketch (for Arduino Mega 2560) PC program Here’s a screenshot of the program in operation.  It should all be fairly self-explanatory.  Please send me a comment if you have any problems or questions. Update January 2021. Thanks to Marco Almeida, who built one of these […]

  • An Arduino-based programmer for the AT89C2051 chip

    The Atmel AT89C2051 is a low cost microcontroller in a 20-pin DIL package.  It runs MCS-51 (commonly termed ‘8051’) code.  It works from 2.7V to 6V at anything from 0 Hz up to 24 MHz.  It has 2K bytes of Flash memory to hold the program and 128 bytes of RAM.  It has 15 I/O […]

  • POV source code – part 3

    If you’re trying to compile the source code with the Keil compiler, you’re probably getting error messages about ‘undefined identifier’ or similar.  This is because the standard Keil reg52.h header file doesn’t define all the necessary identifiers for the STC89C5x chips. We need to define the special function register (sfr) P4 = 0xE8; so the […]

  • POV source code – part 1

    These posts relate to the previous few concerning the Banggood kit: Cross LED Dot Matrix Display Circuit Board Rotating Electronic Kit It uses an STC89C52RC microcontroller which is a (fairly) modern Chinese version in the 8051 family. You can program it in assembler, but I chose to use the C language for this project. The […]