Tuesday, April 14, 2020

Tips for working from/at home

Having quite a bit of experience working from/at home, here are some tips that I wish to share for those who have to do this for the first time.

1. Wake up on time
It is easy to sleep in when working from home, but I always wake up by a certain time each day. This helps to get you into the "mood" for work.

2. Wear working attire
When working from home, it is possible to stay in your pajamas the whole day. But being in pajamas can be too comfortable for work, making you lazy. So I like to change into something just to feel like I am at work. This includes putting on make-up too. Basically, it should be just like working at the office.

3. Start work on time
Sticking to a schedule helps. At home, there are many distractions. TV, the laundry, washing the dishes, and other things can draw our attention. To help us resist those distractions, starting work on time is important. It forces us to drop those distractions.

4. Take a proper lunch break
On busy days, it can be easy to work through lunch, dinner, and even sleep when working from home. But that is not healthy, and not sustainable. Even on busy days, I try to set aside time for a lunch break at least 45 minutes long. The same goes for dinner, if working overtime.

5. Set aside a working area
If you have the luxury of a room to work in, good. If not, a designated work area that everyone in the family knows about is important. Not only will it signal to them that you are at work and should not be disturbed, it also helps you to get mentally into the working mood when you are in that designated working area.

6. Keep things you need within reach
Your coffee (or tea) and anything else you need while working should be in the working area. This helps to limit trips out of the working area (except toilet breaks, unless your working area is the toilet), which reduces the chance of you being distracted by all those things in the house, like dishes in the sink, laundry waiting to be folded, etc.

7. Draw up a daily work schedule
I use Google's calendar app for this. I plan my day ahead, setting aside time for every task that I want to accomplish each day. Keeping to this schedule helps to keep you focused. Plan in your lunch break in this schedule too!

8. Limit overtime
For the hardworking ones, it is easy to work well into the night to get things done. Just remember, when working from home, we are usually not paid overtime wages. Pace out your work. Remember Point 7 above. Unless someone is going to die, stop work by midnight, no matter how tight the deadline is. If you work yourself to the hospital (or to death), whoever is paying you will just hire someone else, but your family will have to deal with the consequences of your decision.

The above are my tips for working from/at home. Hopefully, it has served as a guide for those who need to work in a new(?) environment in these difficult times.

Monday, April 13, 2020

RGB LED fan for the hotend

RGB LED fan for the hotend? Why?

Because it can be done.

Recently, I saw a RGB LED 40mm fan for use with Raspberry Pi. So I thought, "It will be so cool if this can be used with a 3D printer." But the problem is that my 3D printers run on 12V and 24V, and this fan runs on 5V. I tried to see if 12V or 24V models are available, but apparently not.

First, I tried to use this isolated MOSFET module. But my testing showed that it cannot be used with 5V on the output side; the minimum voltage on the output side is 9V due to how the module was designed. That meant I cannot use the fan output on my board to control the 5V RGB LED fan.

But wait. I have a few MRR PiFan fan controllers on hand. Can I use the 5V output on my MRR ESPE, coupled with one of the I2S output pins as a GPIO to control the MOSFET on the MRR PiFan?



Apparently, yes.


I turned off the lights to see if the RGB LED effects can be more prominent.

My only worry is that the fan is not pushing enough air to cool the heatsink on my Titan Aero, which will then result in heat creep and clogs. So I will likely be switching back to a normal fan. But still, it was a nice "experiment".


Sunday, April 12, 2020

Isolated MOSFET module reverse engineering

I got a few isolated MOSFET modules recently to test with fans and LEDs. They are basically MOSFETs, but the gate is controlled by an optocoupler to isolate the control circuit from the load circuit.


I tried to see if I can get it to work with a 5V fan on the output side as I was thinking of using my 3D printer control board (running on 24V) to drive a 5V fan. But it seems the minimum voltage for the output side needs to be 9V; it would not run at 5V. The MOSFET gate just does not get enough voltage to open.

I could not find the schematic of this, so I had to do a bit of reverse engineering to try and find out why.






The MOSFET is a IRLR7843. Optocoupler is PC817. Standard stuff, I guess. There is a red LED when the load is being driven, connected to a current limiting resistor. Standard stuff too. The zener diode seems to be there to clip the gate voltage. I had to figure out how the rest of the resistors were connected using a multimeter.

