Asus cheap ultrabook

In my never ending quest for the perfect portable computing platform, I’ve come a step closer. There are loads of good ultrabooks, but most of them are *expensive*. I don’t want to carry/drop/lose a 1K+ device; my ideal portable is in the $300 range. Thus far, I’ve been using modified chromebooks, but some standard laptop/ultrabooks are finally getting into the right price range.

The Asus Vivobook F510UA-AH51 is replacing chromebooks running windows as my new carry laptop. It has an 8th-gen quad-core i5 processor, 15.6″ full-HD display, comes with 8GB DDR4 (supports up to 32GB), WiFi, USB 2,3,C, fingerprint reader, and HDMI. It weighs only 3.7lbs, is thin, has a very small charger, and looks decent.



The battery life is 6-7 hours which is a little less than I’d like, but the main compromise Asus made with this laptop was an old-fashioned, slow 1TB HDD that cripples its speed. Fortunately, you can add an M.2 SATA SSD and turn it into a speedy little laptop. I installed a Crucial MX500 M.2 SATA drive ($40 on amazon) which pleasantly came with Acronis True Image that allowed me to clone Windows from the 1TB HDD onto the M.2 SSD. The result is windows running on the SSD and the 1TB HDD available for bulk storage.

Installing the SSD requires opening the back of the machine (lots of screws including two hidden under two of the rubber feet); you’ll want a proper pry tool (or a guitar pick) to release the thin plastic clips that retain the back once the screws are removed. YouTube has many videos showing how to open the case; and since it’s a bit of a pain, I installed another 8GB of memory ($32 on amazon) while it was open.

The net result, while costing closer to $400 than my target $300 is a fast, light ultrabook with loads of storage and most modern features. A touchscreen and longer battery life would be nice, but not a big deal and overall, this is a great value and suitable for all student/business/development needs!

More crooks from China: Shenzhen Enbar

eBay isn’t the only place where bad companies and individuals hang out. Regardless of the market, a lot of them are in China. Here’s some information about how to check for Chinese scam companies.

I bought 100 ER34615 lithium batteries with custom pigtail connectors from Shenzhen Enbar on Alibaba. Within a year, all of them were dead whether they had been used or not. This type of battery has a 20+ year shelf life. Taking the generically marked shrink-wrap off the failed batteries, there were numerous spot-weld marks on the battery anode where a different tab had been mounted.

I understand that every company occasionally has a bad batch so I reached out to them to analyze the failures, but they had no interest in that and suggested that I just buy more batteries from them! Their “engineer”: Eric Lee insisted that their batteries must be used within 6 months or they will be destroyed by passivation (the normal process of building up a thin oxidation layer that is precisely what gives the batteries their long storage life). He sent me a datasheet with the specs for their batteries that includes “Long Storage Life”…and complained that I had embarrassed him by bringing up the failures! They are obviously not a legitimate or reputable company.

It turns out that a common scam in China is to take batteries that have been sent for recycling, put new shrink-wrap on them and resell them as new (at a discount of course). Buyer beware.

I won’t be buying from Shenzhen Enbar again.

XL6009 Switching Converter – Warning

The XL6009 is a nifty, inexpensive switching voltage regulator from XLSemi. (see datasheet). There is also the XL6019 (see datasheet). They are great parts and operate over a wide input voltage range at high efficiency and their internal switch can deliver substantial current. They can operate in boost and SEPIC/Buck-Boost configurations

HOWEVER you need to be cautious when using the ENable pin (2): the datasheet indicates that EN is a TTL compatible input and considers anything over 1v4 as High (Enable) – that’s good. It also mentions that if left unconnected, the pin floats high (enabled) – that’s also fine.

What wasn’t apparent to me, and certainly isn’t spelled out in the datasheet, is that when the EN pin floats high, it is at Vin and can source enough current to do damage. So if you are using the converter to boost say 12V to 24V, you’d better not connect that EN pin directly to a microprocessor GPIO because the processor pin will be at 12V and will be destroyed! (as I learned the hard way)

