ZipPi: messing with the Pi

I made an initial list of hardware for the first build, which is the ordinary stuff like ‘raspberry pi’ and ‘SD card’. The big case is completely dismantled, and all useful parts I could get to easily have been stripped off. I now have far too many heat sinks, but I may use one on Itchy anyhow.

I’m not anticipating big problems, although I’m going to have to grab some extension cables for the USB dongles and the Cat5.

Itchy: microcontroller

So, I have an arduino breadboarded to a stepper driver right now, and I’m staring at it, and thinking about how to control several of them. If I want tiny steps, I need to be able to switch different pins on and off, and I’m going to want tiny steps. That uses up a lot of pins.

I have two possible options. The hardware one is to have all of the driver speed pins run from one analogue pin, which I then run through a couple of comparators to get the level I want. That’ll give me output from one pin, but I do have to write out some logic tables and make the board more complicated.

The software method is to have three arduinos, slaved to a master computer (probably a Raspberry Pi by serial interface to the Pi GPio) and send the full movement to each, but screen it so that each Arduino only moves for its own movements, and hence can’t get out of step. (It could miss steps and not recover them, but that’s an issue to deal with in software, and I have ideas anyhow.)

The slot-in solution is probably a Reprap RAMPS controller, so I should look into that, but it’s extra money and a Pro Mini costs under a fiver, plus I have a couple hanging around.

I could /just/ manage a two-axis machine where I operate the z axis by hand and call the machine a plotter. That’s not likely to satisfy me, though. So, it’s time to talk with the programmer I’ve roped in – she’s going to know more than me about timings, multiple threads, and the like. She thinks I know what I’m doing. Don’t tell her!

Arch Flotilla

My Pimoroni Flotilla kit arrived today, and I didn’t have a Raspberry Pi left in workable condition. So, I looked for a set-up that would allow me not to use one. I found a write-up on using Ubuntu and that was hugely useful.

I already had git, so I hit

git clone

in my build area. The daemon is the non-GUI backing that does the hard work of talking to the USB device. It comes without all the dependencies, though. The first one, mentioned in the Ubuntu guide, is libserial. That’s in the AUR. I already had autoconf and libtool. As it happened, I didn’t need to make libserial. This is fortunate, as I found out before I looked in the AUR that pushd was not going to play nicely and I had no idea what that meant.

I also needed libserialport-git from the AUR and websocketpp from the standard repository. I found this out when the makefile borked, and each time there wasn’t a required dependency, I just found it. More than that, I needed to take out the version number in the Makefile. CC = g++-4.9 is probably not allowed because it’s not pure GCC. So, I replaced it with CC = g++ and that worked fine. I swapped OBJECT and LDFLAGS as per the Ubuntu instructions, although I don’t know if that made a difference.

Then I downloaded Rockpool, the interface.

git clone

That should have run nicely with cd flotilla-offline/rockpool && python but as it happens I have python3 so I made it explicit: python2 and then I was done. Remember to click on Connect rather than waiting politely for the bar to load. You’re acting as a server on the USB connection, so although the address looks like the default, it is and it should be.

ZipPi – rethinking the power switch

I’ve had another look at the case I want to put ZipPi into, and it’s already got separate power and reset switches, so I’ll probably use those. Which I should have all along. I still want to make a power switch for a separate, smaller case, but ZipPi the Computer will probably have the external hardware kept working.

ZipPi – melting a breadboard

breadboard with melted holesAs it turns out, a power supply with a switching MOSFET is probably unregulated and probably going to be passing a lot of electrons around really really fast. So, it gets hot.

I have holes in my breadboard that are not how they were originally designed.

Pi-Puter – Name

The Pi-based building a computer project needs a name. It’s really just a bunch of small, separate solutions. Everything takes input or is there for output, and I just need to join things up.

Solutions -> Pi Lab/Lab Bench/Benchtop Pi
Joining things -> Sew What?/Popper Pi/Glue Sniffer/ZipPi.

ZipPi. I like ZipPi. At some point the spelling may change, or the capital letter may be decapitated, or I might decide it’s too much like Sparky, but for now, it’s ZipPi, pronounced Zippy.

Pi-Puter Notes

Useful and not so useful notes on this project.

I’m breaking it down into pre-computer tasks, rather than trying it all at once. So, organising the power supply for the pi, organising the power supply for the peripherals, and so on. I’ll need to do sound and video, wireless, and a few other things.

Pi-Puter project

I’ve got a love-bored relationship with the Raspberry Pi. On the one hand, it’s a fantastic piece of kit and really cool and you can do stuff with it. On the other hand, I don’t have anything I need to do with it. I’ve got a few ideas about things I /could/ make, but nothing has really shouted. However, I also have an old computer case that I could hack about, which has a known good power supply I don’t know to be bad, and I could make a low-powered but fun working computer out of that. I could embed everything I need into the CD and HD racks in the case, and have nothing actually show if you look into it through the fan outlets. There could be LEDs. Blue ones.

I’d need a screen, a powered hub, the pi and peripherals, and what else? Oh, tea. And a severe hatred for all mankind. Luckily, I have most of that stuff.