2025-06-23

Faikin board ATE

The Faikin boards are a development board, a component to fit in to your Daikin air-con as your own project.

However, I do try and make sure they work before shipping, which means some testing. This means flashing some code and doing some tests.

Basically, there is always a small risk of badly placed, badly soldered, or faulty components on any board. It is rare, often less than 1 in 500 boards. But it is a risk.

TC2030-USB

The key component is a TC2030 lead - it means a simple pattern of pads and holes on the PCB (which essentially has no cost), and a suitable lead (which costs a bit more).

Oddly TC2030 seems to be one of the very few sprung pin header leads you can get for this. I would have expected way more, but they do seem pretty common and standard, and they just work.

The lead allows me to power the board and connect to USB to flash the processor module (ESP32-S3-MINI-1-N4R2). The programming batch process is pretty slick. I end up doing several in parallel and putting in anti-static bags, all pretty slick now. Yes, manual labour which I am not used to, but I am getting good at it. Amazingly the process of then labelling the bags takes pretty much the same amount of time.

The flashed code then operates the LED on board so I know it is all flashed and working. Simple. Basically, to get as far as an LED means partition table, boot loader, and code, all working (all signed and checked) to get as far as the sequence for a WS2812 LED. So this is not just some GPIO happens to be low, this is proof of code running cleanly - a good test.

But this only tests the USB, power, reset, and ESP32-S3 module and flash and RAM. Not all of the other electronics for Tx and Rx with the Daikin. These extra bits have some components because they have to level shift to 5V open drain logic with pull ups as used by Daikin.

TC2030-USB+

Can I test these remaining components? Well yes, I can...

The trick is to take the final pins that go to the Daikin for Tx and Rx, and feed them on to two spare pins on the TC2030 spare pads.

Then I make a custom lead that has USB but shorts those two pads.

This means my code can do a loop back test on the final Tx/Rx from the Faikin board, and indicate red not green on the LED if it is not seeing a loop back.