The solution of course is simple, just use the processor GPIO to drive a transistor in an open drain/open-collector arrangement to disable the converter. A common 2N2222 or 2N3904 should work just fine over the full input range of the XL6009. Live and learn.

Acer Chromebook 15 Windows

As I’ve gotten older, small screens have increasingly become a problem. I love the real-estate of a full-HD (or bigger) screen, but when they’re smaller than 15.6″, the fonts are getting hard to read for these old eyes.

There aren’t many 15.6″ laptops that met my requirements (1080p, long battery life, 4GB or more, core i5 or better, light weight), especially when you want it to be inexpensive: I prefer not to carry something that costs more than around $200 because laptops get broken/stolen/lost/etc.

So I bought an Acer Chromebook 15 on eBay for $180 and so far, I like it a lot. I replaced the stock 32GB SSD with a KingSpec 256GB SSD (M.2 2242) bought on amazon for $34.15 and installed Windows 10 Pro 64-bit from SCDKey using coolstar.org replacement BIOS. It’s a bit over budget, but still pretty close to the $200 target and it is now a very serviceable Windows laptop with decent battery life, speed (core i5-5200), and a screen I can read. The battery is replaceable and widely available so when that run-time starts to decline, that’s fixable too.

It could be a little lighter and I would have liked more RAM, but it runs all of the software I use and is pretty snappy. Overall, Acer chromebooks continue to impress me!

Windows Programming in C???

I usually use Java when developing desktop software, but I recently had need to develop code that provided both a Windows GUI and also supported low-level interface with hardware connected to the PC. Java is great for developing GUIs and I still like the ancient Matisse GUI builder for Netbeans/Java Swing – I can knock out GUIs really fast with it…however, Java apps can be big and slow and interfacing Java with custom hardware is painful..so I looked into developing Windows native GUI apps in C to give really fast and small code that can interface easily to hardware…and have been pleasantly surprised.

Two things helped:

The Pelles tool is slick, fast, and provides wizards for anything you’d want to build for a Windows target. The tutorial provides loads of compact runnable examples showing how to use each widget and feature of the WinAPI. There are other good WinAPI tutorials as well such as The Forger’s tutorial.

Next: find a GUI builder like Matisse for WinAPI. Pelles includes a resource editor but not a full GUI builder.

eBay crooks: flyxy2015, 3c_topstore

I buy a lot of gear on eBay and the overwhelming majority of sellers are excellent, but every now and then you meet the crooked ones.  This post is to help others avoid getting scammed by two bad sellers: flyxy2015 and 3c_topstore:

1) Seller flyxy2015 sold me a 10MHz OCXO distribution amplifier.  However, the OCXO I received was far off frequency and not within the correctable range.  The seller offered to ship a replacement for the internal Dapu OCXO; I took him up on this and of course what he really did was wait out the eBay return period without ever sending the replacement part.  Scam artists like fly-xy are part of why people are reluctant to use eBay.

2) Another seller (3c_topstore) sold me a scam graphics card.  The card had been altered to appear to be a more expensive card so it sort of worked, but it crashed whenever the driver tried to use the more advanced features or full memory of the card.  It was tricky to figure out what was wrong so by the time I understood the problem, the eBay return period had expired.  Fortunately, PayPal has a longer return period, but they require shipping the card back which would have cost 3c both the shipping and the original price in order for him to get his useless card back.  I thought I’d be a nice guy and offered instead just to split the loss with him…and sure enough, after I’d declined the PayPal return, he went silent and left me stuck with the card.

So in short, a popular eBay scam appears to be to sell you bad product that is either not obviously bad (so it takes you a while to discover it) or to otherwise stall until the return period expires.  eBay needs to do something about this because it is a growing problem that will ultimately hurt their reputation.  Until they figure it out, if you want to avoid crooks, stay away from eBay sellers flyxy and 3c_topstore.

Caveat emptor.

