Saturday, December 19, 2020

Adventures with the Raspberry Pi 4

This is something I've been meaning to do for a while... but I finally got myself a Raspberry Pi 4 Model B 4GB, along with a few essential things to go with it. It's a tiny, inexpensive Arm-based computer, designed foremost for educational use, yet versatile enough to serve as a general-purpose Linux device.

As someone who's had a fair bit of experience with Linux over the years, particularly with openSUSE on both laptops and servers, the experience is both familiar and foreign. I installed Raspberry Pi OS (32-bit) onto a microSD card using the official Raspberry Pi Imager application on Windows, and everything loaded up and worked just as expected. But coming from an RPM-based Linux distribution, there was a bit of a learning curve as I had next to no experience with the apt package manager. The LXDE desktop also took some time for me to get used to.

While I can't say the Raspberry Pi 4 can fully replace a proper PC, it performs surprisingly well for such an inexpensive computer, and it can certainly serve as a basic web-browsing and productivity device. 4 GB of RAM has proven to be plenty for a low-power Arm-based device, even with multiple tabs open in Firefox (utilization typically sits just within 2 GB). You'll probably find desktop applications to be rather sluggish, and you may have to wait several seconds to do things that a modern laptop can do in a split-second, but it's certainly usable.

For the time being, I'm simply experimenting with the Pi as a Linux desktop microcomputer, though I do have a few project ideas for the future. While the starting price for the Raspberry Pi 4, a mere $35 for the 2GB base model ($55 for 4GB, $75 for 8GB), can be extremely tempting, the cost can rapidly balloon as you add essential supplies and accessories. Memory cards, keyboards and mice, displays, fans, cases, and other items can easily add up to well over a hundred dollars. Nonetheless, it's a worthwhile experience and you probably won't regret getting one.

I'll be sharing more about getting the most out of the Raspberry Pi 4 in later posts. Stay tuned.

Draco

Sunday, September 27, 2020

Olympus BLH-1 battery and BCH-1 charger oddities

After using my Olympus OM-D E-M1 Mark III for some time, I've noticed some weirdness with the Olympus BLH-1 batteries that merited some experimentation. In particular, I found out why putting it on the BCH-1 charger at 97-99% would cause it to charge for a few moments then suddenly stop, claiming that it's full when it actually isn't.

From what I can tell, the charger is designed to drive a constant current (CC) of 1.1A to the battery at a variable voltage, up to 8.5V (as marked on the battery), for fast charging, before switching to a constant 8.4V (CV) and a gradually decreasing current to top off. This behavior is inferred from power measurements with the charger plugged into a Kill-A-Watt meter, as well as the fact that the battery is marked for 8.5V charging and not 8.4V despite having a normal 7.4V nominal voltage. (Higher-voltage Li-ion batteries rated at 3.8V per cell are typically charged to 4.35V per cell. With two cells, that would be 8.7V.)

Under normal conditions, the switchover from constant-current to constant-voltage mode can be detected as a sharp drop from about 12W on the meter to anywhere between 4W to 8W, depending on the battery's state of charge (the fuller the battery, the lower the resulting wattage). If the battery is lower, it'll charge in the faster CC mode for some time, then switch to CV mode when it reaches 80% or so. If there's more than that when the battery's put on the charger, it'll charge in CC mode for a minimum of about 20 or so seconds before switching to CV mode.

Apparently, if the battery is near full (~97% to 99% as reported by the camera), that 20-second minimum in CC mode may involve the charger pushing more than 8.5V to the battery at 1.1A and triggering the over-voltage protection on the battery before it can switch to CV mode. When OVP is triggered, the battery goes high-impedance to reject further charging, and the voltage at the terminals will be about 8.00 volts. (The battery will switch back to normal once a load is placed on it. The actual battery voltage should be about 8.30V to 8.40V.) Because of this high-impedance state, the charger immediately signals that the battery is full and stops charging (the light turns green and the meter reads zero watts).

Under normal conditions, when OVP is not triggered, by the time the charger light turns green, there is still some topping off happening: 2-3W load may be measurable on the meter, gradually decreasing to 1W before it actually stops charging. This sudden drop from 12W (CC mode charging, maximum voltage) to 0W indicates that OVP has been triggered.

I was able to confirm this after some experimentation with a jury-rigged variable-voltage supply: if I drive about 8.6V to the battery, it'll charge at an estimated 0.5A to 1.0A for some time, then suddenly reject power and read out 8.00V on the meter. If I put the battery in the camera briefly and remove it for measurement, I'll get something like 8.39V. This means the battery has detected over-voltage and rejected further charging. Now I can say that the stock charger can trigger this behavior if you put a battery on it when almost full.

Not too sure if the charger's fast-charging algorithm is a good idea, but given what I'm seeing, it's probably doing 8.6V and hitting OVP. That kind of charging regime is quite hard on the battery...

Draco

Tuesday, March 24, 2020

Some random info about the Olympus OM-D E-M1 Mark III

Last updated on April 12, 2020.

I recently purchased an Olympus OM-D E-M1 Mark III with the M.Zuiko 12-100mm f/4 PRO lens, and have additionally purchased an M.Zuiko 25mm f/1.8 lens to go with it. I've been shooting a lot with this camera, even in the midst of this coronavirus pandemic (before New York essentially went into lockdown) and have been thoroughly enjoying it.

This post is just to serve as a space for random notes and information about the camera. It isn't going to be as polished as my usual content, but perhaps some of this information will be useful to others. I'll be updating it as needed.
  • Sensor readout speed is normally about 1/60s. If the ISO sensitivity is set to 8000 or higher, it is about 1/30s. This is reflected in the flash sync speeds when shooting in silent mode (♥ heart symbol), which are 1/50s at ISO 6400 and below and 1/20s at ISO 8000 and above. In comparison, the flash sync speed of the mechanical shutter is 1/250s. (Note that flash is disabled by default in silent mode but can be enabled in the menu, under Shooting Menu 2, Anti-Shock[♦️]/Silent[♥].)
  • Accessing the camera's hidden service menu, including the shutter count, is actually simpler than what some online guides may state, e.g. this article. To do this, hold the Menu button when turning on the camera, then open the menu, open the brightness settings (Setup Menu, fourth item), and press OK. (There is no need to press Right or Info on this screen.) Then press Up, Down, Left, Right, and the shutter button, in that order. From here, pressing Right will show the camera's internal counters:
    • MS is the number of mechanical shutter actuations. This does not include shots taken with the electronic shutter, and does account for operations like pixel mapping (which requires four shutter actuations) which use the mechanical shutter. This means that the value displayed here can be relied on as an accurate shutter count. (Older Olympus cameras used R for shutter releases, which wasn't an accurate shutter count because it included electronic shutter usage.)
    • S (strobe) is the number of times the camera has fired a flash (there's no pop-up flash but the camera does count shoe-mounted flashgun usage).
    • U is the number of times the camera has activated the Supersonic Wave Filter, which removes dust from the sensor. This can be used to estimate the number of power cycles because the camera activates the SSWF every time it is turned on; however, the SSWF is also activated during pixel mapping (Custom Menu J1) so it won't be an exact value.