This tests almost all of then components (there are a couple of ESD diodes which it doesn't test other than that they are not a short - but that works as a visual inspection mostly).

Always valuable lessons learned as I go.

2025-06-22

Battery life

I am doing well learning my way with battery based circuits. But it has taken some time to get the hang of it.

ESP32 deep sleep

The first thing is the ESP32 can go deep sleep, with controls of some GPIOs that can have set states and be used to wake from sleep, or a timer. Using this with a simple LDO regulator from a 3.7V LiPo I know I can make a device that lasts for several weeks on a charge from a pretty small battery because the Watchy does this. The nice thing is this is deep sleep most of the time, with timed wake to update display every minute. It works, and I have made similar circuits myself.

Leaks

However, some of my designs are not as long lasting, maybe a few days of idle/off time. The reason is that the idle current needs to be very very low, a few uA. Deep sleep on the ESP32 is that low, which is ideal.

Well, except you can set GPIOs in some states and that could use current. If careful though, e.g. week pull on a GPIO input to a button which is not normally pressed, you can indeed keep the current that low.

But there is one annoyance that has led to standby times of more like a day, and that is the nice WS2812 style status LED I use. Its idle current when off is still typical 350uA, which, by comparison to the CPU is huge! There can then be other devices that use power, and even the LDO will leak some.

The solution was a simple pair of FETs to switch the LED off, though for a single status LED I could probably power directly from a GPIO, which may be a neater solution.

This has led to many days standby - well probably indeed the few weeks as I measured on the Watchy.

More LEDs

Once example where this was a lot more of a problem, leading to standby times of more like a few hours at most, was the IronMan glove with 88 LEDs, so idle was more like 30mA. That was a mistake, and one reason I wanted to improve things a lot.

Point of load / power distribution ICs

Whilst a simple pair of FETs works well for controlling power to LEDs, there are some devices really intended for this, which are very cheap, and really quite clever. An example is the TI TPS22916. It is tiny (0.78mm x 0.78mm), has power in and out, GND, and a control input, and that is it.

Its job is to switch power input to output, simple as that, but it has a slew rate to reduce input current surges, and the control input is a simple logic level, active high, that will switch from as little as 1V, so will work directly from a GPIO, no other external components at all. It also has thermal cut out.

This makes it much smaller and neater than a dual FET, plus two resistors, and better and safer (the slew rate and thermal cut out). It also has a standby of typical 0.1uA, so basically nothing.

This makes it ideal to control the LEDs, even when only one status LED.

But there is more

I think I can do better. The idle ESP32 has some current and the LDO will have some even when idle. What if I could eliminate almost all power usage when off.

This is my plan...

I'll explain...

This idea is the LiPo (the connector at the top) feeds in to two of these switch ICs. It could be just one if all I wanted was an on button. This idea is the button links the battery to the switch IC control - the switch IC even has a built in pull down so no extra component needed. When button is pressed power comes on.

Then a GPIO (PWR) is driven from the processor - if I only had one switch IC it would be linked to the button to logically hold it pressed. This keeps the power on until the processor commits suicide by lowering that GPIO level.

By using two switch ICs I can still keep things on from a GPIO, but by linking the button to a GPIO input, I can still detect the button pressed when on. Button press does nothing for power when power is already on, but the CPU can tell the button is pressed, and use that, including using it as a power off switch if wanted.

The concept is that when logically off (and this means no wake up on timer, properly off), the only leaking current is of the order of 0.1uA (x2) through the switch ICs. Not even leakage via the LDO or the deep sleep processor applies. This should allow the battery to last a long time, e.g. even a tiny 150mAh should last decades in idle, with the batteries own internal leakage being more of an issue.

So, ordering some sample boards to test.

2025-06-21

Tax, duty, VAT, GST, Tariffs on import?

I sell stuff on Tindie. (see www.tindie.uk).

Now, when you get it, if not in UK, your courier may charge you some amount of tax, duty, VAT, GST, tariff, or admin fee on receipt. Pain in the arse, I know.

So could we sort this as seller?

Well, basically, we have no way to know what tax, duty, VAT, GST, tariffs, or admin fees might apply. It is not even a simple per-country thing - it depends what you are selling, and the country, and in some cases even matters what region in the country where you are located. If you are registered for VAT/GST in your country you may be able to avoid some charges on import. It is simply impossible for us to work this out, even if we wanted to.

And, of course, in some countries (sorry USA), the tariff may change from day to day at the whim of a mad man, so really we would have no clue. 

Even if we knew?

Even if we knew the exact amount you are liable to pay, I have no easy way to "pre-pay" that as sender. Some couriers clearly do this (my experience being EU based VAT, and even some US shippers to UK, surprisingly), but Royal Mail, which we use, do not seem to have any way - we just have a customs form to complete on sending, and you end up paying the extras on receipt - we have not way to pre-pay your import costs.

Even if we could pre-pay?

But even if we could work out what is due, and even if we have a way to pre-pay it for you, what then?

Well simple, it adds to the cost for us, so we would simply add to the price. Indeed, that could mean more, as setting our price higher to cover such charges probably impacts the charges as they are often a percentage of sale price. So actually, if we could work out what was due, and pre-pay it, it may mean we end up charging you even more that if you just paid it on import.

So, tough.

Simple answer is we quote a price, we charge a price, and you get to pay your government any import duty, tax, VAT, GST, tariffs or whatever when it arrives. Sorry.

2025-06-16

Canon CT-21

So, I like it. But there is some learning...

Colour

One aspect is setting colour options, and ensuring it knows the paper type, else you get too dark or too blue, or whatever. This is a general thing anyway with colour printing, but on my PRO-1000 I only printed on the same proper photo paper all the time, and so it always just worked. On the CT-21 I have a roll of A1+ "coated" paper. It needs slightly different settings.

Paper Size

This is where it gets fun...

The paper is A1+ width, i.e. 610mm (A1 is 594mm). Fair enough, it means you can print over size, and cut down with bleed over the edge of the print. The catch is you need a big cutter or are good are cutting against a straight edge.

Just to be clear, A1+ is not the max size, it will print up to 18m long from a roll - a banner, which is just crazy!

The print driver essentially allows basic size options, for example, for A1, it can be A1 with 5mm margins, A1 borderless, or A1 oversize borderless. The A1 is great if you are putting in a frame with more than 5mm edges. A1 borderless is great if the frame has little or no border, or if cutting to A1 exactly. Oversize A1 is great for that bleed over the edge, but still has margins of a few mm on the A1+ paper each side and at the ends of the print.

Then there is a "scale to borderless roll" which goes to around 609mm wide, a slight white edge each side. It also cuts the length in to the edge of the print by a few mm. This means you get an over size print with two cut edges and two very narrow white edges.

Confused? Well, yes, too many options.

What I did was make the oversize with print close as you can, and ended up with nice over size A1. The snag is they don't fit in the clip frames so needed cutting, on all four sides.

Now, it can, of course, do A2 on the same roll, sideways - well A2+ (all the same issues, just on the other two edges).

But A3 and smaller I can use the sheet feeder and plain or photo paper, etc. However it does not do borderless at all on the sheet feed, always at least 5mm borders, so a tad more limiting.

Three sided borderless

There is yet another option - 3 sided borderless, and I realise now that this is actually what I need to use.

It prints the image the size you selected, so typically A1 exactly (to then go in a frame, but no scaling or cropping involved from the original artwork). But prints it as far to one edge as it can, and then cuts the start and end. This means you have two cut edges, one very close to edge, and one margin. The margin means only having to cut (or fold over) that one side of four. This makes it very easy to put in a clip frame, or only one cut to use with no frame.

This also means I could print smaller sizes, A3, A4, etc. These are extra easy as the (now quite large) margin fits in my guillotine. It also means all the same (roll) paper with the same colour settings, and edge to edge, unlike using the sheet feeder.


This is an example of A1 three sided borderless - only one side needs cutting or folding over. This is 840mm left to right.

2025-06-14

Some more of my videos

I have done a couple of videos on my circuit boards.

The fun one, I hope, is the "shopping channel" style one.

But also a more instructive one on making circuit boards.

And one on the Faikin boards specifically.

2025-06-13

Canon PRO-1000 vs CT-21

I have had a Canon PRO-1000 for some time, it is an amazing printer. It is a must for someone producing professional photographic image prints. I cannot stress how good quality it is.

But I have just replaced with a Canon CT-21. So I felt it's worth explaining why, and what difference it makes.

Do I need a photo printer?

The first point is whether I need a photo printer. It is my only colour printer, and I do print photos for the family that get framed and go on walls, and so on. But I print stuff like a menu with a colour logo on it, etc, which seems overkill to use a PRO-1000.

Basically, I probably do not need a professional photo printer, really. It is just my usual overkill.

What is my use now?

Given the ability to print up to A2, I have actually been using it for posters for the pub. They are stunning.

Is A2 big enough?

The catch is, posters at a pub, may want more, like A1. So I decided to get the TC-21, which is an A1 poster printer that takes roll paper feed. If someone accidentally orders A0 clip frames at the pub, I may be in trouble.

What of TM-255?

I considered the TM-255 - it uses 5 inks, not 4, but has a base, and is just so big. It looks great, but I simply did not have space. The TC-21 fits on my bench. The ™-255 is also high volume and stupidly quick, but the TC-21 is not a problem for what I need in terms of print speed.

Key points in favour of the PRO-1000

  • The photo print quality is just amazing, cannot be faulted.
  • It does edge to edge printing on most paper sizes (oddly not A5), which is very cool. Even A2.

Key points in favour of TC-21

  • It does A1+. Indeed, it will do 610mm wide and 18m long if you want!!!
  • It does roll paper feed (which I am using for A1+ or A2+), but it can take narrower paper roll.
  • It does sheet feed (no need to take out rolls feed, just manual sheet feed via top loader), all the way down to A6. Very handy.
  • Easy colour refill - the PRO-1000 is easy, but this is only 4 inks.

Some downsides for PRO-1000

  • It uses 12 inks, this is a feature in terms of quality but a pain in terms of costs and hassle with ink. It also gets through "maintenance kits" which also cost.
  • If you do not use for a while, weeks, it will waste a lot of ink and take ages to start up. But it will then print perfectly. I don't know if the TC-21 does this.

Some downsides of the TC-21

  • It is bigger, check dimensions, but wider by quite a bit. Well, obviously it has to be.
  • It does not do edge to edge well - it can get very close on roll feed, maybe 1mm each side, and cut with no margin top/bottom. But not at all on sheet feed. This is perhaps its main lack of feature.
  • It is only CMYK not 12 inks, but the photo printing is still good, and good enough by far for some family photos.

I do not know running costs yet, but the results are pretty good.


2025-06-02

IR LED controllers

I ordered a couple of LED controller remotes.

Now to work out how they work.

The first (big one) is simple 32 bit NEC coded (i.e. address, inverted address, code, inverted code) with address 00. Laid out as follows for the code:-

5C 5D 41 40

58 59 45 44

54 55 49 48

50 51 4D 4C

1C 1D 1E 1F

18 19 1A 1B

14 15 16 17

10 11 12 13

0C 0D 0E 0F

08 09 0A 0B

04 05 06 07

As you see, this has some pattern to it, but why not literally a proper grid or sequence, why this. But OK, I can cope. I plan to make my LED controller boards have IR receivers and understand this in some sane way - with extra keys like DIY1 do device automation to Home Assistant.

But what of the smaller one?

Well this is special, it is 32 bits, just like an NEC remote, but the first bytes are 00 EF not address and inverted address. I mean, it is distinctive, and consistent on all keys, but not quite standard. The code is still code and inverted code though. The codes are then:

00 01 02 03

04 05 06 07

08 09 0A 0B

0C 0D 0E 0F

10 11 12 13

14 15 16 17

This is way more logical key codes.

Simpler

For completeness, this is a nice simple IR from Amazon.

Which is address 00 and codes:

45 46 47

44 40 43

07 15 09

16 19 0D

   18

08 1C 5A

   52

Which, as you can see, is all over the place! 

2025-06-01

Infra-red remote conrols

I have done a lot of stuff over the years, and the "old" tech, like barcodes, and modems, faxes, and all sorts have not passed me by, even old school "light pen" on a BBC micro.

But somehow one "old" tech passed me by somehow, and I am not sure how - the IR Remote.

They are a lot like barcodes, but without the variable timings. They are simple, and why the hell, in the last 50 years, have I never played with IR remotes? Mad.

So I have started.

This is my environmental board, and apart from light, sound, pressure, temp, humidity and CO₂ sensors, it has an IR receiver. So I had a play.

The ESP32 has built in IR receiver (RMT) hardware that logs timings for the on/off from the IR receiver modules (which handles the 38kHz modulation for me).

It is a doddle to decode - actually way easier than barcodes. So I have decoded the very common NEC format, and the remote for the Daikin air-con.

NEC

The NEC coding is simple - a long/short header, and then pulse distance coding of 32 bits. It is 4 bytes (and annoyingly low bit first) which are address, and inverted address, and code, and inverted code, making a checked 16 bit sequence of fixed time duration.

This seems to cover a variety of bog standards remotes, like TV remotes. Interestingly my LG TV remote only does IR when the TV is off. Once on, it uses something else (not sure if bluetooth or what). It uses address 04.

I also have a very generic IR remote from Amazon, which is address code 00, and several (very illogically mapped) codes.

A single bit code 0, with a different timing header burst, is repeated whilst the button is pressed. Easy to decode press, hold, release.

Daikin

The Daikin remote is more complex, some 8 byte sequences, and a 19 bytes sequence, sent every time, using a simple byte checksum code at the end. Again, pulse distance coding. But again not hard to decode.

More

I have some more IR remotes coming to play with. So we'll see how they work.

2025-05-22

Evolution of my code and PCBs

One the last few weeks my code and PCB designs have evolved a bit!

EPD

This is still called EPD (E-Paper Display), but in practice it is now a general purpose signage system allowing a number of widgets to be displayed getting data from many sources. Making it work with the 2" and 2.4" waveshare LCDs was nice. I got my PNG code doing colour nicely for this, and alpha blending.

One aspect I was very pleased about was the display connection - the display has 8 pads/holes at 0.1" spacing for a normal 0.1" header pin strip. Making a board to work with this is easy and you solder top and bottom - done! But it makes it almost impossible to remove cleanly if ever needed.


The trick is a surface mount header on my board, on top of pads/holes to allow for longer pins. This then allows 0.1" header pins on the display that then just plug in. It can be unplugged simply if access needed for connectors, or if changing display/board at any point. 

But the code has evolved even more - allowing a wide number of sensors (I2C and one-wire-bus), and formatting specially for temperatures (small C/F, colour based on range), etc. And now even BLE based temperature and humidity sensors as well.

In fact, with all of the sensors reporting to Home Assistant, I have had to make a "non display" version of the code for someone that is using this with no display - which is crazy for code designed to display stuff.

I also added handing of buttons as the board (see below) has them, causing Home Assistant triggers.

Faikin Remote

This other code has worked very much in parallel with a lot in common - including adding a load of sensors, the same as EPD. The main use case is to work a Faikin.

However the PCB design for this has ended up being a key module for use with my EPD code. It too has changed.

The initial sensors were temperature (as main thing for Faikin remote), humidity, and CO₂. The module is designed to also work a fan and radiator based - fan based on humidity and CO₂, and radiator based on temperature for cases where you have air-con and radiator. But it works for rooms I have that only have radiator, obviously. So it is an environmental monitor (working with HA) and a remote for the Faikin.

It also has pressure, so the CO₂ can be calibrated, and a light sensor so it can go off when dark (ideal for a bedroom).

But it is growing, with my latest designs (not yet on sale) having a microphone for noise level, and also an IR remote receiver. The idea of the IR is that a Daikin remote could work this directly. I'll need to code these soon.

It is becoming a really comprehensive environmental monitoring board now.

I was also asked to make the snap off bits (button, CO₂, and now IR) have pads to allow them to be wired in, so that is done - you can remove and mount nearby and wire back to the board.

Practical uses

Obviously I have these working with Faikin modules, and have them working with radiators (with and without air-con), and in places just monitoring. Some customers have them around offices to monitor workspace environmental conditions.

One good use case with remote BLE sensors is the pub. Showing BLE sensors in various places, and the DS18B20 temperature probe from another of the boards in the cellar monitoring the beer cooler. The fact this is all visible from the bar now makes life easier, and highlights any out of temperature readings (like when someone opened the beer keg store room to put in a sensor).

What is ideal is this is all reported and logged and graphed on Home Assistant as well. Any issues with the beer/lager the bar staff can see if there is an issue with the cooler at a glance (as had happened a couple of times). We also have logs and graphs which helps when the engineer comes in to sort the cooler.

Next step is probably one monitoring all the fridges. I found these small BLE sensors manage to work inside a metal fridge, if you are close enough. They will still do their temp checks, but this will alert quickly in one place if any issues, and provide historical records nicely. Obviously we check these with a calibrated thermometer as well.

All I need to do now is find a source of the BLE sensors that still work and can be flashed with Telink Flasher. Any pointers welcome.

Tindie

Yes, the code and PCB design is all open source, and I have these on Tindie. I do a tad cheaper for collection from Aber if you are local. Check it out as there is quite a lot on there now.

2025-05-19

Finding customers

I have the Tindie store set up now. But no good way to promote as yet. My problem is I generally hate the whole advertising industry (as a consumer). This leaves me a tad stuck on how to make people that actually want the products even know they exist. Of course, being that selective (a) avoids annoying people that do not want this, and (b) is highly targeted adverts which I, and others, hate even more, arrrg! You can't win.

A blog post like this will help, I am sure, but even this feels wrong, it is an advert on my blog, which is not that fair really - you did not come here for adverts, did you?

What is fun is I have a few customers (they are actually local, so collect, and do not buy on Tindie, so cheaper), but they sort of self identify as addicts of my tech. I really appreciate their business and feedback and suggestions. I just wish I could find a few more addicts :-)