PlatformIO/Atom/VSCode

I’ve been looking for a relatively lightweight cross-platform embedded development environment for some time.  I target mainly STM32, ESP8266, and ESP32 platforms and use both Linux and Windows development machines.  For various reasons I’m not satisfied with the existing solutions:

  • Arduino – too primitive
  • EmBitz – very nice but no linux and no version control integration
  • VisualStudio+VisualMicro – nice but no linux support
  • Eclipse/NetBeans – too heavyweight and poor embedded integration

So I tried the Atom editor with the PlatformIO-IDE plugin on Windows workstations and on a low-end linux laptop and it works nicely!  I’ve since switched to the VSCode editor which I prefer over Atom.  The install, initial test build using the Arduino Core, and download/run worked well for an ESP8266 target.  I have since used it for Java projects as well.  VSCode is cross platform (Windows/Linux/Mac), and lightweight/fast.

I consider several features essential for an IDE:

  • code completion
  • source-level debugger integration with svn
  • version control integration
  • serial upload/monitor integration (especially for EspressIf platforms)

The community (free) version supports code completion, version control integration, and a rich set of plugins although it clearly prefers git; the subversion plugin doesn’t work very well (see below).  The debugger is not available in the free version and requires the Basic paid version ($10/mo).

The version control integration is spartan and on Windows relies on TortoiseSVN (which is good to install anyway).  Tortoise really needs PuTTY installed too if you use an svn+ssh server.  The right way to do it is to generate a signed certificate and install it on your servers so ssh access is seamless as described here or you can do it in cygwin:

  • ssh-keygen -b 4096 -t rsa -N ”
    (creates private & public certs: id_rsa and id_rsa.pub in ~/.ssh)
  • ssh-copy-id mylogin@foo.bar
    (install your public certificate on server foo.bar)

Once your certificate is installed (puts public cert into ~/.ssh/authorized_keys on your server), logins no longer require password authentication.  Note that if you use cygwin or linux you’ll need to convert your key to be PuTTY compatible…see here.

The serial monitor isn’t as friendly as I’d liked, but is actually quite effective using hotkeys.  See the bottom of this page.

A good video on installing for ESP8266 is here and another on installing external libraries here. Information on managing the Arduino Core is here.

A video on STM32 support is here.

 

Home Automation

2020 UPDATE: Staples/DLink abruptly discontinued service, making their product useless, and Wink abruptly started charging a stiff monthly fee to keep using their product…I don’t support crooked companies so I pitched both in the electronics recycling bin and won’t patronize either anymore.  I now use the Samsung SmartThings hub which works better than either of the prior products and does not involve a monthly fee.  You can read more about it in my Home Automation 2 post.

Several  years ago, we had a water leak in an upstairs bathroom that did a surprising amount of damage overnight.  We had it all repaired, but I resolved to put some automation in place so I would know much earlier if something was going wrong in the future.  I wanted a way to monitor my home remotely using my cell phone and to receive push notifications and an audible alert (even when I am home) if something’s going wrong.

I had experimented with home automation years ago using X-10 which was neat, but their current-carrier and wireless technologies weren’t quite mature enough and the system was problematic.  Technology has come a long way since then so I decided to try home automation again.

I didn’t want WiFi devices for a host of reasons including security, wireless range, and battery life, so I chose Z-Wave for the wireless technology and deployed a Staples Connect hub (made by D-Link).  That worked well for several years until Staples discontinued support; they handed support off to another company, but they are gone too and DLink won’t support it so the Connect Hub is now a $99 brick.  My lesson: don’t buy Staples branded products…and shame on DLink for allowing Staples to use their brand; I bought it because I trusted the DLink brand.

