Tag Archives: Raspberry Pi

SmartParallel: troubleshooting with logic analyser and scope

Well, it does seem that the problem I’ve been having with the SmartParallel board is indeed that horror of horrors – the intermittent fault. Or perhaps something weirder. This is some kind of quantum device – it works only when being observed. Setting up a server The SmartParallel was working perfectly for a few days. Then I didn’t use it… Read more »

SmartParallel: Go code is go

      No Comments on SmartParallel: Go code is go

Success! The Go code I’d been struggling with is working, although it also required changes to the C++ code running on the ATMEGA328PB. Here’s a quick overview of how the process works. On the SmartParallel, the ATMEGA328PB code sits in a loop watching for incoming data on the serial port. It also monitors the state of the printer by frequently… Read more »

SmartParallel: n steps back, n+1 steps forward

The principle of ‘one step at a time’ is very sound. The more changes you make at once, the more places there are for bugs to hide. And that’s why this project has been progressing slowly – or not at all – just lately. Finally, though, I feel like it might be back on track. A quick recap: SmartParallel is… Read more »

SmartParallel: serial shifter issues

I was pretty pleased with my serial level shifting board – right up to the point where I tried to use it. The tl;dr version of this post is that the board works, but not well enough. It has severe limitations that, I think, make it useless for the intended purpose. Let me explain… Voltage levels The purpose of the… Read more »

TTL serial level shifter

      No Comments on TTL serial level shifter

Not every device speaks the same voltage. In designing the SmartParallel serial-to-parallel printer adapter, I chose to use 5V as the VCC supply throughout the board. But I was constantly aware that some of the devices that might talk to the board – such as the Raspberry Pi – use 3.3V for their I/O. What to do? There’s only a… Read more »

Go on Raspberry Pi: simple cross-compiling

Go – or Golang if you prefer – is a powerful programming language, applicable to virtually any platform, from single-board computers (SBCs) such as the Raspberry Pi to supercomputer clusters. I tend to work at the lower end of that scale. And I was motivated to check out Go because it has a reputation for being fast – unlike, say,… Read more »

MotionEye on DietPi on Raspberry Pi: keeping an eye on things

You know you have a Raspberry Pi problem when you start searching around for projects just to use them up. But then, admitting you have a problem is the first step to recovery… PiHole? Check. PDP-8 (plus intranet server and MQTT broker)? Check. Alarm clock? Check. Retro radio thing? Work in progress. Dream machine? Also in progress. Dot matrix printer… Read more »

Sheldon robot: remote control

      No Comments on Sheldon robot: remote control

With any robot, it’s always useful to have some form of remote connection, if not full remote control. The question is how to achieve this. By the way, in this post, I’m definitely in ‘thinking out loud/workshop notebook’ mode, because nothing described here is finished. I’m just playing with concepts. Now, when I mention ‘remote control’, I’m not talking about… Read more »

Sheldon robot: architecture

      No Comments on Sheldon robot: architecture

Right from the beginning I knew that the Sheldon robot would have a multi-processor architecture. This appeals to me the same way object-oriented programming appeals – you can create a modular system in which each part does a specific task and can be treated like a black box. The structure will be hierarchical. At the top – what I’m going… Read more »

DottyMatrix software stack: PHP & Python messaging

On the Raspberry Pi that I’m using to control my DottyMatrix serial-to-parallel Centronics printer interface there are two main software components – a web-based PHP/JavaScript front-end UI and a back-end server programmed in Python. So these need to talk to each other. Here’s the overall architecture of the solution: The matrixSvr.py program is intended to run permanently on the RPi… Read more »

DottyMatrix software stack: the front end

It’s one thing building an interface – it’s quite another working out how to use it. My DottyMatrix serial-to-parallel device is designed to drive my venerable old Epson MX-80 F/T III dot matrix printer (although it should work with any printer using a Centronics parallel interface). So far, I’ve mostly spoken to it using a terminal, sending text directly from… Read more »

DottyMatrix: a simple solution?

The DottyMatrix project began when I thought, ‘It would be nice to make use of my old Epson MX-80 F/T III dot matrix printer’. The problem was talking to it. But then I thought, ‘It’s just parallel printer interface. I’ll make a microcontroller-based device to act as an interface. How hard can that be?’. The answer, it turns out, is… Read more »

Review: Exploring Raspberry Pi by Derek Molloy

This book was published in 2016 but I’d always dismissed it because I assumed it would be too basic. After all, I’ve been messing around with the Raspberry Pi for some years now and I really had no use for a book that spends the first couple of chapters saying ‘this is what an LED looks like and here’s how… Read more »

Raspberry Pi: creating a cross-development environment for ARM

So here’s a confession: I hate make files. And I’m really not all that keen on the whole compilation thing, with all those flags and whatnot. Why? Because I’m lazy. But of late I’ve felt myself drawn back to C++. There is something about the language that both appeals to me and repulses me. Mostly those make files. So this… Read more »

Apt-get and the curse of IPv6

      1 Comment on Apt-get and the curse of IPv6

Well that’s two hours of my life I’m never getting back. You know how sometimes you try to do a simple five-minute job and the damn thing just snowballs…? Well that was today. First a quick summary so you know what this is about – I was having problems with apt-get stalling when trying to use it on a Raspberry… Read more »