mailto: blog -at- heyrick -dot- eu

Navi: Previous entry Display calendar Next entry
Switch to desktop version

FYI! Last read at 18:35 on 2024/11/21.

Today's blog entry is a long one. It was raining and "surprise! no new release of my sequencer". ☺

 

Amazon lies

I just purchased some pieces of breadboard, and some 0.1" headers and corresponding sockets. Useful to have that sort of stuff in my electronics kit.

Part of the purchasing decision was that both articles said "Delivery tomorrow (if you order within X hours and Y minutes)". So I put the two into my virtual basket, headed to the checkout, paid...

...and saw the guaranteed date of delivery was Monday.

I spoke to a customer service person who was quite apologetic and said that the site wasn't up to date.

Really? The automated behaviour of one of the most advanced on-line purchasing systems in the world "isn't up to date"? Sorry, consider me incredulous.

 

Amazon delivery

Amazon is now obliged (by the French government) to charge a fee for the delivery of books. In order to prop up the French booksellers that failed to innovate (seriously, if Amazon can do free delivery on stuff, why can't a large national chain like FNAC?), the government has demanded that Amazon charge something like €3 delivery on any order that contains books including foreign books (yes, I asked ☺).

Now, Amazon isn't going to suddenly and magically change how their delivery system works, so essentially at a time when inflation is high, wages are depressed (as as the workers), and people's purchasing power has been diminished...
...the government has just handed Amazon three euros of pure profit on every book order...
...under the excuse of supporting small booksellers.

You couldn't make this up, could you?

Thankfully, for Prime subscribers, postage remains quick and free for any order that doesn't contain books.

 

Oh, and before anybody comments on Amazon being the evil empire etc, it is actually a boon for those of us living out in the sticks (especially us introverts that tend to want to avoid crowded places like cities). I pick stuff on a website, and two or three days later it turns up.
Maybe one should look at Amazon's successes in online ordering as an indictment of everybody else's failures?

Just a shame Bezos is a bit of a twat and their anti-worker anti-union stance in America (the land of barely existing labour laws) is infamous.
But, then, which filthy rich techlord isn't a wanker? Case in point, just look at the former-glory blue bird that used to allow crappy journos to fill articles without doing any actual work...

 

Total Eclipse of the Heart

On Epic Rock Radio is this song, originally made famous by Bonnie Tyler in the 80s, instead being given a metal makeover by Exit Eden which is an American "supergroup" where various vocalists from other groups get together to perform cover versions of songs.

Taking on this song, perhaps, wasn't the greatest idea. It's hard to metalise something like that - it was written by Jim Steinman for god's sake, the guy who wrote MeatLoaf's material, which is about as metal as non-metal gets (and indeed created a new genre all its own that is often called "Wagnerian Rock" due to the dramatic intensity that would often be so over the top that it would cross the line multiple times).
Couple that with Bonnie Tyler's vocals and, yeah... Sorry Exit Eden but as somebody who grew up in the 80s and remembers the original well, I don't think anybody's vocals have come close.

How well do I know that song? Hmm... about this well. ☺

As joyously analogue as analogue can get
As joyously analogue as analogue can get.

Oh, Epic is now playing "The Furthest Shore" by While Heaven Wept. Nice slow tempo guitar solo at the end there. Sometimes real power doesn't need to hit you at a couple of hundred beats per minute. This ending, it's just laid back majesty.

Edit: Lots later - Xandria trying to pull off "I Would Do Anything For Love (But I Won't Do That)" (which is gender flipped with a female lead, actually it sounds like several). Not a bad effort from Xandria, but so far from the original, it just shows how damn effortless MeatLoaf made his performances.

 

Shonky VGA cable

On my PC I have a little box that can select between the computer's video input, composite input, and S-video. I talk about it here.
It uses a video extension lead between the PC and the gizmo.

When I set up this Pi 2 in the living room with an old 1280×1024 flat panel monitor that I had out in the shed, I needed to pinch that video cable to hook the Pi's HDMI adaptor to the monitor.

So I thought I'd get myself a cheap cable from Amazon to replace the one on the PC. It didn't need to be great quality as I rarely use the PC these days. So I picked a cable that cost €3,89 and was delivered the following day...

A cheap VGA cable
A cheap VGA cable.

I fitted it to the PC and turned the PC on. It was running XP, that has an annoying tendency to try to intelligently detect and adapt to the installed hardware which is great when setting up a system but not so great if a glitch or other problem makes a piece of hardware fail to be correctly recognised.
As in the case with my monitor. The new VGA cable clearly doesn't have wires for the monitor ID as the computer decided to set up a new monitor and give it 800×600 resolution. Now, this is XP so it's possible to change screen resolutions on the fly. Only, out of the long list of resolutions, my monitor's 1440×900 wasn't there, and an hour of fiddling later it seems the only way to get it back would be to put the original VGA lead back and get the PC to detect the monitor.
Which it did flawlessly the first time.

So, okay. I'll just use it with the Pi. After all, the Pi is essentially hardwired (in settings) to output 1280×1024 regardless of what RISC OS is doing. So, no big right?

Wrong. Big. Huge.

Terrible display
Oh, my, this is awful.

See all that smearing? It's known as "VGA ghosting" and it's often because of unshielded cables and the signals interfering with each other, especially at higher resolutions.

Compare:

WhatActual VGAPi displayPC display
Resolution640×4801280×10241440×900
Pixels307,2001,310,7201,296,000
Refresh (fps)60 Hz60 Hz60 Hz
Refresh31.46 kHz63.98 kHz55.91 kHz
Scanline time31.77 µs15.62 µs17.88 µs
Frame time16.68 ms16.66 ms16.66 ms
Pixel freq.25.175 MHz108 MHz106.47 MHz

Back when analogue VGA was conceived, 640×480 and 800×600 (SVGA) were common. My Pi is literally outputting a million pixels more than standard VGA. As the speeds increase and the timings decrease, deficiencies in the cables will start to show up.

Clearly this cable is no use.

So let's look inside.

Inside the cable
The barest minimum to make a functional video cable.

There you have it. It's the least possible to make a video cable that actually works. A single flimsy ground wire, two wires for the horizontal and vertical sync, and three wires for the red, green, and blue. No IIC wires which explains why my PC couldn't ID the monitor.
Also worthy of note is that the nice looking ferrite bead is literally just a bit of moulded plastic stuck to the cable. I feel like Big Clive right now.

Now, the thing is, if this cable is crap and introduces signal degradation, well, what happens if I simply join the two plugs together? I only need to take the signal from the HDMI adaptor to the back of the monitor, which is just a few centimetres.

Using the Lidl advertising leaflet to protect the table, time to fire up the soldering iron and breathe in the noxious fumes as I splice the wires together. My eyes are not up to this sort of detailed work any more. ☹

Let's fix this
Let's fix this.

Then I carefully wrapped pieces of black electrical tape around each join, and then a length of the tape around everything.
This was then connected between the HDMI adaptor and the monitor.

High speed cable my arse.
High speed cable my arse.

It works. No more ghosting. The display is... about as sharp as you'll be getting from analogue video. Unfortunately none of my monitors have DVI or HDMI inputs, so while the PC outputs proper analogue signals, everything else outputs digital video which is converted to analogue for travelling down a piece of wire, which - as the monitor is an LCD panel - is then translated back into digital form for controlling the LCD matrix.

Still, I now have a video cable for the living room Pi and the PC. ☺

 

Lidl burger fail

Feast your eyes on this.

Lidl burger fail
Lidl burger fail.

This mess is what happens when one does weird things like putting a burger into a plastic pouch instead of a little carton like, well, everybody else. There was nothing to hold the burger together in the bag and, well, you can see the result.
The instructions suggested cooking it at two minutes and forty seconds at 600W. I gave it 2m30s at 800W and it was cold in the middle, so I gave it another 2m30s at 80% (so as not to incinerate the lid).

Despite the woeful presentation and the ingredients that don't bear thinking about, it didn't taste bad.

 

Lidl Samhain nuggets

They weren't bad, but on the other hand they weren't good. Cute, but too greasy for my liking, and a texture resembling polystyrene that suggests to me that this is "chicken" by virtue of having been obtained from a chicken in much the same way as cat food...
Lidl nuggets
Lidl spooky nuggets.

The first thing that I did was to give the ghosts eyes. What kind of ghost doesn't have eyes?

Lidl nuggets
Ghosts need eyes.

I then violently removed the bottom half of the ghost. Photo included, complete with bean juice blood, for a level of horror potential appropriate for the season.

Ghosts scream silently.
Ghosts scream silently.

 

God's been busy

I thought about using Dall-E2 to make a photo of God, sitting up on a cloud, choosing what weather would happen on earth below.
I think this design, which is partly Dall-E2 and partly me, is best described as a mixture of cynicism and mission creep.

God raining chaos unto thee
God raining chaos unto thee.

I like how Dall-E2 has made God look like an Arab. At least it payed attention to where The Holy Land actually is, which is more than one can say for the door-to-door mob that seem to liken Jesus to some sort of rugged Chuck Norris clone.

 

Citizen PA10 printer module teardown

Printer module
PA10 printer module.

The printer in my printing calculator is a Citizen PA10 module. There's no information on the Internet. Let's change that. ☺
Time for a deep dive.

Let's dive into this
Let's dive into this.

Wiring

The calculator runs on 6V (4 × AA) and thus the printer module also runs on 6V.
It connects to the calculator by way of eight wires.
Connection wires
Connection wires.

The wires, left to right, with VCC at 6.40V, are:

Cyan6.40VOptical sensor emitter anode?
Orange5.19VOptical sensor emitter cathode?
White5.03VOptical sensor detector collector (see below)
Green0.00VOptical sensor detector emitter
Yellow6.40VGoes low to activate motor
Red6.40V
Black6.40V
Black6.40VGoes low to activate solenoid

 

Sensing position

The optical sensor is a slot type sensor like in computer mice. Two wires power an LED, and two wires connect to an optically sensitive transistor. The wave pattern is a little bit complicated. It floats high, and as the toothed wheel begins to turn it goes low and pulses high every time a tooth passes through the sensor. Because of the speed of the pull-up, the toothed wheel has to be spinning fairly quickly.

Here is the toothed wheel.

Position sense cog
Position sense cog (printer is upside down).

You can see that there are thirteen small cogs and one large cog. If we ground the yellow wire to activate the motor, we obtain the following waveform.

Position sense waveform
Position sense waveform.

If each square represents 5 milliseconds, then it looks as if it takes about 53ms per revolution. Which implies that the heads are spinning at about 18.8 revolutions per second, or about 1,100 rpm. Not bad for a calculator!

If a full revolution takes 53ms and there are fifteen positions (the big tooth counts for two), then this implies that it takes roughly 3.5ms per cog. Here's a close-up of the waveform (note that it's decidedly analogue) showing this to be the case.