Fortunately, since Z-Wave is a standard, I only needed to replace the hub, not all of the sensors and controls.  I replaced it with a Wink Hub which is also multi-protocol (Z-Wave, Zigbee, WiFi, Lutron, Kidde,…). It was incredibly inexpensive ($34 on Amazon Prime), but I had some challenges getting it going (see below); it’s saving grace is that Wink tech support is the best I’ve ever encountered.  More than once during the first week of ownership, I was ready to ship it back to amazon, but each time, a call to support quickly solved my problem and left me enthusiastic about Wink; they answer the phone right away and their techs are patient, knowledgeable, and get the problem solved quickly; I’m impressed.  If it continues to work well, I’ll buy their newer Hub2.

I installed water leak sensors in the bathrooms and in the basement by the hot water heater and then added motion and door switches, light controls, door locks, etc..  The Z-wave devices work well, with long battery life, excellent wireless range, and very low latency.  So far I have the Wink hub working with:

As mentioned above, the Wink Hub has had some foibles too:

  • Initial Firmware Update was a bear; although my hub was brand new with a blue dot on the box, it needed to update its firmware and couldn’t do so using my access point.  Even though it was connected to the WiFi network (solid yellow light), it couldn’t reach the Wink servers (which would yield a solid blue light).  I eventually succeeded and it worked fine after that, but here’s what I had to do:
    1. turn off my wifi access point to force the hub to disconnect (blinking purple light)
    2. set up a cell-phone hotspot configured for 2.4GHz
    3. Run the wink app on another cell-phone and use it to configure the hub to connect to my hotspot and through it to their server (blink yellow->solid yellow->blink blue->solid blue)
    4. Allow the hub to download its new firmware (blinks all sorts of colors as it updates…when finished, it returns to solid blue).
    5. Turn off the hotspot to force the hub to disconnect (blinking purple)
    6. turn my wifi access point back on
    7. Use the wink-app to reconfigure the hub to use my access point wifi (blinks yellow->solid yellow->blink blue->solid blue)
  • Adding Devices: Initial paring of new sensors/devices can also be finicky; once a sensor is paired, it seems to stay paired and work well; the magic formula seems to be:
    1. use the wink app to put the hub in exclusion mode (blinking blue light)
    2. press the z-wave button on the new sensor once every second or two until the hub light turns green
    3. use the wink app to put the hub in incusion mode (blinking blue light)
    4. press the z-wave button on the new sensor once every second or two until the hub light turns green
    5. If the above doesn’t work, try power-cycling the hub and then trying again.
  • The Wink App: seems to stop working once in a while and I have to shut it down via Android and start it again.

Cheap Ultrabooks

Updated 8/2019: My daughter inherited the Acer CB3 and makes extensive use of it; I no longer have the Toshiba; it is still a great machine, but my over-50 eyes now need larger fonts than are rendered on a 13.3″ FHD screen.
—————————————–
I’m not a big fan of expensive laptops.  Computer equipment depreciates at a terrific rate and portable computers are subject to loss, theft, and damage so I want the least expensive machine that will do the job.  That said, I also want it to be compact, light, fast, and last all day on a charge (i.e. an ultrabook).  This may seem like a tall order, but I have found three solutions that I’m happy with.  All involve hacks:

Toshiba Chromebook 2

For MS Windows: The Toshiba Chromebook 2 Model CB35-C3350 has a Core i3-5015U with 4GB DDR3 and a 13.3″ 1920×1080 IPS display.  It’s meant as a Chromebook, but you can replace the internal SSD with a larger one (necessary for it to be useful and I had a spare 64GB M.2 drive on hand) and thanks to coolstar.org, you can install Windows, turning it into an excellent Windows ultrabook.  The main downsides are limited battery life (4-6 hours) and as I’ve gotten older, I find that 13.3″ screen is a little too small.  However, it is extremely portable, fast, sleek, and can regularly be found on eBay for $250-300.

Acer Cloudbook 14