This is the schematic that I think should fit this module.

The resistors R2+R3 and R4 will actually form a voltage divider that halves whatever is the voltage on the output side (VDD in the schematic). This is bad news if VDD=5V, since the gate voltage is then 2.5V, which according to the data sheet for the IRLR7843, seems to be too low for the MOSFET to work normally.

Otherwise, this module should work quite well; just remember to have VDD=9V at least. And the connectors used, while stamped with "10A" on them, don't look like they can handle that much current. I would probably limit any use to 2A.

Friday, April 10, 2020

MRR PiFan: slim fan controller for single board computers

I have a few Raspberry Pi and other single board computers, and most of them do require some form of active cooling (especially if overclocked). A small 5V fan is usually enough, but having those fans run all the time can be a bit noisy over time.

There are many circuits that can be found online to add GPIO control to fans using a transistor or MOSFET. Aliexpress even sells something that plugs into the Raspberry Pi's pin headers like a mini-hat. But most are bulky; the one on Aliexpress kind of sticks out and won't fit inside most cases.

So I designed my own, a slim design that sits over the RPi's 40-pin header. This means it will fit inside cases, but it also covers the pins. Not really a problem for me since I don't use the pins.


The module/mini-hat uses a WST3392 dual-channel N-MOSFET, which I have quite a few lying around because I use them in the MRR ESPE. One channel is used for the fan (which also has a red LED that comes on together with the fan). The other channel is connected to a green LED; use of this LED is optional.

If you don't want to use it as a mini-hat, it can be used like part of the fan's wire. Here is one with 90-degree pin headers, one end which will connect to the fan, and the other to the board. The red and black wires go to 5V and GND, while the yellow to the pin for controlling the fan. The green can be used to control the green LED onboard.


Pin headers can be bulky, so wires can also be directly soldered onto the module. This makes the module even flatter.


Here is the module being used on my RPi4B as a mini-hat, controlling the dual 25mm fans for the "armor" case. You can see that the module fits very snugly inside the case. The female header sits on pins 2, 3, 5V and GND (the topmost set of pins are skipped).


The KiCad files can be found here. A script that can be used to control the module and fan can be found here; you will need to edit it a bit if you want to control the green LED. For me, I changed /usr/local/bin/fancontrol.py to something like:
#!/usr/bin/env python3

import subprocess
import time

from gpiozero import OutputDevice


ON_THRESHOLD = 65 * 1000  # (degrees Celsius) Fan kicks on at this temperature.
OFF_THRESHOLD = 55 * 1000  # (degress Celsius) Fan shuts off at this temperature.
SLEEP_INTERVAL = 5  # (seconds) How often we check the core temperature.
GPIO_PIN = 2  # Which GPIO pin you're using to control the fan.
LED_PIN = 3  # Which GPIO pin you're using to control the LED.


def get_temp():
    """Get the core temperature.

    Read file from /sys to get CPU temp in temp in C *1000

    Returns:
        int: The core temperature in thousanths of degrees Celsius.
    """
    with open("/sys/class/thermal/thermal_zone0/temp") as f:
        temp_data = f.read()

    return int(temp_data)


if __name__ == '__main__':
    # Validate the on and off thresholds
    if OFF_THRESHOLD >= ON_THRESHOLD:
        raise RuntimeError('OFF_THRESHOLD must be less than ON_THRESHOLD')

    fan = OutputDevice(GPIO_PIN)
    led = OutputDevice(LED_PIN)

    led.on()
   
    while True:
        temp = get_temp()

        # Start the fan if the temperature has reached the limit and the fan
        # isn't already running.
        # NOTE: `fan.value` returns 1 for "on" and 0 for "off"
        if temp > ON_THRESHOLD and not fan.value:
            fan.on()
            led.off()

        # Stop the fan if the fan is running and the temperature has dropped
        # to 10 degrees below the limit.
        elif fan.value and temp < OFF_THRESHOLD:
            fan.off()
            led.on()

        time.sleep(SLEEP_INTERVAL)