Position sense waveform in detail
Position sense waveform in detail.

Because of the pull-up, the longer cog makes a rather messy waveform.

Position sense - the bigger cog
Position sense - the bigger cog.

 

The motor

It turns. In one way. That's all there is to say, really. While it provides the main mechanical force, it's the solenoid that makes things happen. All the motor does is turn on and off.
If you ground the yellow wire, the motor will spin.
Activating the motor
Activating the motor by hand.
The red wire in my hand is for grounding the final (black) pin to activate the solenoid, but I'm just not up to the timing required. It's like half a centisecond, or two and a half centiseconds to return the print head/paper feed. I can't even hammer the piano keys that quickly!

 

The solenoid This is where the magic happens. It's a careful combination of positioning (relative to the rotation of the print head) and timing.

If we press the C/CE key, the calculator will print "0· C" followed by two linefeeds according to the following waveform.

Solenoid waveform
Solenoid waveform for "0· C".

The secret to understanding how this works is to realise that the printer must print something for every movement of the print head. As the print head rotates, a little plastic nobble inside pushes the rubber wheel forward to press against the paper, and it then snaps back which advances the print head one position to the left. The exact timing of when this happens determines which character on the print wheel is pressed against the paper. But there's more to this. There are three wheels, two black and one red. All of the symbols are on the first wheel, then the numbers along with ·,-# are on the next two wheels - the middle one being black and the final one being red.