So I'm interested in the most ethical ways to promote these products - suggestions welcome.

2025-05-17

Scammer energy calls

So a friend got a call when I was around and so overheard I heard much of it (she was quite happy that I did), and then hopefully I have reassured her that it was indeed a scam.

But it is hard work.

They somehow claimed to be from her energy company, now I did not hear the start exactly, i.e. if she gave away the name of the company or they knew/guessed.

The gist of the call was simple, they were supposedly over due paying, and would be cut off tomorrow (Sunday). The caller claimed they had stopped a direct debit, and were now £6000 in arrears, which had to be paid.

Now my friend was not totally stupid, she asked them to confirm the customer number, and they did. That is the scary bit. Now, I have no idea if energy companies have some system allowing details for things like that for take overs and so or that allow this information to be obtained, or if, perhaps, previously they had managed a call and extracted this, or a data leak or what. But she did what seems to be a very reasonable check.

The problem is, and this is where scammers have a good chance of something like this, there is an issue with the smart meter not reporting properly, and so they have done estimated bills and been told readings. Sadly this is what makes the scam more plausible - months of estimated readings could be a sudden surprise bill.

This was very upsetting, but she said to email the statement please. She did not go for the pay over the phone so as to avoid being cut off next day. One of the main reasons she did not fall for it is that the scammers did not know that £6000 was, in this case, implausible. Had it been electricity not gas, maybe, but no way for gas in their case.