The following is an excerpt from this article about how to make the script start on boot.
----- start of excerpt -----
Create a file called fancontrol.sh and add the following:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          fancontrol.py
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting fancontrol.py"
    /usr/local/bin/fancontrol.py &
    ;;
  stop)
    echo "Stopping fancontrol.py"
    pkill -f /usr/local/bin/fancontrol.py
    ;;
  *)
    echo "Usage: /etc/init.d/fancontrol.sh {start|stop}"
    exit 1
    ;;
esac

exit 0


Move this file to /etc/init.d, and make it executable:

sudo mv fancontrol.sh /etc/init.d/
sudo chmod +x /etc/init.d/fancontrol.sh


Now we'll register the script to run on boot:

sudo update-rc.d fancontrol.sh defaults

Now, you can either restart your machine, or kick this off manually since it won't already be running:

sudo reboot

or

sudo /etc/init.d/fancontrol.sh start
----- end of excerpt -----

Update (December 28, 2020): I just found out that since 2018, Raspberry Pi's config.txt has device tree overlays that allow a GPIO pin to be used to control a fan. All that is needed is to specify the option in config.txt with the GPIO pin to use and the temperature to turn on the fan. For example, to turn on the fan at 55 degrees Celsius with the control pin connected to GPIO 2, add the following line to config.txt:
dtoverlay=gpio-fan,gpiopin=2,temp=55000
The fan will turn off at 10 degrees Celsius below the specified temperature, so in this case, it will turn off at 45 degrees Celsius. However, there is no option to control the LED. The GPIO numbering is the BCM numbering (not board numbering).

Monday, April 06, 2020

Visual Studio Code does not support source control (git) with symbolic links

I was trying to set up Visual Studio Code on another computer (running Linux Mint), and kept running into the situation where changed files do not show that little tag in the workspace, and the editor was not showing where lines were changed.

I thought I had an issue with git and VS Code, so I reinstalled both. But that did not solve the problem. Spent a whole hour searching the Internet trying to hunt down a solution.

And came upon this.

Git: Symlink support

It seems VS Code does not support file watching when folders are added to the workspace using symbolic links. This is obviously a non-Windows problem since Windows doesn't really have the symbolic links that we see and love in Unix-based systems. But the issue was first raised in April 2016... and four years later, it still remains an issue.

And wasted one hour of my life. Plus put strain on my poor eyes... which are already strained from all that work staring at the PC.

Sigh.

Sunday, April 05, 2020

Marlin, ESP32, and RGB LEDs

After connecting the MRR ESPA to the Labists 3D printer, I thought it would be a good idea to try to see how RGB LEDs would work with the MRR ESPA. So I got a RGB CPU fan (120mm) which uses addressable LEDs, and made the following changes to Configuration.h.

#define NEOPIXEL_LED
#define NEOPIXEL_TYPE   NEO_GRB
#define NEOPIXEL_PIN     0
#define NEOPIXEL_PIXELS  8

#define NEOPIXEL_IS_SEQUENTIAL
#define NEOPIXEL_BRIGHTNESS 127
#define NEOPIXEL_STARTUP_TEST


This is the fan.
It has a 4-pin fan connector (GND-12V-TACO-PWM), so I just connected GND and 12V to the MRR ESPA's part cooling fan port. The LED connect is 3-pin (GND-DATA-5V). The DATA line should be able to work on 3.3V, but just in case, I used a voltage shifter to change it to 5V.

Here's the video.

Oh, I also took the chance to test out the TFT35 touchscreen from BIGTREETECH. It works when connected to AUX1. Still, the MRR ESPx boards do not need such a controller since everything can be controlled via the ESP3D webUI.

When the board boots up, it will do a quick cycle test of the RGB LEDs. Also, when a print is started, the color will change to magenta, then slowly turn red as the hotend heat to temperature. Once the print gets underway, it becomes white (this is supposed to help illuminate the print area).

There seems to be some problem with the addressing of the LEDs, most likely because I got the LED count wrong.

Otherwise, it seems the RGB LEDs work!


Get the MRR ESPA board here.

MRR ESPA and MRR ESPE related social media:
Facebook page
Facebook group for users


