Sunday, 12 May 2019

Picicle Build - Handheld RetroPie Console

This is the Picicle, a kit I saw on Tindie, and thought it would be interesting to build.
Looks very nice when completed, but needs a little assembly first.
The kit unpacks into a PCB, several bags of surface mount parts, the case in the form of four cut sheets of perspex and one sheet of button shapes.
What is no included is a Raspberry Pi Zero W (because you still don't seem to be able to buy more than one at a time), a battery (because postage is tricky) and a microSD card.
Assembly of the PCB was a little tricky due to lots of small surface mount parts, 0603 resistors and caps, and ICs in SOT-23  and SOIC 8 packages.
I think I did well not to lose any of them, although one resistor did go flying and took a while to locate. In the end, I found it because it was 0603. Most of the other parts I have dropped were 1206, so the smaller part stood out.
The LCD is attached with a flat flex, soldered direct to the board as a connector would take up too much space.
Also on the front in a single speaker for the audio (most of the circuitry along the bottom is an audio amplifier circuit).
The Pi mounts on the back, not a technique I've seen before, there are surface pads for the 40 pin connector on the Pi, and you just flood solder through the holes so it flows the pad beneath and makes a connection with no height lost for a header connector.
The battery was tricky to find, the build instructions show a 405060 cell (4mm high, 50x60mm), 1800mAh LiPo. I couldn't find one like that, but I did find a 1250mAh 503759 (5mm high, 37x59mm), that was sold as a replacement battery for a GPS. That will do for the moment, I might upgrade if I can find something larger but still no more than 5mm thick.
Always a little scary when you have to cut the battery wires and solder to the board. These LiPo cells don't like their output to be shorted (although this cell does have the protection PCB on the end). The chips on the left hand side of the board form a battery charger circuit, powered from a mini USB socket below. The red and green LEDs on the front indicate charging status. The blue LED is an under-voltage warning.
The buttons were pushed out of a single piece or perspex, and the edges filed down.
Next step was getting the case together. The instructions talk about using UV glue to attach the top two laters together, and setting under a UV lamp. I haven't heard of UV glue before, so I cheated and used a couple of pieces of double sided tape instead.
The whole thing is held together with five screws from the back.
These are M3, and the they pass through two of the holes on the Pi, which are M2.5, so they need to be drilled out to 3mm.
With that, time to try it out. All looking good, the speaker is working, and the display has been correctly initialised (it is driven via SPI, rather than the usual HDMI output). The instructions link to an SD card image which is preconfigured for the audio, video and control settings, just add games.
This is where I hit a bit of a problem. I couldn't get it to connect to any WiFi networks, not even open ones. Not sure what I was doing wrong? I ended up copying the ROMs directly onto the microSD card and away we go.
I wasn't sure how well the display would respond, being an SPI interface, but it's fine even on a fairly fast game like Sonic.
That all works very nicely, quite a neat little console. I'll need to sort out some suitable ROMs and try see what it is like playing for a while, and what sort of battery life it gives.
All in all, a very nicely designed kit, the soldering skills required mean this is not suited to the absolute beginner, but it's good afternoon project with a neat little handheld console to play with once you're finished. Only suggestions would be gluing with parts of the case in advance, as UV glue is not something everyone has. Also, a schematic would be nice.

The kit is available from the sellers Tindie store -


Following further testing, it's all working nicely. Battery life seems to be around 5 hours on the 1250mAh LiPo cell I fitted.
When the battery is running low, the blue LED comes on (driven by a MAX809T, which is actually a reset chip, but is quite effective here as it's output goes low when the voltage falls below a threshold, which is just what you need for a low battery indicator).
When charging, the red LED comes on.
Charging from a USB 2.0 port took about 2.5 hours, after which the green LED lights.
It's important to use the mini USB jack on the bottom side for charging, and not the micro USB ports on the Pi. These are connected to the cell, so would feed that with too high a voltage. LiPo cells don't like that and tend to get a bit upset about it and swell to twice their size and catch fire.
To be sure that doesn't happen, I have blocked off those ports with a suitably sized piece of PCB material that is clamped in place when the case is screwed together.

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.

Monday, 6 May 2019

Update rollup

There have been quite a few updates to existing products recently, so I thought I'd do an update rollup. In true Microsoft style, please don't turn off your computer, this may take a while

Atari 400 48K RAM board

I am now shipping V2 boards. These use a different GAL chip, the 16V8, as I have been having trouble with the 22V10s recently, so I am phasing them out of all my designs.
The timing of the read and write cycles have been tweaked slightly, following some testing by Oliver Achten on a 400 with an early 6502 CPU board (rather than the normal 6502C version). These are available to order from my Tindie Store:

Minstrel V2.7

I am now shipping V2.7 Minsterl ZX80 clone boards. Changes since V2.6 include the removal of the 24/28 pin ROM selection option - I don't think anyone was using it, so I remove it to save having to fit the three wire links, and to avoid confusion (several people had forgotten to fit the links).
I've changed the NTSC jumper from a 2 pin into PAL/NTSC 3 pin jumper. The PAL position doesn't do anything, but it stops you having a loose jumper if you aren't using NTSC mode.
I have also added a position to add the optional resistor that reduced the video signal level for some TVs that are a bit picky.
You can fit the resistor on the back, or on the front, but it's not marked on the front, so it's not obviously missing if you don't fit it - most TVs don't need it.

IEEE-488 Diagnostics

The board has been updated to include test points for meter / scope / logic analysers. The white bordered pins are ground. The rest are the 16 signal lines.

Dual USB joystick - internal version

I have added the internal mount version of the dual 9 way D USB joystick adapters. This uses two flying leads with sockets on to suit cases with 9 way D cutouts at various spacings - even different sides of the case.

Userport save / power monitor / SD2IEC power / etc.

The Future Was 8 Bit Userport saver has been expanded to have all sorts of other superpowers. 
Now includes:
  • extending the userport to save wear from frequent use
  • a pin header for user port expansion
  • a reset button
  • a voltmeter monitoring the 5V rail
  • a method of powering an SD2IEC without typing up the datasette port

Clear C64 cases

Also just about visible above is the new clear versions of the C64 cartridge case.
These look rather nice, don't they.


That's about it for updates.
I'm still working hard on the SD2PET.
Here are a few more photos of the SD2PET Future, currently in testing.

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.

Sunday, 28 April 2019

Acorn Electron Repair - Part 2 Keyboard

This is the second part of the Acorn Electron repair. Last time I got the main board working after it arrived in this state. Looking at this photo, you can see the colour difference between the two halves. I would guess that someone had two Electrons, one with a broken keyboard, and one with a faulty main board, and guess which two halves I have here?
Now it is time to look at the keyboard. The Electron has a very nice keyboard, a metal frame with individual keyswitches soldered onto a single sided PCB. This is connected to the mainboard via a 22 way ribbon.
This is quite unusual, I don't recall seeing this type of cable anywhere else. You can see quite well here how it is constructed as due to the damage, it has started to delaminate.
There are two layers of clear plastic sandwiching some bare copper strips, crimped at each end.
Here the connector is cracked, but just about holding together. In order to test it, I've put sellotape on both sides to try to hold it together.
The back of the PCB has some foam tape to protect the ribbon from the pins on the back of the PCB. With that removed, you can see the where the cable is connected, the fourteen diodes and four resistors. I check continuity through the cable, and most pins were connecting, but there seemed to be the possibility of a couple of shorts where the copper ribbons were close.
I decided to test it with one of my USB keyboard controllers as I know that it is protected against shorts on the pins. On the Electron, fourteen of the pins are connected directly to the address lines, so any shorts could damage the board. (there are diodes to protect the address lines from shorting in operation, but they are on the keyboard PCB, so any shorts in the cable could cause problems).
The keyboard appears to work, but not all the keys, it's a bit intermittent, and there is a danger of shorts, so I think I'll go for replacing the cable. I'm not aware of a supplier of this sort of cable, so I am going for a more easily available alternative.
First off, I removed the cable, and soldered in a pin header to the keyboard. Space is a little tight, so I went for a straight header soldered in at an angle.
The connector on the Electron end is also a pin header, with the same standard 0.1" spacing.
To connect those, I've used Harwin M20 (also called Dupont and various other things) crimps and headers. I didn't have a 22 way, so I used a 20 way and a 2 way.
I tested this again on the USB keyboard controller, and all but a few keys were working.
The ones that were not responding are usually just dirty contacts in the switches. Unless there's a pattern, like a whole row or whole column, in which case check the connections. You can also test this by shorting the two pads for a switch on the back if the PCB, which will effectively press that key.
Where a particular key doesn't work, most of the time they just need to be pressed a few times to brighten up the contacts. If that doesn't help, pull off the key caps with a key puller and give it a quick squirt with contact cleaner. Put the keycap back and press it a few times and they usually come back.
The keys were all now working with the USB keyboard controller, so back to the Electron. That is a straight connection to the main board, but it's fairly tight in there.
In order to make it a bit easier, I've split the ribbon cable into individual wires, so they all lie flat to the side and the case closes fine.
With all that back together and a bit of a cleanup it's working nicely.
The obligatory 10 PRINT program gives the expected results.
Time for a bit of testing.

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.