Posts

Showing posts from 2024

How the AI made me suffer

Image
 I was having lunch with my wife at a restaurant when I got a call from someone from work. A technician dealing with network security told me my office computer was infected with some nasty virus/worm/trojan. There was not much I could do, and being a Friday afternoon, the person who called told me they would do nothing else till Monday morning. The purpose of the call was to make me aware my computer was now isolated in a different VLAN where I would have almost no network services. I immediately felt uncomfortable and worried. What could I have done wrong for this to happen? I tried to avoid all the common pitfalls of not seeing myself in this situation, but I was not doing well enough. Thankfully, the meal was delicious, and I could park the problem for a while. I woke up early Saturday morning to shop and could not resist stopping by my office and checking my computer. As I was told, only a few services were working, I was getting a different IP address and had no access to any ser

Security policy blues

Image
  When your company's security policy starts to make your life uncomfortable, some will say they are doing a good job, while others will complain. I would rather side with the latter.  I have been using a server accessible from the Internet for years. A few weeks ago, a message warned me to update the validity of the firewall rule. Unfortunately, that task appears to be above my pay grade. More unfortunate is that the people who that warning message told me specifically to talk to if I happened not to be able to fix it myself claim they cannot do that and that I should talk to somebody else. That pleased me not.  I am sure I could waste a couple of days going back and forth and get this fixed, but it would be helpful for a short time as I am retiring soon. Alternatively, I considered other more fun solutions that required me to talk with no one else. I have developed some sort of an allergy to people telling me, "That is not my job," when I request something.  If you do n

Heating up a large print bed

Image
3D printers use a heated bed to promote the adhesion of molten filament to it. Many printers have a heater and a thermistor to heat up and measure the bed temperature. Some microcontroller code creates a closed-loop regulator that keeps the bed temperature around the desired set point. The question is what to do when you have a large bed. Some manufacturers have just gone bigger: a large bed is coupled with a large heater and a thermistor (or thermocouple is used for measuring the actual temperature of the bed). Others, like the Prusa XL print bed, have actually gone smaller and composed the larger bed as a set of smaller tiles, each with an independent temperature control. That approach is more complex and expensive in terms of control. Still, it comes with the added advantage of independent control of the temperatures of different bed zones, which might have power savings consequences. From where I stand, simpler and cheaper is the way to go with our project's budget. So, I settl

Multiple heaters on a single extruder on Duet 3

Image
 For one of my recent projects, we built a pellet-extruder 3D printer. Its hotend has four different temperature sections. That means four heaters and four thermistors to create four independent temperature control loops. So far, all my printers have had a single heater for the hotend, so this was new to me.  Handling so many temperatures required enough thermistor inputs on the control board. In my case, a Duet 3 6HC board features precisely four temperature inputs. Which seems to be enough. However, I have a heated bed (which I will describe in an upcoming post) that also needs its temperature to be monitored, so I need five temperature inputs; I am one short so far. The solution was to buy an additional Duet Expansion 1HCL board. This one features two additional temperature inputs, two additional fan outputs, and an additional high-power motor driver I will not use now. This additional board connects to the 6HC using a CAN bus interface. Its default address is 123; you can test it w

Setting up 3D printer that does not use filament

Image
  So you have a 3D printer, and you want to configure your slicer so it can create g-code for it. The most obvious data is the size of your print envelope, but a less visited problem is how to deal with pellet printers or past-based extruders. Your printer for sure can respond to your commands, so after a while, you have a good understanding of how the amount of material needed to get your desired line width at a given layer height. That ratio would be the number of steps/mm the extruder needs to print the sort of lines that you need. Now you just need to tell your favorite slicer that. If you are like me, and your favorite slicer is PrusaSlicer, please be warned that a 1200 mm cube is its maximum print envelope (that was a no-go for one of my concrete printers).  On the other hand, Cura was happy with a larger volume (but I have not asked or tested their max volume). However, I was expecting the "filament diameter" in the extruder configuration in Cura to be the number I cou

Apple, you ruined the upgrade experience, sort of.

Image
  Given that my previous cellphone renovation was a switch from Android to iPhone, I did not expect it to go smoothly, and it did not, primarily because of the WhatsApp database export. But this time, moving from one iPhone to a newer iPhone, I expected a smooth transition. The process started nicely; the new iPhone guided me through a process to find the old one and begin transferring data. However, at a given point, I was left with the latest iPhone stuck in the process (with a non-working link that prevented the import from finishing). To make things worse, the old iPhone was asking me if it was ok to delete all data and restore it to factory defaults (which I did not want to do before I was sure all my data was safely transferred and all my apps were working correctly on the new iPhone). I could only think that calling Apple was the only choice, and I am glad I did, as they helped me sort this out. However, all that ruins the experience of a smooth transition. Even worse, they reco

Controlling unconventional 3D printers

Image
I have been working on a couple of research projects lately involving the creation of a concrete 3D printer and a large-format plastic 3D printer using a pellet extruder. Both printers have in common that their electronics are built around Duet 3 controller boards, as they give you great flexibility.  That flexibility comes at a cost, as I must learn to configure the required features. Most of the time, I can find the info I need in their manuals or user forums. Occasionally, I ask a question there, too, and I always have a useful and quick answer.  My latest challenge was to get working a four heated sections hotend. I was using a Duet 3 6HC board on that machine that features four thermistor inputs, but given that a heated bed was already using one, I was missing one thermistor input. Eventually, I had to buy a 1HCL extension board that added one motor controller and two additional thermistor inputs to the base system it connects to with a CAN bus.  I thought I could use an old tele

A new article featured in Circuit Cellar

Image
February 2024, #403 issue of Circuit Cellar magazine features an article I wrote about Raspberry Pi Pico Programmable I/O Programming. It is an elusive topic, opening up many choices to speed up communications with many different types of hardware. Writing the article was my excuse to devote myself to learning the subject, as I might end up using it for an upcoming wireless controller for a biaxial test machine I published last year. 

These are not the droids you are looking for ...

Image
  It has been a busy year, and one of the things I have played with the most has been a few of the new AI tools, like Bard, Dall-E, Copilot, etc.  The picture on the left is, allegedly, a Raspberry Pi Pico W, but it is not even close. But it serves to illustrate my point: while sometimes you get good or decent answers, sometimes AI is just wrong.  The problem is that we use computers to get good answers, and AI is being pushed as a great tool to speed up that process, which sometimes it does splendidly. Unfortunately, it cannot be trusted.  Still, during the second half of 2023, we witnessed how AI was touted as a revolution, and it was, to a point, one of the reasons for the bull market that raised many stocks. I guess that during 2024, we will continue exploring this tools, finding out which use cases make sense and where you want to avoid using them. Meanwhile, I convinced one of the image-generating AIs to make me a suitable image to celebrate the new year (it was not trivial as th