In the waveform above, the first pulse will press 'C' to the paper. The next two pulses will happen when the wheel is at an empty place (so it prints nothing). Then we must change to the middle wheel for the '·' and finally on the same wheel we output '0', and the two linefeeds.

It appears that the pulses that happen every 100ms are for the normal printing, while the ones that happen after 60ms are for changing which position of the print head is in use. The pulses themselves last for 4ms.
The final print and the lifefeed share a much longer pulse, which looks to be 26ms. This engages a different part of the mechanism that, following the print, will throw the heads back to the home position and advance the paper.

Next we shall look at the waveform for outputting "-4·00 +".

Solenoid waveform
Solenoid waveform for "-4·00 +".

Here the theory starts to come unstuck as we'd have expected to see either a longer 'short' pulse or a double pulse in order to push us over to the red, but there doesn't appear to be. I suspect there's some sort of timing issue that I'm not picking up on.

What I can say is that my plan to try controlling the printer manually is doomed to failure. It depends far too much on intricate timing so would need some sort of microcontroller. Perhaps if I had such a thing running I could fiddle around to see how it actually chooses which wheel it uses for printing, as I'm just not seeing anything stand out on the 'scope probing.

 

The print wheels

I'm starting with '3' as it appears as if this is where they normally stop, with the '3' closest to the paper.

