How I Adopted a Ubiquiti Unifi Security Gateway on my Existing Home Network

Ubiquity Security Gateway

Hey Karl here with a quick write up on how I adopted a Ubiquiti Unifi Security Gateway (USG) into my existing home network. I ran into a few issues so I wanted to share and hopefully help someone else. I have had 2 Unifi access points cover my home for several years now and I recently upgraded my internet to 100 Mbps. I was maxing out at about 95 Mbps with downloads on my existing 100 Mbps Linksys router and I knew I was leaving some bandwidth on the table. Spectrum is my internet provider and I have always got more than what I paid for. I placed an order on Amazon and 24 hours later it was delivered. I have a couple of things that made this challenging. First I run my network on a 10.0.0.1/24 subnet with devices that have static IP address and I host my own Unifi controller and don’t use the cloud version. I also …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

PicoLibC is a Lightweight C library for Embedded Systems

PicolibC

Well-known developer,  Keith Packard has recently announced the launch of “picolibc” through his blog.  Picolibc is a C Library for embedded systems which  is suitable for small micro-controllers, and this standard C library API’s allows to run even in low memory (RAM) devices. This is an upgraded version of “newlib-nano” with few interesting changes which includes replacement of “stdio” lib with ATMEL-specific printf code adopted from avrlibc. As part of this library, Keith also launched picocrt,  which is responsible for initializing memory and invoking various constructors before calling its own C program, the main function. Features picolibc is a revised version of newlibc, without full-fledged stdio lib and uses lightweight stdio lib from avrlibc, which is more suitable to low memory embedded devices. Meson build-system eases the build process of picolibc source tree for various target platform and hardware. Updated the math test suite to use Glibc as a reference The library is BSD licensed, and non-BSD components were removed …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

How to Easily Calibrate Retraction in 3D Printers

Retraction Calibration 3D Printers

Hey, Karl here with a short article on retraction tuning. I really enjoy reviewing 3D printers and all things 3D printing with one exception…. when I have to calibrate retraction (aka retraction tuning). It takes so much time. What is Retraction? While 3D printing on a standard FDM printer, the filament is pushed with an extruder motor that has a gear attached. It pushes the filament, either directly into the hotend assembly or through a Bowden tube to the hotend. Molten plastic is then layered to produce a model. When it is printing nearly all prints require non-extruding movements. During the extruding moves pressure builds up and in order to stop stringing and blobbing during non-printing moves, a retraction happens. There are 2 main variables that affect this: the speed it moves and the distance. In the past, I would take a calibration model and adjust these 2 variables and test. This can take a long time. First, I had …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

How to Sandbox an arm64 GCC on aarch64 Hardware with armv7 Userspace

Arm64 GCC Armv7 Userspace

CNXSoft: Guest post by Blu about setting up arm64 toolchain on 64-bit Arm hardware running a 32-bit Arm (Armv7) rootfs. Life is short and industry progress is never fast enough in areas we care about. That’s an observation most of us are familiar with. One would think that by now most aarch64 desktops would be running arm64 environments, with multi-arch support when needed. Alas, as of late 2019, chromeOS on aarch64 is still shipping an aarch64 kernel and an armhf userspace. And despite the fine job by the good folks at chromebrew, an aarch64 chromeOS machine in dev mode ‒ an otherwise excellent road-warrior ride, is stuck with 32-bit armhf. Is that a problem, some may ask? Yes, it is ‒ aarch64 is the objectively better arm ISA outside of MCUs, from gen-purpose code to all kinds of ISA extensions, SIMD in particular. That shows in contemporary compiler support and in the difference in quality of codegen. Particularly with the …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Getting Started with ANAVI Gas Detector Starter Kit and Home Assistant

ANAVI ESP8266 Gas Detector Display

ANAVI Gas Detector is an ESP8266 based board designed for MQ gas sensors supported by Arduino. This allows you to easily monitor air quality, or more accurately air conductivity using MQ-135 sensor as part of the starter kit either visually on the OLED display, or through your smartphone or computer using MQTT via automation platform such as Home Assistant. Leon Anavi sent me an ANAVI Gas Detector Starter Kit to have a look, and I’ll report my experience with the kit using it standalone, and through Home Assistant. Starter Kit Unboxing The kit contains the open-source hardware, ESP8266 based ANAVI Gas Detector board, a plastic stand, an OLED display, a USB to serial adapter, a gas sensor, and a few KiCad and ANAVI stickers. The board itself comes with an ESP8266MOD module, features a micro USB port for power, a reset button, four LEDs, a UART console, a 4-pin GPIO header, three I2C headers for sensors, a 4-pin connector for …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Getting Started with Sipeed M1 based Maixduino Board & Grove AI HAT for Raspberry Pi

Grove AI HAT Face Detection

Last year we discovered Kendryte K210 processor with a RISC-V core and featuring AI accelerators for machine vision and machine hearing. Soon after,  Sipeed M1 module was launched with the processor for aroud $10. Then this year we started to get more convenient development board featuring Sipeed M1 module such as Maixduino or Grove AI Hat. Seeed Studio sent me the last two boards for review. So I’ll start by showing the items I received, before showing how to get started with MicroPython and Arduino code. Note that I’ll be using Ubuntu 18.04, but development in Windows is also possible. Unboxing I received two packages with a Maixduino kit, and the other “Grove AI HAT for Edge Computing”. Grove AI HAT for Edge Computing Let’s start with the second. The board is a Raspberry Pi HAT with Sipeed M1 module, a 40-pin Raspberry Pi header, 6 grove connectors, as well as connectors for camera and display. The USB-C port is …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Reading ID Card Data in Ubuntu with EZ100PU Smart Card Reader (Thai ID Edition)

Smart Card Reader Thai ID Card

I was asked help with configuring a smart card reader on a government computer running Windows 7, but this made me wonder what would happen if I connected the card reader to my Ubuntu laptop and whether I’d be able to read content from a Thai ID card. EZ100PU Smart Card Reader Let’s have a look at the card reader itself first. It’s a FAST ID EZ100PU smart card reader compliant with ISO7816 standard. That’s the product page of the specific model, but a search for EZ100PU only reveals the manufacturer may be InfoThink Technology based on Taiwan. The USB smart card reader comes with a CD that includes drivers for Windows, Linux, Mac OS, and Android, as well as an SDK with a demo program and sample code in C++, Visual Basic .NET, and C#. As we’ll see further below, the Linux driver is not needed as it works out of the box. The design of the board (RX-N99B-2) …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Customize Amazfit Bip Smartwatch – Thai Language and Mickey Mouse

Amazfit Bip Watch Face Mickey Mouse

I’ve been wearing WeLoop  Hey 3S smartwatch for well over a year now, and I’m still very satisfied with it, but a small problem is that it does not support Thai language, so when I receive messages it’s just blank, or only shows the ASCII characters part of the string. There’s also no real community for this watch, so customization options are limited, and readers recommended  Amazfit Bip instead. I’ve writing about this, because one person I know looked for a smartwatch, and first wanted to get an Apple Smartwatch, but where I live it’s over one month of the minimum salary and around two to three weeks of a typical office salary. So instead I recommended the much cheaper Amazfit Bip after I was told the requirements were support for Thai language notifications, and custom watch faces in order to install a Mickey Mouse watch face, and both of which appeared feasible after a (too) quick search on the …

Support CNX Software – Donate via PayPal or become a Patron on Patreon