Now, checking carefully - step one, googling the CLI says SCAMMER, which is a clue.

Checking on-line energy bill accounts, DDs working, last DD a couple of days ago, no outstanding balance. Yes, estimated readings but checking and they are actually within around £10 of reality. So clearly a scam. Also a tad unlikely coming to cut off on a Sunday, and a tad unlikely an overdue account without any statements or demands first.

But some people would have been fooled. Indeed, had it been a few hundred, my friend may have been, even.

I am, however, surprised such scams work - how do they get the money? A card payment could be clawed back, surely. A bank transfer would not match the name or the known bank details. How do scammers actually make money out of this?

So watch out there please.

2025-05-10

Laws

When I was growing up, I learned that there were laws.

These were not simply rules or views of people like my parents or teachers, but something more. Laws were things that somehow defined the moral, and immutable set of rules for life. If you broke laws there were police that would take you away and lock you up.

Over time one realises that laws are not quite so concrete. For a start, they change, and new laws come in and old laws are repealed or changed.

The idea that something today may be illegal tomorrow, or the other way around, is crazy. It is how it works, but that is, well, just mental, how can a thing change from "right" to "wrong" or "wrong" to "right" just because we have moved on in time?

What I later learned is that these laws we all follow are created by, well, just people. And they are not people that have a lot of training, and learning, and credentials, and academic achievement or qualifications in their field. They are created by people that happened to win a local popularity contest in their constituency, working with others that have the same credibility. There is no qualification needed to make laws. There is no test. There is no exam. You literally have to win a local popularity contest to be an MP, and MPs can literally make new laws.

That, in itself, in insane, sorry. I mean some of them are sensible, and some even qualified. I have known some MPs that seriously know what they are doing. But "running the country" and, importantly, "making laws" has no qualifications needed. It is amateurs that won a local popularity contest, that is it.

So is there a better system?

2025-05-08

Environmental monitoring

The new Faikin Remote have sold a few, nice. Thank you. Now on Tindie, and more coming soon. The BLE linking to Faikin is working really well now.

But ironically more have sold not as Faikin Remote, so far, but as environmental monitors. The boards have pressure, temperature (via many means), humidity, and CO₂.

What is even more amusing is that the monitoring is probably best done using my generic display signage code (EPD) as it has all the sensor code to allow display of the values. No link to Faikin, but links to Home Assistant, and simple http polling, and so on, for all sensors.

Irony on top of that is I have had to just make a version of my display code for no display, a blind version, as it is ideal for this monitoring application even when you have no display (data centres, etc).

Home and office monitoring of CO₂ levels is becoming more important as people realise how much of an impact a lack of fresh air really has.

2025-04-22

Faikin Remote

We have done a lot of small PCB designs over the years, but by far the most popular is my Faikin board. Reports are that even Daikin have recommended it to people wanting Home Assistant integration! It allows control of a lot of Daikin air conditioners over WiFi, MQTT, web, and Home Assistant. Constantly improving, and easy to use with local working not cloud based.

My latest design idea is a rework of a previous "environmental monitor", but specifically targeted at the Faikin users. The concept is that it can be a display and control for the Faikin. Whilst some ducted Daikin have a wall mount control, it is not cheap, so this would work with those and the more typical wall mount Daikin that do not support a wall mount display.

Key functions would be:

  • Display current state of air conditioning unit.
  • Allow change of key settings (power, mode, fan speed, target temp).
  • Remote temperature sensor to allow room temp to be referenced at the controller in "Faikin auto" mode.

But the idea is the board can work with no display as reference temperature or just an environmental monitor for Home Assistant without a Faikin involved.

This is the current board design.

The expensive CO₂ sensor would be optional as it adds over $20 to the cost. Both the tab for it, and the 5 way joystick button, could be snapped off for a purely display or monitoring application.

A Waveshare 2" display fits on the front. Full colour 240x320 pixel. It is designed to fit the header so it can be removed if needed to access WAGOs, etc. The display adds another $20 at least.

User interface

I want to make the user interface simple - anything beyond the basic controls for the aircon you have to do via web interface. That should make it easy to use.

The idea is a joystick allows change of target temp (up/down) or switch to other setting (left/right) and change of mode and fan speed, as well as simple push on/off.

Bluetooth

Whilst it can all work over WiFi and MQTT, my plan is to link to Faikin using BLE as well, both ways. So Faikin reports mode/status, and this advises control and current reference temperature. This should make it extra robust with no need for WiFi or internet to continue working. The plan is a simple announcement BLE, not a connection, much like the many cheap BLE temperature/humidity sensors that exist.

Sensors

The current set of sensors include:

  • MCP9808 Ambient temperature sensor. This is highly regarded as a good temperature sensor.
  • VEML6040 Ambient light sensor (with a night mode to turn off display) including colour.
  • GZP6816D Atmospheric pressure sensor, and additional temp sensor.
  • SCD41 CO₂ sensor, with humidity, and another temp sensor. This would be optional.
  • DS18B20 connection 3 pin WAGO for more temperature sensors.
  • Detecting remote BLE temperature sensor.

All of these would report to Home Assistant as needed, and also report control and one reference temperature of choice to Faikin.

