Hardware review: LEDBorg for Raspberry Pi

Introduction A while ago I ordered and received a LEDBorg bright, three-colour LED for my Raspberry Pi. I wanted to have a go at writing software to drive the GPIO pins, but didn’t want to go to the trouble of building my own hardware. Not only would that be fiddly, but if (when) something did …

Continue reading ‘Hardware review: LEDBorg for Raspberry Pi’ »

Pulse Width Modulation for dimming LEDs

Since getting all excited about flashing Morse code on a on a LEDBorg, I have been wondering about how to control it to get the best out of its three LED colours.The way to do this is to individually turn up and down the brightness of the three LEDs, thus changing the proportions of the …

Continue reading ‘Pulse Width Modulation for dimming LEDs’ »

Unit testing bare-metal Raspberry Pi code

A few days ago I took a few small steps toward creating a project structure and build process which would allow me to build and test the majority of my bare-metal Raspberry Pi code on my development (Windows or Linux) machine, with only the very hardware-specific bits needing to be built and tested on the …

Continue reading ‘Unit testing bare-metal Raspberry Pi code’ »

Programming a Problem-Oriented Language

Several Posts ago, during a discussion of why I am interested in bare-metal operating systems development, I linked to Charles Moore’s biography on his ColorForth.com web site. At the time I was interested in looking at a variety of stack-based languages for inspiration, including ColorForth. Sure enough, ColorForth had some interesting ideas, but what stopped …

Continue reading ‘Programming a Problem-Oriented Language’ »

Morse code on a big, bright, LEDBorg

I have already proved to myself that I can set up and control the OK LED on the Raspberry PI board from a bare-metal C program, but I didn’t really feel that I entirely understood what was going on. The cop-and-paste code to set up and switch the GPIO line used for the OK LED …

Continue reading ‘Morse code on a big, bright, LEDBorg’ »

Building Raspberry Pi code for unit tests

So far, despite working on a variety of bare-metal software features for the Raspberry Pi, I have not managed to achieve my aim of using the principles of TDD (Test-Driven Development). In my “day job” I make a lot of use of TDD techniques, and I am convinced that this approach both greatly improves the …

Continue reading ‘Building Raspberry Pi code for unit tests’ »

More language thoughts

Following my post a few days ago about high and low level languages, I received an interesting email from Paul Hammant with some astute comments. After thinking about this for a bit I’ll have another go. Note that this is a follow-up, and probably makes a bit more sense if you read the original post …

Continue reading ‘More language thoughts’ »

How to read Raspberry Pi board revision and memory size

As I mentioned yesterday, I now have some new Raspberry Pi boards to play with, and also some extra hardware. I had planned to spend this evening writing some GPIO code to control the colours and brightness of the LEDborg. I even got as far as plugging it in to one of the boards. Then …

Continue reading ‘How to read Raspberry Pi board revision and memory size’ »

New Toys!

Aha! the new toys I ordered have arrived. Two new Raspberry Pi boards, two ModMyPi “gamble” cases, and some miscellaneous hardware. The two new Raspberry Pis are both 512MB “revision 2” boards with mounting holes, and I have already fixed them snugly in their new cases. The cases which arrived were black top/red bottom, and …

Continue reading ‘New Toys!’ »