Change of mindset

I have worked on embedded coding for a long time.

I worked on mobile phones, and before that 6502 and Z80 and (I forget exactly) other stuff. I have written code for home made gadgets made from wire wrapped 6502 boards I put together myself and designed myself. I have written code for ticket machines for tote betting on race courses! I designed the Walthamstow dog track jackpot bet thing from several decades ago and made the big display board they had work with it. Those were the days - coding was challenging but much easier to grasp every aspect, to understand how the logic gates worked to make the processor tick at every level. Life was simpler in so many ways :-)

Nearly 20 years ago we (FireBrick) did something amazing with an H8 micro controller, making IP packets flow using an Ethernet controller. It was 10Mb/s Ethernet, and needed to be read byte by byte in and out of the processor using code, but it worked, and we actually coded TCP. We made a usable firewall product!

That was huge. You would never get TCP on a BBC Micro. Well, technically, I bet I could, but really really limited. If nothing else the memory was an issue, as a BBC micro had 32K of RAM if you were lucky. That is not a lot of TCP packets!

Of course something like a PIC 16C84 was more fun in many ways and it had what, tens of bytes of memory, I forget... (OK, I checked, it is 36 bytes of memory). No, that is not enough to generate a TCP/IP(v4) header even! I liked those PICs...

So my view on embedded devices extended to talking TCP and hence the things that could do, like http as a web control interface. My mindset moved on...

But times move on.

Now we finally have had TLS and https on FireBricks for a while now. Until now, I really did not feel talking TLS was an embedded controller thing. But we have the code. We have the algorithms for the negotiation and encryption, and the code for the TLS and well, it is a thing, even on a small ARM controller. We're even looking at some of the hardware crypto processors now.

So now I have to have the mindset that a small embedded controller has no real excuse not to talk proper encrypted https and similar protocols.

For a lot of my life that would be madness. It is hard to get my head around some days!

I look forward to the next 20 years!


  1. I love that. It's incredible (and somewhat daunting) how sophisticated the systems are that we engineers get to build things on top of these days.

    I've decided to finally starting learning about machine learning this weekend, and the 'hello world' example for the TensorFlow library is a program that teaches itself to recognize images of hand-written numerical digits. Oh, and it's about 10 lines of code(!)

    1. How clever will robots eventually become