And yes, too many temp sensors, so system will allow a config of which are used and per sensor offset (to allow for heat via PCB). I may even allow averaging of multiple sensors. It will be interesting to see how this all works. DS18B20 are great for adding an "outdoor" sensor to report to HA as well. 

Generic signage

My existing EPD app which is general signage will be extended to handle the sensors as things to display so this can be simply used as a generic environmental display (and HA integration). Indeed this is likely to be the first code I do for these new boards, without a Faikin link.

Packaging

The basic board needs to be sold with and without the SCD41 CO₂ module. The board is likely $30 and the SCD41 adds at least $20 to that, probably more like $30. Not everyone wants CO₂ and humidity. The fluctuating value of the dollar is a pain in this all.

And then I may package with Waveshare 2" display, 8 way 0.1" pitch header, and extra M2 screws. This is likely another $20 or even $30.

Maybe even with DS18B20 sensor as an option. These are quite cheap.

I am not sure I want to do 3D case printing, but I plan a number of STL files.

Tindie makes such options simple, so that is likely the main sales channel initially. We'll see about Amazon as well. Those with A&A accounts will be able to order direct as always.

Update

The first boards (no button) have arrived. I have decided I'll try the TI TMP1075 as an alternative temperature sensor. In practice it seems a DS18B20 is best as it is separate from the board, closely followed by the SCD41. The MCP9808 (and presumably the TMP1075) suffers from some local heating from the PCB. The GZP6816D is close to the ESP32 and so not good at all for temperature (it is there for pressure). The T6793 CO2 sensor is not good, gives silly values (yes, I checked, and this is not a driver error), is bulky, needs 5V (does not work on 3.3V) and is actually not that much cheaper than the SCD41. The VEML6040 light sensor works well, but is a fun exercise for the casework.

Comments

All comments welcome.,

2025-04-20

One Time Pad (again).

I did a video 7 years ago: Uncrackable Pen & Paper Cryptography

It had several comments, many of which seemed to think there were ways of "cracking" it. There are not. Having got a comment recently, I did another video, OTP.

Wikipedia explains its quite well. It explains your cannot crack it if :-

  • The key must be at least as long as the plaintext.
  • The key must be truly random.
  • The key must never be reused in whole or in part.
  • The key must be kept completely secret by the communicating parties.

Even so, people still comment, and a friend of mine just posted...

"Rev, set a challenge on your blog first to decode message without a key wins a firebrick dragon?"

"I would have thought brittle[sic] force decode first 4 chars and wait till it looks like a word."

I really thought I had explained it, but clearly not.

The short version is YOU CANNOT CRACK IT!

In my second video I tried to explain this by dumbing down the message to just 0 or 1, with two possible keys, 0 or 1, giving a possible encrypted message 0 or 1.

Now, imagine you intercept my message and it is a 1

You can BRUTE FORCE try every possible key:

  • Key 0 means message was 1
  • Key 1 means message was 0

So what was the message? You don't know. You have no way to tell.

You don't know because every possible message, no matter how meaningful or meaningless is possible with a key, with equal probability of being the actual message.

The "I would have thought brute force decode first 4 chars" misses the point - you can brute force to make every possible first 4 letters, with no clue which of those is correct or even more likely.

And just to be clear, even if you know the first 3 letters are ANX (Ref Enigma) that does not help you because the key for those letters has no impact on the next letters (unlike Enigma).

So let me try and say it again, YOU CANNOT CRACK IT! I suggest reading the Wikipedia article.

2025-04-17

Back to LCD

My graphics library has undergone plenty of improvements for the e-paper work, but now I am back on LCDs. These have extra challenges, because they have colours and shades.

The main reason is new environmental sensor boards with LCD.

This means I need to anti-alias text, digits, lines, circles, etc. Previously I had pre-rendered 16 level fonts and icons. But I have moved away from pre-rendered bit map fonts in my latest e-paper code already.

I have gone through several approaches to this. The fact my fonts are vector based previously allowed me to just draw lines and circles on the e-paper. That is fine when over plotting is no problem, i.e. white on white is white.

But if you want to anti-alias you have to over sample, e.g. a 4x4 matrix to then know how many pixels are set (0-16) and use that to control alpha blending of existing pixel and new pixel (or background pixel and foreground pixel).

My first approach for fonts was to make code to allow me to tell if a point x,y is plotted or not - so instead of actively plotting dots (circles) and multiple lines that over lap other lines and dots, I have to do the maths to work out "is this point within a dot" and "is this point on a line". The dot is easy - simple Pythagoras. But the lines was more work - I can work out distance to a point is within stroke width using squares. Working out end of line is harder, so ended up working out the point of perpendicular intersection so I could range check end points and then check distance using squares.

It worked, and allowed me to over sample 4x4 and work out grey levels.

A better way

The problem with the above is the 16 times processing of points. So I came up with a new plan - scan lines and run lengths.

The new logic scans the character top to bottom to determine the left/right for each line or dot that is in the character at that scan line. This is actually quite easy for a dot as I can use a look up to get the left/right for any point on a circle and scale. The line is a rectangle, and the fact it is only ever horizontal, vertical, or a 45 degree line means I don't even need square roots to work out the points, and simply work out the left/right for the specified Y scan. It is simple to merge overlapping runs on a scan line and the max runs is low as we know how the font works (up to 6 ranges).

This means only 4 times the processing of non anti-aliasing, as opposed to 16 times. The runs can then be worked out 4 scan lines at a time and plotting a sequence of the same grey level. The same logic works for anti-aliased or not, just not 4 times over sampling on the Y axis when not anti-aliasing.

7 segment digits

The 7 segment digits are not simple lines and dots, they are a complex path (original in SVG), but it is easy to render and run length encode the scan lines for a single large 7 segment digit (well, 9 segments with colon and dot). I can then scale which lines I extract from this large image to make the same run length logic as I do for the vector fonts and use the same run length plotting code.

Lines and circles

Another primitive is lines and circles, and whilst arbitrary angle lines do need one fast integer square root to get the corners, converting to run length on scan lines is, again, simple, and can use the same run length plotting code.

The same is true for a circle, using the same circle lookup table (with interpolation for a larger circle than the table).

Even faster

All of the above still comes down to pixels, but there is a simple important step I have now added to that. I made the pixel plot primitive have a horizontal run length parameter. This allows a number of checks and memory access and so on to be worked out once, and then a simple loop to apply a run length of pixels plotted the same. When plotting 100% alpha it is extra quick as no checking of existing pixel and alpha blending. It can be a simple loop incrementing memory address. Having all of the primitives for fonts, 7 seg, lines, circles, and so on actually convert to run length makes it easy to use such a primitive.

