Page 1 of 1

I've made an electronics blog

Posted: Sun Dec 03, 2017 6:03 pm
by Arokhs Twin
Hi guys,
I've decided to do something with my webspace on my personal account and made an electronics blog. It's not pretty and if you are not into electronics you probably won't find it interesting but if you wanna take a look the link is below.

Old memories

Posted: Mon Dec 04, 2017 6:36 pm
by shoprat
Thoughts on your blog:

When's the last time you've seen an appliance repair shop? Microprocessors killed that trade rather quickly. The Chinese will make a buck from your pound of flesh. I loved the Z80 cpu with it's extra register set and indexing operations. I thought it would be used for computers but somehow the 80x86 was the winner.

Your moisture sensor could be used as a warning device for a sump system to prevent flooding but I think the coin flipper is about 50% useful.

Enjoyed poking around.

Re: I've made an electronics blog

Posted: Mon Dec 04, 2017 7:12 pm
by Arokhs Twin
I've got some more stuff to post on there (mostly Arduino projects) and will backdate some posts. You are right about the repair shops; something that disappeared a long time ago.

I don't like throwing things out if I can repair them :)

Re: I've made an electronics blog

Posted: Fri Mar 09, 2018 7:18 pm
by Mechanist
As an engineer, I have mixed feelings about the Arduino and its clones.

On one hand, it can be quite convenient for prototyping, or some quick'n'dirty hacks - where something simply needs to be made to work with the least amount of time and effort, and it's of little or no consequence how (in)efficient it is in terms of size/weight/power/complexity etc.
Especially if it's something that is intended to be ultimately implemented using dedicated hardware.

