I used React Native to create a cross platform app to connect to my Air Quality Monitor. This app will allow me to view the real time measurements from my device.
I am contemplating replacing the screen completely with the native app. This will depend on how hard the implementation is.
The source code is on my GitHub.
Air Quality Monitor
I have been continuing my work on my Air Monitor.
While I wait for the dust sensor components I have been adding functions to the code base. So far I have added:
- switchable graphs
- user menu
- sensor warm up function
- persistent config storage using EEPROM
I will add WiFi next and maybe offline storage (SDCard).
[wpvideo KtUs8yTq]
Air Monitor


Utilising a MH-Z19B CO2 sersor, CSS811 TVOC sensor and a ESP32 micro controller this monitor displays a real time graphs.
It also has a companion Bluetooth app that connects to the Air Monitor to receive live updates of the values as well as a 24 hour graph of the CO2 concentration.
I designed and printed the case, as well as programming the micro-controller firmware plus the Android app.
Build your own here: https://www.thingiverse.com/thing:4126483
Souce code is here: https://github.com/wilyarti/dustMonitor
CO2 Air Quality Monitor with real time graph
I just finished building a CO2 air quality monitor using a TTGO T4 board and a MH-Z19B sensor.
I had to build the graphing function from scratch as there are no graphing libraries available for the Arduino/ESP32 ecosystem (that I could find).
The monitor supports the following features:
- CO2 and Temperature monitoring with 100ms updates (faster that the sensor)
- Real time graph with a 3 hour scrolling cycle
- Color codes for CO2 concentration levels
- Auto-scaling graphs
It is pretty much feature complete at the moment. The components are quite expensive but I am happy with the result. For less than $100 it has more functions that more expensive commercial products.
The case, source code and instructions are here: https://github.com/wilyarti/TTGO-T4-Air-Monitor
ESP8266 Weather Station with OTA updates
I designed and built two of these weather stations from scratch including the software. The micro controller used is an ESP8266. The data is uploaded to ThingSpeak.
View the live data from the Broome, WA and Emerald, QLD weather stations.
Download the 3D files here and print your own.
Download the source code here.
Channel Grapher – ThingSpeak Data Plotter/Grapher
This app is written in ReactJS and uses ChartJS for plotting:
It is highly configurable and supports most of the operations available in the ThingSpeak API.
The back end is written in Kotlin and uses the Ktor web framework.
Global Amateur Weather Station Locator
This app is written in ReactJS and uses the Google Maps API to draw the maps.
The back end is written in Kotlin and uses co-routines. The database used is MySQL. Use app here.

Ketonix Breathalyzer Linux Port
I have successfully ported the Ketonix to work on Linux! So I can now check my breath ketone levels on my Ubuntu machine.
I have also changed it to use ThingSpeak and delete all the bloat I didn’t like in the app.
Feel free to give it a go.
How to study to pass the CCNA exam (Cisco Certified Network Associate)
This is the most important question when setting out on your CCNA journey. How will you ensure you will pass.
Here are my tips to help you succeed.
Stick to the fundamentals
Master the basics of the CCNA topics:
Subnet masks
You need to know off by heart the IPv4 subnet masks. Use my Anki flash card deck to help you remember them all. This is essential to speed up your problem solving and question answering times during the exam.
Wildcard masks
You will need to learn and master subnet masks first. After that learn wildcard masks, you will need to know them to solve the live sim questions in the tests.
Hexadecimal to decimal to binary conversion
If you know how to easily and quickly convert binary to decimal then to hexadecimal you will be able to more quickly solve issues with routing problems and exam questions.
Also it is the foundation of programming and computer science and will serve you with other endeavors.
Cisco CLI
Build a lab! Start up a Linux or BSD instance in the cloud and configure private networking! Install Quagga/Bird flex your Cisco CLI skills.
You will need to enter hundreds of commands until you get the “flow” of the Cisco CLI. When you are under pressure in the exam environment this will be very advantageous.
Routing Tables and Troubleshooting
Learn about the routing table in Linux or FreeBSD and compare it to the Cisco system. Install static routes in your home DSL router. Build private networking in the cloud to your home computer, setup multiple networks in your house and get routes working between the two subnets.
Daily practice
30 minutes per day is better than the entire weekend. For some reason your brain only starts to take notice if you do something everyday.
Learn how to insert CCNA study during your lunch break, on the way to work or while doing the dishes. Don’t just read a book, try to do something practical each day.
Computers are powerful enough to build an entire network and run it on your machine.
Build different networks consisting of routers and switches using GNS3 on your laptop when on your lunch break like I did!
Listen to podcasts
I still listen to the Packet Pushers podcast weekly! You should too. When I first started listening it all sounded like mumbo jumbo and I had no idea what was going on.
Nowadays I understand most of what they are talking about! This is a great way to keep your mind on the topic and hear people talk about something that may be really lonely to study.
Start building now!
Impress your friends, family and your wife with your new found networking super powers! A few cool projects I did:
- DIY VPN
- Proxy server
- Private home network
Learn using different modes
Learn by reading, writing, listening and doing.
Learn by revision, comparison, deduction, problem solving and teaching.
Flashcards!
Do flashcards every day. Put down Facebook. Don’t put down your phone. Install the Android Anki App and install my decks:
Annoy your wife
Bore her to death! Explain various routing technologies, network topologies and device types. Try to explain STP!
Do not deprive people of this very important information, they need to be informed; in-depth and regularly.
Apply for jobs
Prove that you are serious to yourself and employers. A job that I eventually turned down was actually the main reason I pushed myself to pass the exam after failing the first time. The employer said:
“Call me when you get your certification.”
I got the certification and the job offer!
Learn around the topic
Learn similar things.
I learned:
- Perl
- Golang
- Android programming
All to avoid studying for my CCNA…..
Put your procrastination to good use!
Hacking my Ketonix
Well I managed to get the Ketonix App to run on my Linux laptop after extracting the executable file and updating the libraries to the latest versions.
Turns out it is written on Node.JS with ChartJS and NWJS. It connects to the Ketonix using node-hid.
Very happy performing my first hack 🙂 Now I can use my Ketonix on my Linux laptop.