QR!

P.S. Yes, everyone knows I am a stickler for accurate valid QR codes, but I have in fact gone as bit mad with an option here - the targets are 100% correct but the pixels are circles. This is because of the way QR codes are decoded hitting the pixel centres (having found the targets to get accurate alignment), so this should always work whilst having a subtly different aesthetic. I think it is better than some of the other QR code abuse, but it is an option on my EPD code.

2025-03-24

More on e-paper

I have learned some lessons, so sharing with you.

The 7.5" e-paper are fun, I have loads of them with the nice laminated glass and black border to sell, plug, plug!

But the story of making e-paper work is not simple.

Software

This I am good at, and the latest code allow a range of widgets and extracted values to be displayed in various ways on the display.

Hardware

This is where I am also always learning. To explain, even in software, where I have being doing this for what 50 year, and have a degree, even now I learn lessons.

But hardware is more challenging for me - my formal training is less, but not nonexistent.

But the real challenge is the turn around time - software I can recompile and try in minutes - hardware is days or weeks to try out as a proper PCB, days if I solder and don't have the components yet. I have done milled PCBs which make that easier in a way, well, quicker, at least.

Symptoms

So..., what happened? The issue was with the larger 7.5" e-paper displays which I have used for years - I have on my doorbell display and my fridge. There is one at the Indian restaurant and two at the pub. They work flawlessly.

What happened is trying one for some other people, and they wanted a displayed image, and that created "smearing" over the display. It looked shit.

It seems some graphics, and I have concluded it is those with a lot of black/white transitions across the display line, break down in an odd way.

The fix?

I assumed it was me, and did loads and loads of tinkering with different LUT settings, and temperature compensation settings and VCOM calibration settings and all sorts.

I got it working OK, but it created a new problem!

Fading and burn in!

It is not actual "burn" in as such but it has the same effect - a lingering image. What is worse was random fading - even 1 minute updates would fade away showing burned in images within seconds. But only some times.

Two factors - one was not doing a POF command, and that creates massive burn in within hours. Even now, at the right angle, on some of my test panels, I see that I tried this on "MONDAY". Do not do that ever!

The other is the LUT was working to push the KK and WW frames a lot, and that left the panel in some state with a charge that meant any change could leave this fading effect.

The effect would eventually dissipate if the display was constant but it could take hours.

This was clearly not the fix I had hoped for.

Henry

So what was the answer? Well, if resistance is futile, inductance is king!

The boost circuit I was using was based on a known working design and used a 10uH inductor. But that was for a watch, a small e-paper display.

The reference circuit Waveshare do has a 68uH inductor. I tried that, it helped massively.

But testing showed that bigger is better! So now it is a 470uH inductor. And that is amazing.

I can do normal changes and updates with no smearing effects in any way. My fudged LUTs still break, and make a fading effect but they are not needed - I can do simpler LUTs and not have issues.

The results are amazing - I can do a non flashy update which is not causing burn in and full updates that work. I have applied the Waveshare v2 panel LUT for full (fast, flashy) update as well. It does full "flashy" updates a lot over night to try and clear any unwanted charge, just in case.

So finally I have cracked my months long e-paper headache.

If you got one of my older controllers you may not even see a problem - it only happens with some graphics, but if you have an issue the fix is a simple component change - ask me if you need a new 470uH indicator sending.

2025-03-19

Do I have to pay council tax?

Apparently I have to pay my council tax by CASH monthly...

This is a shock, honestly! I would normally pay by bank transfer for whole year up front.

But OK... Except.

Err, OK, so do I have to turn up each month with cash which they cannot accept?

To be fair, if that saved me over £3k a year in council tax, I'd do it. I'd video record each attempt to pay, obviously, for a judge if they tried to take me to court.

Apparently "Cash is the default payment method that the council tax system uses for payments other than direct debit. This does not mean that the payment has to be made in cash."

As they seem confused, I have asked...

We'll see.

Hamsters

You may or may not know, there is a porn site called xhamster - I have literally no idea why it is called that. 

I'll save you visiting the site to check: Even though it has a cookie banner, it has no attempt whatsoever to operate the age verification required by the Online Safety Act. Not even a simple "I am over 18" button (which would not comply).

Yet, it is reported a forum for people with pet hamsters has shut down, along with hundreds of other sites and forums run by volunteers and individuals, because of the risk of fines and cost of compliance with this crazy new law.

OFCOM reportedly consider the costs of compliance for small sites “are likely to be negligible or in the small thousands at most”. Even without the risk of a fine of up to £18,000,000.00, the costs of "small thousands" of pounds, which OFCOM considers negligible, is more than a small volunteer site can bear, understandably. We are not talking businesses with income and a budget for legal fees here!

What is especially frustrating is the unknown - I don't know if this blog is in scope, and if so whether google or I personally am at risk of a fine. Worse - actual lawyers don't know either. I don't know if my GitHub repositories are in scope, and if so whether GitHub or I am liable. I don't know if my single user mastodon instance is in scope, etc... OFCOM have even admitted that they have no definition of "email" (one of the exceptions - yes you, or kids, can be on a porn email mailing list with no restrictions under this law). I have, again, written to my MP asking these questions.

A fun one, I do not know: If my blog is in scope as it has user generated content (comments), if I stop publishing comments (i.e. they get emailed to me, which is out of scope, and maybe I paraphrase and reply by an edit on the blog post) does that make it out of scope, or do I have to delete the user comments from before the new law came in to force as well?

Think of the Children, indeed, but making millions of individuals with small sites comply, at a cost of thousands of pounds each, is just crazy, especially when the law is not even doing what it aimed to in the first place.

By the way, my personal view on porn is that we need better education for children on the nature of porn as entertainment, and how actual relationships are not the same - after all we allow crazy violence in TV films and shows as entertainment, which people know is not "real" (even for <18 rated films where someone blows ups the planet, etc), but have a hang up over porn for some reason. At the end of the day nothing will stop a teenager with hormones from seeing porn, so let's accept that and educate to make that safer for society. But that is just my view. You may disagree, which is fine.

“There is a simple solution – the Secretary of State can exempt small, safe websites from onerous Online Safety duties, and protect plurality online.”. In practice this could be suitably worded so that small sites (by some measurable metric), and non business sites, etc, only need to comply if explicitly notified by OFCOM. This would mean no loophole for small sites that are actually porn sites, but provide the reassurance for those with pet hamsters to be able to continue their forum.

2025-03-16

Stroke

The NHS have been very thorough investigating the stroke I had.

Thankfully the ongoing effects are slight - my typing is still more iffy than it was before, but good news.

They even did an ultrasound on my heart to try and find the underlying cause.