On the other hand, precisely because it lowers the barrier to entry, it results in PC programmers picking up this fancy toy and trying to make it do ludicrous things, without realizing or even caring about the hardware aspects and limitations. "Hey, it uses a very common programming language!"
Using floating-point numbers where integers would entirely suffice is the most common mistake I've seen. Throwing divisions left and right is probably the 2nd. Using vastly, excessively large data types - likely the 3rd. The list is long.
(both of these 2 first things have absolutely no hardware support on the 8-bit AVR's; the compiler has to do it in software, which takes thousands of clock cycles for every operation!)

Same with the most basic hardware - ie. "how to connect a button/LED to the Arduino/Raspberry" is a frighteningly common type of question.
Or people doing dumb crap such as connecting LED's or pushbuttons to the I/O pins with no series resistor to limit the current, thus destroying the LED and/or the I/O pins.

As recently as a decade ago, this kind of nonsense wasn't nearly as much of an issue - having to build such systems from scratch meant that those lacking in the required skills were naturally excluded from participating.
Put this way, it may sound cruel - but really it's a case of having to learn to walk before attempting to sprint.
So now we have plenty of n00bs trying to undertake challenges way above their skill level, and complaining that they keep getting their butts handed to them.

Also, the times have changed greatly, in general.
When I was starting out, things such as a good bench power supply, or a signal generator, or frequency counter, were all unaffordable luxuries. There was no cheap Chinese crap floating around.
Back then, it totally made sense to build your own tools - both due to the prices, and also because it was a good learning experience.

Nowadays it makes very little sense to reinvent the wheel.
Most of such common tools can be bought off the shelf for a small fraction of what it would have cost a hobbyist to build them, even if their time was worth absolutely nothing (but that is never the case).

Especially since the problem with microcontrollers is not the cost of the micro itself - it's the cost of writing, testing and debugging the firmware; a subset of what's known as non-recurring engineering costs.
It's not a problem if you are making 10's of thousands of identical devices, because then the costs of NRE vanish in the noise. But on a one-off basis it's quite prohibitive - easily the largest single cost in many otherwise simple projects, frequently far exceeding the value of the hardware.

Thus when building a new project, I always first look for canned off-the-shelf solutions. They are usually considerably more expensive, but in most cases it turns out that my time is worth far more than the cost difference.
Failing that, my next course of action is to try and put something together out of commonly available building blocks, usually DIN rail mounted: ie. power supplies, relays, timers, thermostats, PID controllers, or even PLC's if absolutely required. None of those parts are exactly cheap, but I'd still have to be insane to try and make my own at those price levels.
Only in the most demanding, high-stakes cases do I find it at all worthwhile to try building something all the way from scratch.

All this might sound downright crazy to the average DIY'er - but those are the cold, hard facts; backed up by years of experience.

Re. component salvage - yes, I used to do it too, but those times were different. Also, long gone.
At one point last year I went over my workbench, tossing out anything which I considered to have no further use, to clear up the clutter and free up some room.
Many things got binned that day, but primarily - yep, you guessed it - a whole assortment of salvaged parts, and also entire old PCB's from abandoned/failed/obsolete projects.
I did keep a modicum of the most promising (more like "least useless") parts for prototyping purposes, but still that's probably just postponing the inevitable until the next cleanup time comes.

Re: I've made an electronics blog

Posted: Fri Mar 09, 2018 10:58 pm
by Arokhs Twin
I see your points on the Arduino; it's mainly a hobbyist thing and to be honest as an engineer myself I feel kinda should I say embarrassed by using it? I used to play around with electronics and I have suitable qualifications but the technology I'm used to is well out of date. I'm used to working with discrete logic chips and 555 timers, basically 1970's technology.

When I started working for a living I didn't go into electronics and I quickly became out of touch with newer technology. I didn't have time or the willing to play around with electronics as a hobby either. I had a couple of bench repair jobs repairing televisions and computer monitors then I did some repair work for the power stations amongst other things; typically the kind of stuff you would find in the control room such as consoles and associated electronics. This fell by the wayside as many of the UK's coal power stations closed and the nuclear ones were sold off to the French who subsequently dropped our contract and used their own engineers. The kinda stuff you saw in power station equipment was 1970's / 80's - right up my alley.

Since then I've had IT jobs until now which has required me to get back into electronics and microcontrollers. The Arduino is as you say a quick and dirty way to get something designed, built and put into service. Most of the things I make are one-offs or no more than 10 units so it's ideal. I mostly build on veroboard for one-offs so I prefer DIP package chips. My boss is used to the 8051 so that is why I've been dabbling with that and they are used in the equipment we sell (LED signboards) along with the Z80 and Motorola 6800. Again, very old school although I've never programmed the Z80 or 6800. Those noobs on the Arduino forums wouldn't stand a chance with these :) Yeah I've seen those instructables as well that are cringeworthy; I often wonder how they got their project working without blowing up the micro pins. As a general rule don't like connecting anything directly to a micro's pins if it draws more than a few mA.

With the 8051 I've had to learn how the micro works and set registers, bits, timer reload values etc as there's no simple way to do this like there is with the Arduino. I prefer the PICs but at the moment we don't have a project in mind to warrant the cost of buying the development kits etc. It's something I will probably learn at home rather than playing games though. My job is seasonal; in the Summer we tend to do repair work and in the Winter it's research and development of new products and improvements to existing products.

Something for next year would be learning a 32 bit processor such as a PIC32 or ARM as when we move to full colour signboards much more processing power is required. Having said that with cheap Chinese electronics I can buy what I need rather than make it myself which would realistically take a couple of years to learn a micro, write the firmware and design the hardware then prototype etc. Why do this when I can purchase pre-made modules from China that will do the job just fine? That would be taking the fun out of it though...

From a commercial point of view though I agree with the points you've made; it does not make sense to build my own. We shall see what happens. The company I work for likes to do everything on the cheap and when it backfires its usually me that gets bollocked for it. Well I told them so...

Re: I've made an electronics blog

Posted: Sat Mar 10, 2018 1:08 pm
by Mechanist
Hey, tools are tools. Whatever gets the job done, I say. The end justifies the means.

At work we have several different CNC machines, total value easily on the order of $20mil if not more.
But despite that, I do >95% of my machining on a small crappy ~$10k benchtop mini-mill, because I seldom need anything bigger and/or better, and it sits right there in my room.
A few times a year I do need to mill something big (or very accurate), that's when I use the other machines as needed.
Also some "difficult" laser cutting jobs - our production guys can't handle these too well (too much scrap - sometimes ALL scrap!), or in some cases the work needs to be done on a "clean" table, so that's where I step in.

DIP chips are quickly becoming a thing of the past.
Nowadays I can't even find most of the really useful chips in a hand-solderable package at all - it's all in either some ridiculously fine pin pitch, or altogether leadless packages.

As for the noobs - for the last 2 years or so, I had a very annoying coworker (finally fired last month for bumbling incompetence - and good riddance!) who was an okay PC programmer, but a total Arduino/Raspberry n00b.
Kept asking me moronic questions, pestering me constantly while I had other important work to do. Giving any advice was outright counterproductive: he would do things his way regardless, and then come back complaining that it doesn't work.
Also his ludicrous ideas - it wasn't even a case of reinventing the wheel; he had to first reinvent the planet to reinvent the (square) wheel on.

BTW, if you're using the 8051, I'd recommend migrating to the 8-bit AVR's - especially the Mega's (which is what the Arduino uses). They aren't too dissimilar AFAIK, but are much better and have a lot of useful hardware features.
The hardware aspect is fairly undemanding, only a few external components are required (or at least highly recommended) in most cases.

Atmel provides the free AVR Studio - it's fairly decent, although I've only used it for writing assembly programs; for quick-n-dirty stuff I use Bascom AVR. (this is some rather sound business logic on Atmel's part: "we give you free software to work with, now go buy our chips"!)

Nowadays there are really cheap USB AVR programming interfaces available pretty much everywhere.
Back in my times, I had to first set fuse bits and install the bootloader (MegaLoad) using a very primitive LPT port interface (either in- or out-of-circuit).
The bootloader allowed in-circuit reprogramming over a COM port, which is far more versatile, and requires fewer pins. Also, having a COM port connection is very useful in general, for debugging purposes and/or data transfer.

Re: I've made an electronics blog

Posted: Sat Mar 10, 2018 1:37 pm
by Arokhs Twin
Yeah, I've tried to convert my boss over to the AVR but he's adamant that ANSI C and the 8051 with the SDCC compiler is better. He's right in a way as the silicon labs 8051 chips are way more powerful than the 8 bit AVR but for what we need the AVR is just fine. The things I've built are mainly custom test equipment as with us having unique and custom products you need unique test equipment as well.

When I started there nearly 2 years ago I didn't know anything about programming. I learnt with the 8051 first and struggled with it then found the Arduino / AVR which was much easier. A project that my boss took 6 months to write and prototype I had working in a few days with an Arduino. He seemed very happy with that and now generally if he needs something designing and building he just lets me just get on with it using whatever I want (within budget constraints) to get it done. He does not seem too interested in C++ neither does our software guy who writes our windows applications in C#. Looking at them they are similar but a lot of the syntax is down to the compiler of choice.

I'm glad I get the freedom to do whatever I like to be able to build a bit of equipment. As an inexperienced programmer myself I chose a platform which has a lot of community support rather than what my boss suggested which I felt was outdated. But he's happy with that. Some bosses I've worked for in the past would find an excuse to fire me for that. :)

As for jobs I'm sure glad I didn't get that job at a nearby coal power plant as the said plant got closed last year (prior to closure it had just been refurbed with carbon capture etc but does not meet EU guidelines for emissions or some other BS) and I would have been made redundant yet again. It will take 3 years to completely demolish the site and another 3 to build the replacement. I may go looking for a job there again but I'd imagine they would have moved on from consoles full of discrete 74LS series chips.

Re: I've made an electronics blog

Posted: Sat Mar 10, 2018 3:03 pm
by Mechanist
The problem with overspecifying the platform, is that at some point it just becomes a Turing tarpit: everything is possible, but nothing is easy.

Thinking outside the box frequently pays off. And sometimes it's better to ditch the box entirely, in a manner of speaking.

I once needed, on a one-off basis, to decode a couple dozen of text files which had been encoded for obfuscation. IIRC it was a very simple algorithm involving bitwise operations - no more than several lines of pseudocode, but I don't remember any details. However, there was no ready-made program available for download for this particular purpose.
Attempting to write a PC program to handle this would have taken me all day to do, if not much more, seeing how I had pretty much zero experience with that sort of thing.

So I instead grabbed a spare AVR board I had lying around. Took me less than half an hour to write a simple program in BASCOM (for the Mega8 IIRC), which accepted a data stream from the UART, decoded it on-the-fly, and sent it back via the UART.
Then it was just a matter of shoving the files, one by one, into the terminal window, and saving the returned data.
Very clunky and inefficient on the whole of it, but even then I was done with the whole job in under 1 hour - whereas if I would have done the alternative, at that point I'd still have been struggling to get it to read the input data from disk, or maybe something even more basic than that.

My current job is OK, I'm mainly doing hardware development, usually involving the required special tools and fixtures required for production of other devices. Also, the company is pretty much "too big to fail".
Notably, this is how I've come to regard things such as $1mil. very high-powered lasers as being actually very boring. And no, that's not a joke.

Re: I've made an electronics blog

Posted: Fri Jul 17, 2020 2:17 pm
by cieply
I like your blog, it's pretty entertaining if you are into electronics.
wish I new that when I was making my thermometer on arduino. Long (years) time ago...
Still remember one particular issue that sensor (LM35) was working correct when supplied from usb (5V) and showing ~50% too much when supplied from batteries (4x1.5V) even so specs claims supply is in –0.2V to +35V range (line regulation 4V - 30V). I never figured it out.

Re: I've made an electronics blog

Posted: Fri Jul 17, 2020 6:33 pm
by Arokhs Twin
Glad you liked the blog. The LM35 will probably be OK - the analog to digital converter's reference voltage will affect readings especially if you are using the default reference (Arduino supply voltage) and it will give reasonably accurate results at 5V but if you are using batteries this will be closer to 6 volts and this will make the readings way out. The Arduino chip (Mega328P) has a maximum supply voltage of 5.5V so that will also cause a problem. Best to use either the internal reference voltage or an external precision reference chip if you use a battery supply.

re: LM35

Posted: Sat Jul 18, 2020 2:54 pm
by cieply
This page says that recommended supply voltage is 7-12[V], and 5.5V is maximum input voltage, so maybe 6V from batteries is too low rather than too high.

I tried to dig out that thermometer prototype but couldn't find it but as far as I remember and that's what I found in only survivor source I read analog input and convert. Temperature was "displayed" with blinking diodes.
The source is attached but it's partisan work - this one was only to make it work so quality of programming is not very high. I have this problem with interacting with hardware in programs. It's easier to make it all hardware or all software for me. Kind of quirk, I know.

Re: I've made an electronics blog

Posted: Sat Jul 18, 2020 4:39 pm
by Arokhs Twin
Ah right I meant the supply to the chip itself; the Arduino board has a built in voltage regulator which yes does need 7-12V. I typically find the regulator gets too warm with the extra load on it from LED displays etc and power the arduino from a separate 5V supply instead.