Wheel 1 is the first, or the rightmost as you look down into the printer.
Wheel 3 is the last, the red one, the leftmost as you look down into the printer.

123
*33
22
÷11
×00
+··

,,
%--
-##
=99
88
C77
M66
G55
Δ44

⬚ means there's nothing there, it's a non-printing place.
The dash across is a place where little teeth hold the rubber wheels in place.

 

If you want to play around or repurpose one of these printer units, then I hope the information that I have uncovered will be of use to you.

 

Solitary Shell

It seems as if Dream Theater (that I have to remember to misspell) has almost written a song about me.

It's not exactly like me, I don't think I'm a danger to myself... and I certainly disagree with the concept of "Monday morning lunatic", you have no idea how much tea I need on a Monday morning in order to be a barely functional human.
As for spending hours at a time writing? Well, between writing SimpleSeq and these blog entries... yeah... many hours of writing.
Considered somewhat odd? Keep to myself? Daydream in and out of my own world? Uh... check, check, checkity-check-check.

I don't feel I'm drifting in and out of sanity. I think sanity is the problem, not me. I mean, look around. Jeez.

Just know this - I'm happy in my shell. I don't need to come out. Leave me alone.

Perky melody, though. Happily upbeat.

 

 

Your comments:

Zerosquare, 20th October 2023, 22:33
On the subject of Amazon, while I won't deny the convenience aspect, they ca
Zerosquare, 20th October 2023, 23:02
(damn, I hit Submit too soon ; you can remove the previous comment) 
 
On the subject of Amazon, while I won't deny the convenience aspect: 
- they can afford to lose money on a proportion of their business, because it's subsidized by other stuff like AWS (and Amazon was unprofitable for nearly a decade, so it relied on investors with very deep pockets) 
- they're known for their abusive practices towards their suppliers, employees and delivery drivers 
- they regularly use their dominant position to drive out competitors, then set their own rules 
- not to mention the whole thing about paying very little taxes 
 
So, it's less of "Amazon managed to succeed where everybody else failed", and more of "you can succeed in this business, as long as you get your actual revenue from somewhere else, and you screw everyone else". 
 