The good news is they found nothing. Well, I'll take it as good news. It also means they could not explain it, which is not so good. But given I had a stroke immediately after COVID, that seems a likely cause.

However, the one thing I find odd is the NHS efficiency here. The letter arrived this week (13th March 2025).


So what happened. I don't think even Royal Mail have a 17th class post that takes 6 months to deliver a letter. So that is rather weird.

2025-03-09

Right to private communications

The European Convention on Human Rights protects the right to respect for private life, the home and correspondence. This includes protecting the privacy of messages, phone calls, and emails.

But UK and EU governments are trying to break that right in various ways.

So some thoughts.

  1. Encrypted communication is a thing, it exists, it cannot be banned, it is just maths. I have done a nice video on how to make an uncrackable entirely manual encryption (one time pad) here.
  2. Criminals can use encryption. My video is an extreme example, but in practice the tools to do this electronically in many effective ways exist and can be used by criminals, and MPs.
  3. There are even ways to use encryption in a way that is mathematically impossible to prove you are doing - steganography - where there is no way to tell your encrypted messages apart from random noise in say an image or video.

What this means is that even slightly savvy criminals are safe. The tools all exist and are easy to use. The only issue is if non criminals like you and me can expect that right to privacy.

The Investigatory Powers Act (on which I commented, and was a witness at parliament) did, and does, try to crack encryption as a legal process, maybe, the wording is not ideal. Apple's news on this is one of the key examples. Not the first and not the last, and not something that actually tackles criminals using encryption, it will just make normal people way less safe. Remember criminals can use encryption!

One of the challenges for most normal people is how to use encryption. Most people do not care, or know, why they should even. But there are many ways. The old school ways are using PGP email, which is complex but that is no longer the case. There are many apps and ways to communicate securely, and the obvious ones are things like iMessage (for now). Apple designed it to be secure. But also WhatsApp and Signal.

The problem is that any organisation operating any messaging system that is secure is subject to secret orders from governments to impose back doors.

There are even calls for scanning content for illegal material, which only works if a service has access to the content. This has so many problems, apart from breaking basic human rights. And, I remind you that the "bad people" with "illegal content" can always encrypt what they do anyway, and even secretly if they want to. They actually have an incentive to take the extra steps that normal innocent people do not. The only problem is removing privacy for normal people.

So now to come to the main point of this blog...


Delta Chat

This is an app that works with email, it connects to your provider's email server (not all providers work, but many do, using IMAP and SMTP), and allows a more traditional style messaging app that makes encrypted communications simple.

It is clever, well done.

What is extra clever is this is just an email client. It is not a service that is subject to either Investigatory Power Act or Online Safety Act. Indeed, the latter explicitly excludes email, a term OFCOM consider everyone understands (really!).

But it makes secure encrypted chat a thing anyone can do, easily, in a way that legally there is very little that can get in the way.

So worth considering.

Muddled?

I have been advised this is all a little muddled, and I agree.

  • IPA issues with Apple in the middle of OSA coming in to force
  • OSA not applying to email, but OSA is not directly an encryption thing, probably.
  • EU trying to do content scanning which means service providers having access to content.
I agree, it is muddled, and I bet that is intentional for some, but this is to try and say there is a way to chat, encrypted, with no scanning content, and no age checks, all in one, and easy to use.

2025-02-27

More with E-paper

My previous code allowed a number of settings to be stacked up to suit all sorts of needs - a clock, day of week, sunrise/sunset, and even bin collection details.

I have started a new version now, at https://github.com/revk/ESP32-EPD

This is around the idea of a stack of widgets, each placed on the frame buffer.

This would seem a simple approach - and each widget can be positioned and aligned as needed. The idea is to have at least the same functionality as before, but allow me to work on more and more widget types over time.

So the basic widgets are:-

  • image
  • text (choice of two font styles)
  • digits (i.e. 7 seg so cleaner in-situ updates on e-paper, intended for a clock)
  • QR code

But even then it is not simple - I have some content substitutions to allow display of $DATE, $TIME, $DAY, $IP, $SUNRISE, $SUNSET, and so on. This makes a simple clock very easy to do.

Text

Whilst most of the above are simple, I have done a few extra bits - allowed multiple line text. Added some characters to 7 segment font to allow display of hexadecimal and the like, etc.

Images

Images were, however, a major change. previously I had full frame (for this 480x800) 1 bit per pixel (48000 bytes) file. Easy to make with some scripts. I also had some similar (smaller) icon files for the bin collections, but they need to know the image size to work.

I wanted more, and I wanted easier.

For a start, for E-paper, there are some more things I need from images.

  • Would be nice if image file said size so I did not have to know in advance and users would not have to make images a specific size
  • Would be nice to allow transparency, so one image on another can work without solid rectangular borders.
  • Would be nice to allow not just black/white, but black/white/red for 3 colour E-paper.

None of these work for the simple 1 bit per pixel images.

So, for that reason, I have moved totally to PNG files (as per previous blog post). I have yet to code the black/white/red, but I can now.

Masks

One change I realised I needed was a plot mode - does text plot black background and white text, or just white text, or maybe just black text, etc. So I now have invert and mask operations on all widgets. 

Seasons

The system still has a season letter E=Easter, M=FullMoon, X=Xmas, etc. And allows that season code letter in the image url, so that works.

Bins

Bins (i.e. which bins to put out next and when) are the remaining widget to re-do. PNGs for the icons will make it way easier.  No need for fixed size icons and pre-converted images.

I plan to define a simpler and clearer JSON format and implement (and document) that first, but that will be soon.

More widgets

There are a load of obvious ones to add...

  • Weather from an external weather URL, to show icon
  • Weather to show min/max temp, maybe a $MINTEMP/$MAXTEMP or something. Adding ℃ to my font may be a challenge.
  • Might be fun to add some sort of delivery tracking estimated time some how - but this means knowing tracking, and so on. Something too think about - a sign in the hall showing we expect a parcel would be really useful.
  • I did previously have an SNMP uptime thing, I could add that back.
  • Well, what else?
The nice thing is adding widgets is pretty simple with this structure, just more widget types in the config and the code to back them.

2025-02-25

Confidence

This is one of those more personal blogs.

This week, well, started last week, I had a small technical challenge. The exact details do not really matter for this. But I'll explain.

I wanted to code something - something that was not quite readily available (some people had things very close to something I could just use, but not quite, which is where it gets fun).

The boring bit: It was a system to decode PNG image files, and allow me to use them in an embedded system driving a e-paper display. The details do not matter.

All that matters is that it was not easy to do - it involved understanding a detailed technical specification (PNG), and a new thing (zlib) which I had not used before. For a change the specification is a really really good one, which, in many ways, makes it easier.