(Note: I am still having issues with the Labists 3D printer aka Easythreed X1. I seriously suspect it is an issue with the motors overheating, but if I turn down the Vref, the motors don't move. I will next play around with minimum pulse duration to see if it helps.)

Saturday, April 04, 2020

Cinnamon does not go with blueberry

No, this is not about food.

I am running Linux Mint Cinnamon, and had been experiencing serious, visible screen lag. When the computer first starts up, things are okay. But the lag starts to appear after a while.

Eventually, after trying all kinds of stuff, from reinstalling display drivers, turning on and off Cinnamon effects, and many many other stuff, I came upon a post that said that it could be the Bluetooth manager (blueberry) that is causing such lags. So I turned it off... and voila! No more lag!

Sidenote: Older Cinnamon applets can cause lag too. Like some of the older system monitor apps out there. Multi-Core System Monitor (multicore-sys-monitor@ccadeptic23) works for me.

Monday, March 30, 2020

Will COVID-19 change the balance of power?

Yet another article about the impact on China from COVID-19.

PacNet #16 – Covid-19: As China Recovers, Will Its Economy Follow?

I don't think there is any doubt that China has suffered and is suffering due to COVID-19. The bigger question in my mind is the impact on the U.S. due to Trump's leadership (or lack thereof) and the effect on the global balance of power arising from that impact. China has a population more than three times that of the U.S., yet the U.S. has, by a miracle of mismanagement, managed to surpass China in terms of number of infected persons.

The article gives hard evidence in terms of figures about exports and manufacturing. But these are short-term figures, and you really don't need experts to tell you that COVID-19 has an impact on economies around the world. Highlighting China's figures serves to bring attention to China, yes, but without comparisons with figures from other countries like the U.S., the significance of those figures cannot be fully grasped.

Another worrying sign is that Trump keeps calling this a war. And we have all seen what Republican presidents have done in the past. The war on terror resulted in invasions into other sovereign states. Trump's rhetoric of calling the novel coronavirus the "Chinese virus" may have more sinister intentions beyond trying to blame China. The fear that the U.S. will use COVID-19 as an excuse for trying to maintain its current hegemony through force, whether economic or kinetic, is worrying.

At the end of the day, I think it again boils down to facts over feelings. We all have our own opinions about authoritarian regimes, human rights, and ideals about freedom. But we need to remember that these are our own opinions; they are about how we feel about things. But we need to based our decisions on facts, not our feelings. We are all entitled to our own opinions, our own feelings, but there is only one set of facts. Basing decisions on facts is what separates good decisions from poor ones.

Saturday, March 28, 2020

Cheap IR sensors do not make good endstops






I had such high hopes.

These IR sensors are really cheap, and I was thinking of using them as a cheap auto bed leveling sensor or just as a contactless Z endstop. As you can see from the photo, I even printed mounts for them. One is mounted on a fan cover and would have gone on the Titan Aero's heat sink fan. The other is supposed to mount on the FLSun Cube as a contactless Z endstop.

Then I found out why no one is using these sensors. They are just inconsistent, easily affected by ambient light, and even minor differences in surfaces. So repeatability will be a super problem.

Oh well... at least the mount for the FLSun Cube can fit a mechanical switch too.

Friday, March 27, 2020

The danger of feelings over facts


Today, we see the danger of making decisions based on feelings rather than facts.

There was little evidence to suggest that jobs were being lost en masse to immigrants, legal or illegal, yet people allowed someone to use racist feelings to come into power.

This is little evidence that a physical wall will stop illegal immigration; the Great Wall of China never really did stop nomads from raiding and even conquering China. Yet people allowed rhetoric to sway their feelings and demand for resources to be poured into building a wall when there are more pressing needs for those resources.

There is no evidence that tariffs are being paid by China; on the contrary, tariffs are paid by Americans importing goods from overseas. Yet again, they allowed their feelings to be swayed to support tariffs which make it more costly for their daily lives.

Feelings can be swayed; facts cannot be changed.

The people who voted for Trump and kept him in power trusted their feelings over the facts. Their feelings were exploited for Trump's ego, and today, the U.S. has surpassed all other countries in the number of detected COVID-19 cases. And the U.S. is on the way toward surpassing China in the number of COVID-19 deaths. One can only hope that the actions of governors and local leaders can prevent the U.S. from surpassing Italy's figures. There is no need to be number one in everything.

The leader that is incompetent yet decisive is the one who gets everyone killed.

Friday, March 20, 2020

My Linux journey, updated

Long ago, when I first started on my Linux journey, there were two main options: Debian or Red Hat. I went with Debian. This was 1999, a time when installing any distribution of Linux was not as straightforward as it is today. And adding to that complexity was that I had a laptop; getting anything to run was a challenge as Linux back then tended to be slower in rolling out device drivers for the latest technologies. This was followed by language support (I needed Japanese input and fonts) so I eventually switched to Turbolinux, a Japanese distribution based on Red Hat.

As Linux development sped up, issues with device drivers and language support started to become better in the mainstream distributions, and I switched to Fedora Core. Fedora is also based on Red Hat, which explained the choice since I was just switching from one Red Hat-based distro to another Red Hat-based distro. Fedora came with the GNOME desktop, which worked well for me until GNOME 3 came along. GNOME 3's GNOME Shell just didn't feel right for me, so I started searching for an alternative.

In my search, I came upon Linux Mint. It offered the "traditional" desktop feel of GNOME 2 and Windows (yes, I was and still am a Windows user; dual booting was something I did and still do, even though the computers I use now are either Linux or Windows machines without dual boot). I didn't hesitate; I made the switch. Linux Mint is ultimately based on Debian, which brought me back to the world of apt after a long hiatus.

In my single board computers, I am using Ubuntu, Raspbian, and Armbian. These are all distros based on Debian. I am fine with the desktops offered by Raspbian and Armbian; Ubuntu, with its GNOME desktop, is still something that I struggle with. Good thing I use them headless, with almost everything done via the command line on SSH, with the occasional X11 forwarding if I do need something with a GUI.

I am still using Linux Mint today on my main "desktop" (it is a mini PC), and have my older laptop on a Windows/Linux Mint dual boot. I am likely to continue to use Linux Mint on new builds (I am hoping to get the time and resources to build a cheap DL rig with AMD + GTX 1660 Super), although Ubuntu MATE looks "attractive" too. I continue to dream of the day when I can fully ditch Windows, but since my current work requires me to use Microsoft Office, that is unlikely to happen for a while...

Thursday, March 19, 2020

More thoughts about the economic impact of the coronavirus

Recently, I wrote about my thoughts on how the novel coronavirus and COVID-19 will affect economies. As the coronavirus spreads across the world, and more and more people are diagnosed with COVID-19, things are changing again.

Those who speculated that supply chains will leave China for other countries, especially those in Southeast Asia, are probably relooking at their opinions now as those countries are also closing off their borders, making it harder for goods to be moved between countries. Conversely, China has done everything it can to get back to normalcy as soon as it can. We see the drop in COVID-19 cases in China, and its factories are reopening. It is even sending medical staff overseas to help other countries deal with COVID-19.

Meanwhile, other countries are banning foreign travelers or imposing quarantine/isolation on people entering their borders. Italy has seen its medical system overwhelmed, and someone in the U.S. even mentioned that the coronavirus could infect 40% to 60% of the U.S. population. That's like 150 million people, and even a fatality rate of 1% would mean more than a million deaths.

We have seen the stock market tanking in the U.S., bringing with it the other stock markets in the world. Economic outlook is bleak with people saying that the U.S. is probably already in a recession, if not an economic depression. Yet there are also countries who had somehow managed to keep afloat. Singapore continues to serve as an example of how to deal with the novel coronavirus by always trying to stay ahead of the curve. South Korea, with the rapid decision to expand testing, has managed to limit the spread of COVID-19 too. Hong Kong is linked to mainland China by land, yet managed to effectively keep itself isolated. Taiwan, with strong economic ties to mainland China, has also managed to contain the spread of the novel coronavirus.

These countries share one similarity: the ability of their governments to take swift and decisive action. Their governments made use of the time that China bought (with its quarantine of Wuhan and other major cities) to put in place measures for detecting and limiting the spread of the virus. While the rest of the world was watching how things would develop in China, and some even trying to find blame with the Chinese government, these countries were making the best use of that time to make sure their people are and will be safe.

If Japan had made use of the Chinese New Year period, when China was effectively isolated, to also ask its people to limit travel and work from home, Abe would not have to deal with allegations that he is deliberately making it hard to test people (by setting really high criteria to qualify for testing) so that it would not affect the Olympics. But Japan carried on with life as usual, the packed trained and densely populated cities became breeding grounds, and there are more and more cases each day. And those cases are only those who had cleared that high criteria for testing; based on statistics, there are probably many many more with COVID-19 that are either asymptomatic or with mild symptoms.

If the rest of the world had used the Chinese New Year period to limit travel and close schools and work from home, we may not be where we are today. No one knows for sure, but that possibility is there.

But their governments, their leaders, did not take that chance, did not make that tough decision. And so here we are today. Where people cannot feel safe and secure, medically, socially, economically. A world of racism and conspiracy theories as people try to find others to blame for their own poor judgment.

I just hope we can all get through this, come out better, and come out wiser.

Previous posts:
My thoughts about the economic impact of the coronavirus
Some thoughts about the political and economic impact of COVID-19 on China

Wednesday, March 18, 2020

Connecting MRR ESPA to Labists Mini 3D printer (aka Easythreed X1)

After taking a look at the X1's control board, I managed to find some time to hook it up to a MRR ESPA.

I used a marker to make a mark on each connector as I disconnected them so that I would not mess them up. It was then just a case of transferring each connector to the right one on the MRR ESPA. One note, though: the endstop connectors were oriented differently, so I had to do a bit of pin swapping for each endstop.





My 25x25x7mm fan has yet to arrive, so I could not connect the part cooling fan (the set does not come with a part cooling fan, but you can buy your own and print the fan shroud).
I connected the original board to my computer, and ran M503 to get the following:
Marlin 1.1.0-RC3
Last Updated: 2015-12-01 12:00 | Author: (none, default config)
Compiled: Jan 12 2020
Free Memory: 12015  PlannerBufferBytes: 1232
Hardcoded Default Settings Loaded
Steps per unit:
 M92 X467.00 Y467.00 Z1160.00 E1040.00
Maximum feedrates (mm/s):
 M203 X40.00 Y40.00 Z10.00 E80.00
Maximum Acceleration (mm/s2):
 M201 X1000 Y1000 Z200 E1000
Accelerations: P=printing, R=retract and T=travel
 M204 P300.00 R300.00 T300.00
Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
 M205 S0.00 T0.00 B20000 X2.00 Z0.40 E1.00
Home offset (mm):
 M206 X0.00 Y0.00 Z0.00
PID settings:
 M301 P22.20 I1.08 D114.00 C100.00 L20
Filament settings: Disabled
 M200 D3.00
 M200 D0


Using these settings, I edited Configuration.h, then compiled Marlin 2.0, and uploaded the firmware to the MRR ESPA. Then, I tested the endstops to check their logic. Turned out I needed to invert the logic.

#define X_MIN_ENDSTOP_INVERTING true
#define Y_MIN_ENDSTOP_INVERTING true
#define Z_MIN_ENDSTOP_INVERTING true

The stepper logic works if set as:
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true


I also lowered the homing speed, since it requires a lot of steps per mm, and I was having trouble with homing at 50mm/s.
#define HOMING_FEEDRATE_XY (25*60)
#define HOMING_FEEDRATE_Z  (4*60)


Loading filament was quite easy, just push in filament into the PTFE tube as far as it will go, then use the extruder to load the filament. As I am using the ESP3D webUI, I just had to click on the "Extrude" button on the webUI.

I used a multimeter to check the Vref used on the original board, but I was getting readings of 1.4V to 1.5V. On the Chinese A4988 stepper driver boards I am using, that would be a crazy amount of current, so I set Vref on my A4988 stepper drivers to 0.5V instead. This worked without any problems. (Update March 22, 2020: The original board uses 0.2 ohm resistors for Rsense, which explains the higher Vref. My Chinese A4988 stepper driver boards use 0.1 ohm for Rsense, so I switched to using 0.7V for Vref on my stepper drivers.)

I was able to home the axes, and move around using the webUI. So far so good. I tried heating up the hotend too, no issues with that. I was at first quite worried about the hotend wiring, which were really thin. But using a clamp meter, the current draw when heating seemed to be around 0.5A. Not a lot, and definitely not going to burn the wires.

Next would be to level the bed and test print something.

Get the MRR ESPA board here.

MRR ESPA and MRR ESPE related social media:
Facebook page
Facebook group for users

Affiliate link to Labists mini 3D printer on Amazon.com

Handling COVID-19: China versus U.S.

It is thought-provoking to see how the various countries are handling COVID-19. For easy comparison, let's look at China and the U.S.

China basically quarantined entire cities and even a whole province. But it did not stop at that. There was active effort to temporarily ramp up medical capabilities at Wuhan, where the most cases were, and it included bringing in resources from outside Wuhan. Medical teams were dispatched, and temporary hospitals were built. The quarantine was only part of the equation; without the pooling of resources from other parts of China, we would likely have seen more deaths in Wuhan.

And China is using technology to help curtail the spread of COVID-19. People detection technology is being used to track crowd size so that no place becomes too crowded. Yes, this may be a feature of the police state, but it is being used for the good of the people now, and people will remember this event, and in the future, more likely to continue to accept such monitoring since it actually helped save lives.

Meanwhile, the U.S. continues to avoid quarantines even though the number of cases are rising. The underlying issue with healthcare in the U.S. means that it is near to impossible to actually grasp the actual state of things. There were probably many people who had not been tested because they lacked the medical insurance for such healthcare. Couple that with the U.S. medical system being built on a for-profit model, it does not have the buffer for a sudden ramp up like what China did. Which makes U.S. hospitals more prone to being overwhelmed (like in Italy).

The large income gap in the U.S. also means that the impact of any economic shutdown will have greater social impact. With the lack of medical leave, people who are sick will continue to work if they need the money to pay bills. This is just going to aggravate the problem; not having solved this latent problem in the past will now come to haunt the U.S. The lack of a central agency in the U.S. coordinating national-level efforts to bring resources to where they are most needed, and leaving things to the states and municipalities, will only result in slow response and greater chaos. At a time when national leadership is critical, national leadership is lacking.

Countries can and did criticize China about its initial handling of COVID-19, and some countries still continue to do so. But China took the drastic steps necessary to contain COVID-19; those critics of China should ask themselves if their own countries are doing the same for them.

Friday, March 13, 2020

A look at the control board of the Labists Mini 3D Printer (aka Easythreed X1)

I wrote about getting a mini 3D printer as a demo set which I can bring along to maker fairs and such. The Labists Mini 3D Printer (a rebrand of the Easythreed X1) was on sale, so I decided to just get one to see how it goes.

As you can see, it comes in a really compact case. Here is the box beside a box of filament for comparison.

It comes in essentially 3 parts: the base with the Y axis, the X and Z axis arm, and the control box. Assembly is just a matter of placing the XZ arm into the base and fixing it with two long screws, then connecting a few wires to the control box.

I didn't even bother to give it a test print because I am just going to remove the control box and connect the mechanical portion to a MRR ESPA. So I decided to open up the control box to see what is inside.

The mainboard is driven by a ATMEGA1284 microcontroller. (Note: This is an 8-bit microcontroller.)

It seems the ET-4000 V2 is actually an earlier printer from Easythreed. Guess they just use the same board for all their printers.

Stepper drivers are... yup, A4988.

The 12V to 5V step down converter is a MP1584.

I am not really sure what this 74HC4050 level shifter is for, probably for the PCB with the control buttons.

This is the back of the PCB with the control buttons.

And the control board actually has MOSFETs not just for the part cooling fan (which does not come with this kit; you need to get a separate 25mm x 25mm x 7mm 12V fan and print a shroud which can be found on Easythreed's website) and the hotend. It also has a MOSFET and connectors for a heated bed. The MOSFETs for the hotend and part cooling fan are HY1403, but I can't make out what the heated bed uses.

One thing that worries me is the very thin wires used for the hotend. I am really worried how that will hold up with currents above 1A.

Next is to find time to hook it up to a MRR ESPA and try to print something.

Affiliate link to product on Amazon.com