Much like offshoring jobs to reduce costs, whether the convenience is a net benefit for society in pretty much up for debate.
Zerosquare, 20th October 2023, 23:05
On a different subject, don't you have an ESP32 board laying around? It should be more than fast enough to drive the calculator printer.
Rick, 20th October 2023, 23:34
The little tax paid isn't Amazon dodging tax, it's just them making use of lax rules regarding tax. It's our own governments that should close those loopholes...but they won't as that would unduly affect them and some of their wealthy donors. 
 
I have an ESP32 around, but don't fancy going through the headaches of making it play nice with 6V hardware. 
Anon, 21st October 2023, 10:26
Rick - it always surprises you that an uber-geek such as yourself doesn't have a monitor with HDMI or DVI input. 
 
I picked up an old Dell monitor at a charity shop the other day for £5 - 24", 1680x1050, with VGA and DVI inputs. Works great on a Pi (amongst other things) with an HDMI to DVI cable. 
 
For those who aren't aware, DVI and HDMI are electrically identical as far as video is concerned; HDMI just uses a smaller connector with more pins, and some extra wires that support digital audio and CEC (Consumer Electronics Control). If you've got a monitor with DVI input then a simple adaptor cable will make it work. And the improvement in picture quality is fairly substantial. I was using a similar arrangement for some months with my all-in-one PC (I know, but it had been reduced from £399 to £200, i3, 256Gb SSD, 4GB RAM and a built in 22" full HD IPS display - I stuck a spare 16GB SODIMM into it so it's now 20GB) with my old Iiyama ProLite monitor until a month or so ago when I picked up an Acer 22" IPS full HD (1920x1080) that matches the built-in one on the PC - £30 off eBay including postage. 
 
The all-in-one only has an HDMI output (no VGA) for a second monitor. I'm surprised that monitors are still being manufactured that don't have HDMI or DVI inputs. Even my laptop only has HDMI out for an external monitor, they stopped fitting VGA some years ago. 
 
Speaking of which, does anyone else find it annoying that modern laptops no longer have optical drives fitted, and don't even have space to install one? I did like that with my old laptop I could be round at a friend's place and rip a few of their CDs on the laptop without needing anything extra - nowadays I need to carry a USB DVD drive around in the laptop bag. Still, it does make the laptop itself slimmer I guess.
Rick, 21st October 2023, 13:09
The monitor I'm currently looking at is an iiSonic IIMJ7. 
These sorts of things tend to turn up fairly cheaply in vide greniers (boot sales) precisely because you can't plug modern stuff into them. 
 
If you could, then they'd still be used, passed on to friends/family, or listed on sites like LeBonCoin or eBay for more than I'd be willing to pay. 
 
Ever since those sites became popular, vide greniers are more and more piles of rubbish with anything potentially good carrying inflated prices as people believe that's what they could get on LeBonCoin. It's one of the reasons I do vide greniers mostly as a recreational thing these days (which means I don't actually go to that many any more). Fewer bargains to be found. 
 
And, yes, I noticed the lack of DVD slots on modern laptops. Which is why I never thought of getting myself one. A big use case for me would have been watching DVDs while sitting in bed. ;) Of course, mostly evaporated with Netflix... 
Anon, 24th October 2023, 10:35
I don't miss the built-in optical drive that much, but sometimes it would be useful to still have it. 
 
On the desktop PC? I had an old external SCSI case kicking around. Took the 50-way Centronics connectors out of the back panel, then having picked up a USB3 to SATA interface, I carefully threaded the USB and power cables through the Centronics-shaped holes. I then installed the Pioneer BD-R drive that I'd salvaged from my old desktop (which did have 5.25" external slots). 
 
Ok, so the faceplate of the drive is black and the case is beige / cream, but it works perfectly. I can rip and burn CDs, DVDs and Blu-Ray discs. All using bits that I had lying around, plus a fiver for the adapter.

Add a comment (v0.11) [help?]
Your name:

 
Your email (optional):

 
Validation:
Please type 16931 backwards.

 
Your comment:

 

Navi: Previous entry Display calendar Next entry
Switch to desktop version

Search:

See the rest of HeyRick :-)