Can I do it at all?

A biggie for me is should I, can I, even embark on this project.

To be clear, I have no reason to. Nobody wants this (well they may now), nobody needs this, nobody is asking for this, nobody is paying me for this. It is solely to make an e-paper thing I have easier to use. It is educational for me, a challenge.

Indeed, many of the helpful suggestions are to use a different file format, and not png. I do that already, but I wanted to make it simple - all can handle "save as png" I feel, so can I make it handle png. All and every format for png though?!

The protocol - the file format, which I literally sat in hot tub for over two hours reading, is good. But has some tricky bits. One is the compression/expansion using zlib, something I have never done.

I was seriously concerned I could make this work at all. Could I do it? Could I do it in a way that fitted in memory on an ESP32? Am I up to the job?

Yes I can!

I decided to go for it, in linux and then ESP32 code.

Each step worked well, and was not an issue. Minor changes as I coded. Lots of testing. zlib is easy, it turns out. zlib works on ESP32 too.

PNG has a lot of options, and as a decoder you have to handle them all. As an encoder you can be picky, but decoders cannot. I had to slog over the different options - make every one work properly.

In a day?

I spent a day, well, until early afternoon, and then a couple of hours next day. Total time under one day's work.

It works!

It went perfectly - the bugs were simple to fix. When I slept on it, all the remaining bugs came to me in my sleep, like they used to.

Not lost it?

So no, I have not lost it!

The work was not as easy as it used to be - younger me would have worked on in that evening and not next day. Younger me would not have made as many typos (way more since I had a stroke). But the results is good.

I worry about "losing it", and "imposter syndrome" all the time. I hope this is is a good sign I am not a losing the plot, honest.

Here it is https://github.com/revk/ESP32-LWPNG

2025-02-18

E-paper

E-paper is pretty magic stuff, and somewhat voodoo in the way the drivers work.

Some time ago I made my own drivers for various e-paper devices including the Waveshare 7.5" 480x800 mono display.

The only complicated bit was working out a fast LUT to allow things like the clock update without several seconds flashing the whole display black and white. If you have used e-paper, you will know that a normal update is a muti second sequence of black and white flashing, even if only for a region of the display.

This is problematic in many ways, leaving some level of shadow of the changes, and possibly causing charge to build up and create ghosting. I ensured we do some full updates (only once a day), but that seemed to be fine. I have used this on signs for some years now, and they work well.

Seven segment digits

The use of seven segment digit fonts for the clock, i.e. what changes every minute, is important too. Any shadowing looks clean because it shows on the segments that are logically on or off only, indeed a shadow of off segments looks perfectly normal, even deliberate.

Applying the fast update a couple of times also works well to kill off the initial shadow of the change.

So yes, this works well.

Problems?

However, having used this for some years, I ran in to a snag.

The problem is down to the choice of black and white on the image as a whole. I did check, and adding some heavy capacitors on the power lines did not help, so not that. A choice of image with a lot of white (even as shown here) was enough to create some extra ghosting on change and look messy.

So I tinkered some more. I got a very clean effect initially but greying and fading within seconds, arrrg! I then decided to leave the power on, PON, and that works to hold the black and white cleanly. Yay.

But no!

This was creating a nasty cumulative effect, over several hours the display did a nasty burn in. It is not a real burn in, but charge on particles in the display. It meant that the display got more and more ghosting of previous segments and text. After a day it was really terrible.

So back to the auto PON/update/POFF, which is what I did before, but that again left it grey.

Finally after yet more tweaking, I have a settled on PON, update, POFF manually, i.e. not using auto mode, and setting a 4 frame setting on POF (not 100% sure what that does). The result was that the final fading was very slight, leaving a pretty clean display even when there is the problem image.

Clearing the burn in

I then had to do a lot of black/white full refreshes to try and clear some of the burn in and it is working, but taking time. I have added an option for over a hundred full updates in middle of night, now.

So I think I have it sussed, again.

What's next?

My E-paper code allows clock, date, sunrise/set, QR codes, (seasonal) images, and a few other bits, even (at a push) bins that are to be put out (Monmouthshire). The effects are configurable and stack up from the bottom of the display (well, bins at top).

But I think I will start a new version.

The plan is a series of widgets that you can set anywhere on the display and any size in any order. This will allow me to add more and more widgets - maybe weather as well, simple text, images of other sizes. All sorts, and easily extended over time.

Buy these?

Finally the plug, I have sourced 100 of these very nice 7.5" displays, and selling on Tindie with and without my controllers.

Regardless of my work on this code, you can always load esphome, or other code to run these displays.

2025-02-09

IronMan

The IronMan project has been challenging...

Basically, we know someone that does IronMan for events and parties, along with others that do Spiderman, and so on.

But the suit he has is somewhat failing - the original electronics failed a long time ago, and the reworks (no idea who did) also failed.

So this is at least third, or more, refit for this, but we have taken it on with some serious dedication I think.

The helmet

The helmet has a servo, to lift the visor, and LEDs for the eyes. We actually replaced the electronics on this twice - initially a simple LED controller, and then a more custom board.

The eyes are now WS2812 LED strips. so way more flexible, even if normally just static cyan.

One of the challenges was the current spikes from the servo - it killed LEDs. Big capacitors is the main fix for this.

The suit

The suit was also a challenge, and really, the stuff in there was a mess. Again, two stages, firstly a simple LED controller for the "arc reactor", but now gutting it all and replacing with custom controller handling multiple LED strips, and speakers.

The previous electronics had several primary cells, a rechargeable battery, and speakers and LEDs. But the speakers never worked properly apparently.

The new build takes a lot less space, is rechargeable, and lasts all day.

The gloves

These were especially challenging. The helmet and suit could accommodate a decent USB battery pack. But the glove are too small, so needed a design that could handle a small LiPo, and charging.

The previous electronics were a simple LED torch fitting and 9V primary cell. This was bulky, and just "lit up".

The new design is a rechargeable LiPo, and 88 RGB LED rings with diffuser, button, and repulsor effect.

Overall

The end result is nothing short of as complete revamp.

Less space taken in helmet, gloves, and suit. Rechargeable batteries in all, all lasting 8 hours. BLE linking so sound effects link to repulsor in gloves and helmet sounds.

At this stage there is concern the LEDs for the arc reactor and gloves may be too bright, and the speakers too loud, both of which can easily be adjusted.

Speakers

One of my concerns was the speakers, and I found these were the best. I tried 5 different types.

From PiHut, and really good.

They are glued inside the suit but sound awesome.

My son should have a video on it all soon.

Faikin board ATE

The Faikin boards are a development board, a component to fit in to your Daikin air-con as your own project. However, I do try and make sur...