Ultra-cheap-book: Ubuntu Linux: The Acer One Cloudbook 14 has only 2GB of RAM, a slow 1.6GHz Celeron N3050 processor, 14″ 1366×768 display, 64GB SSD, and 10 (real) hour battery life.  So other than the battery life, this is low-spec.  It’s woefully under-powered for running Windows and slows to a crawl as soon as you start doing anything with it.  Fortunately, it is better spec’d for Linux and once I loaded Ubuntu, it was surprisingly snappy and effective.  My old eyes appreciate the larger screen and the very long battery life makes it a great knock-around machine.  You can’t use it for for much software development: the big IDEs like NetBeans and Eclipse are too much for it, but most other apps run just fine.  It can often be found on eBay for $50-$100 and it’s tough to beat that for a thin, light, all-day laptop that’s practically disposable.

Gallium (Ubuntu) Linux: Last but not least is the Acer CB3-431 which is a 14″ Chromebook with a full HD screen (1920×1080), 4GB of RAM, 32GB eMMC storage and a quad-core Celeron N3160 1.6GHz processor; the case is aluminum and looks pretty snappy – an apple knockoff. This is my current carry machine.

Acer Chromebook 14

You can follow these instructions which use Mr. Chromebox to replace the BIOS and install Gallium OS (a great Ubuntu variant designed for Chromebooks) and turn it into a real linux laptop while keeping ChromeOS as a bootable option.  Because linux is relatively lightweight, even with LibreOffice, Slack, Thunderbird, Wine, EmBitz, Eagle, Oracle Java, NetBeans, Tomcat, Arduino, and a full gnu cortex cross development environment installed, I still have used only 50% of the Gallium root partition and it runs fast.  Battery life appears to be > 8 hrs.  Dual-boot has come in handy (it let me recover when a grub update prevented linux from booting) so I recommend it as well as setting the GBB flags as described in the instructions.

Note: if you update grub, it will ask you which partition to use: select the one that covers the entire disk (mmcblk0 I think), not just linux partition (mmcblk0p7).  If you select the wrong one (or both), it will not boot linux.  If you’ve dual-booted, you can reboot to chromeOS (ctrl D at startup screen) and recover.

If you are OK with (or prefer) linux on a light, inexpensive laptop, the Acer CB3-431 is a nice choice and is now the laptop I regularly carry.  It is commonly available “recertified” from vendors like NewEgg for $180 making it not quite disposable, but still very inexpensive. The main downsides are the non-expandable storage (32GB) and the lightweight processor, however I’ve found it extremely usable, all of my apps fit nicely and run at acceptable speeds.  Unfortunately, 1920×1080 is proving tough on my over-50 eyes, even on a 14″ screen.

So I’ve ended up with a Chromebook running Linux, another running Windows, and a Cloudbook running Linux…none of them running what they were intended for…weird!

What I’m still looking for is a thin laptop, less-than 4lb, 15.6″ screen with full HD, Core i5 processor, 8GB of RAM, 128GB+ of SSD, and 8hr+ battery life…for around $300.  Suggestions are welcome!

LG Ultrawide Monitor

There is no such thing as too much monitor…although I think I’ve come close this time.

I bought an LG 34UM69G 34″ ultra-wide monitor for the office from amazon for $215 on Cyber Monday. It has 2560×1080 resolution and is indeed very very wide (21:9 aspect ratio). It’s taking the place of another high-def (QHD) monitor with a more traditional aspect ratio.

When I first saw the box, I worried that it might not fit on my fairly large desk, but I was pleasantly surprised; the ultra-wide monitor fits nicely and looks great. The panel itself had no dead pixels and is very thin with almost no bezel so it looks and feels smaller than the 28″ monitor it is replacing. The base is elegantly designed, feels solid, installs with no tools, and has good adjustments for height and tilt. The internal speakers are good enough that I’ll get the external speakers off my desk; the width helps with the stereo effect.

The full resolution is obtained using the included (but somewhat short) HDMI 1.4 cable and it even works with my ancient Zotac GeForce 210 video card (something that needs to be upgraded soon). Overall, this monitor is a winner and provides a lot of screen real estate without making the text so small that my over-50 eyes have trouble. I don’t think I’d want anything wider or higher resolution (as that would cause text to become too small). Recommended!