ESP32 Programming

With the many number of ways to develop on the ESP32 I wanted to find the clear choice for my needs.  Below is my take on the situation, and my choice.


Bare Bones ESP-IDF

The ESP-IDF is the development kit provided by Exspressif itself.  It works great, gives you access to all the features and functionality possible.  But…  It’s C, so unless you are a C whiz, it’s probably not the best choice.

For IDEs, you can use it from Eclipse easily as well as from the command line.  It comes with lots of examples as well.  Many other development platforms for the ESP32 use the ESP-IDF at their core.

For example, all of these systems deploy some kind of operating system as part of the flashing process.  I suspect that it is usually the FreeRTOS distribution that is in the ESP-IDF, but I don’t know for sure yet.  The exception is definitly Simba, Simba is it’s own RTOS.

Arduino IDE

As always, the Arduino IDE is there, and works.  However, access to BLE isn’t built into the Arduino dev kit for ESP32 yet.  If you know Arduino it’s probably your best bet for getting things up and running.


NKolban has started work (and is pretty far along) on a javascript based dev environment for the ESP32.  It sounds pretty sweet, the bare bones are on the esp32 to get it booted up, and in the background it uses the Duktape javascript interpreter / compiler which he says compiled almost seamlessly with the ESP-IDF.  Once you get the binary loaded onto your esp32 it starts a webserver and you can write code on the esp32 using the built-in javascript ide via a web browser.  Unfortunately it looks like he hasn’t worked on it in a while, maybe there is a fork that has progressed?  But it doesn’t look like it.

Mongoose OS

Is quite nice, but you have to pay for it…  Bummer.


While this appears to work, I find confusing and difficult to use.  I am sure if I got over the learning curve I could get into it, but for now, I’m exploring other options.


There appears to be a number of MicroPython tools for the esp32.  Here is a short list:


Simba is a tool that provides a common platform that Applications then run on.  Think of it like a very stripped down Linux for the esp32 (actually, consider it a RTOS for different micro controllers since that is what it is.  Although the platform could be language agnostic and there is Pumbaa, which is a tool to run Python on Simba.

Similar to the ESP-IDF, Simba can run on it’s own or in the Arduino or IDEs.

Simba looks interesting but I don’t grasp the benefits yet, other than the write once, run in many places part.


MicroPython on top of Simba.






Simon Sinek – NOBODY Wins

Simon Sinek gives a talk you can find here:


TLDR – Don’t play to WIN in business.  It’s an infinite game not a finite game.  Don’t play for tomorrow, play for 5o years.  Don’t think of battles, think of the war.

Example – Simon said that during the Steve Balmer days at Microsoft, 100% of managers spent 70% of presentation time talking about “How to beat Apple.”  Whereas at Apple, 100% of managers spent 100% of time talking about how to help teachers teach and students learn.  Apple was/is playing the infinite game.  Microsoft was playing the finite game.

How does this apply to me and Novak Solutions?  Build a strong leadership team.  Teach employees how to lead.  Look towards the distant future (of which the near future is part of) and plan for that.

The Caterpillar 3126 Engine

This is a summary post of a bunch of research I’ve done….  Hopefully it is a reasonably accurate distillation of many many hours of research.  Everything in this post is based on hearsay (i.e. internet forums posts) so take it with a grain of salt.


Here’s the thing, even though the 3126 is bad mouthed all over the internet there are thousands, and likely 10s if not hundreds of thousands of these engines around and still in use.  If they really were THAT BAD there would be a lot more first hand accounts online.  My conclusion is that I believe the 3126 is a very good engine.  If you try to use it for a heavy duty, continuous duty cycle application you’ll be disappointed.  But if you are just using it in your RV, and you don’t have a lead foot, I think you’ll be just fine.


The Caterpillar 3126 engine is a CAT engine that was used for light and medium duty uses.  It was used in everything from boats, cranes, over the road trucks and ambulances to RVs and buses.  It is based on an earlier design (3116), and when it was retired, the CAT C-7 was based on it and was it’s replacement.

I found a lot of diesel enthusiasts and truckers who really slammed the engine.  Said they didn’t last, would have cracked blocks, dropped valves, etc…  The marine community said similar things, but I could only find one instance of an RV user who said they had to have the engine replaced at 69k miles.

Now, CAT builds good stuff so what’s the truth here?  I think it is the following…

Why does the CAT 3126 have a bad rap?

The 3126 is based on an earlier engine (3116), it appears that earlier engine had some bad problems and this started it out on a bad foot.  I read some posts saying that the early 3126 blocks were weak, and cracked frequently (Something about a french foundry making bad castings) but I think that was actually the 3116 and CAT pro-actively recalled those blocks.  Also, there are some stories about dropped valves (when a valve in the head of the engine comes loose or breaks and gets repeatedly smashed in between the piston and the cylinder head (not good)).  CAT being CAT they took care of their customers and replaced a fair number of engines (I don’t know how many, but my rough estimate would be somewhere between 2 and 5 percent of the early marine engines (but, that is totally a SWAG.  I suspect it is actually less, but I have no idea).  How come they seemed to fail more in Marine use?  The engine is rated all over the map, from 170HP to 300+HP.  Same block, but with a combination of parts and / or ECU programming CAT can make it perform differently.  A company called Sea-Ray put pairs of the higher power Cat 3116 and 3126? in some of their boats, from what I read to get the boat up on a plane you had to run the engines at near 100% power and past what seems to be the normal redline.  I read somewhere that a user had to run 2800+ RPM, but 2200 RPM seems to be the typical redline for these engines ( .  A LOT of these engines failed and were replaced under warranty, I even read an account of an account where CAT replaced both engines in a boat twice.  CAT seems to have gotten this issue solved, but not before the damage to the engine’s reputation had been done.

Also, it seems like the CAT 3216 engine was used in a few heavy duty applications where it just didn’t quite have the power to do what was asked of it and a larger engine should have been chosen.  People whose experience with this engine is limited to Heavy Duty use (Truckers) also think they are under-powered and trash.  (Hint, if someone thinks something is under-powered it probably also means they were running it very very hard in an attempt to get enough power for the job.)

What’s really bad about the CAT 3126?

It seems to me that CAT got the weak blocks and dropped valve problems squared away quickly, but there are still 3 “Defeciencies” in this engine.  These aren’t really deal killers, and I don’t think they are bad, but people should be aware of them.

The engine is a “parent block”

This means that unlike most heavy duty diesels (remember, this is a light to medium engine anyways, not a heavy duty engine) the cylinders aren’t pressed in sleeves (aka wet sleeves).  Instead they are machined in the block.  In a wet sleeve engine, with the engine still in a vehicle you can press the cylinders (sleeves) out of the block and press new ones in to replace a worn out cylinder.  This means that when the engine is worn out, if you want to rebuild it, you pretty much HAVE to remove it from the vehicle.  CAT does make a sleeve kit for the engine, so you can still “replace” the cylinders but afaik it can’t be done in the vehicle, it has to be removed, cylinders bored out and new sleeves pressed in.

This doesn’t really impact most users at all.  It just means that when you get to 200k or 300k miles expect a large bill to rebuild the engine.  (Again, not good for a trucker).  Probably fine for a Crane, Fire Truck, RV, etc…  See –

New HEUI Fuel System caused erratic behavior if oil isn’t maintained

This is a very very minor issue.  CAT used a new fuel injection system called HEUI to allow computer control of the injectors.  A HEUI injection system (also found on Ford Power Strokes, as well as other engines) uses a second oil pump to boost oil pressures to 1500+ PSI (I don’t know the maximum) and essentially use the high pressure oil as hydraulic fluid.  And the computer would control the high pressure oil which then controlled the injectors.  This allowed CAT to do some really cool stuff, like make the engine run much quiter, better cold starts, more power, better fuel economy (and that is really true, not just a marketing thing), better emissions and possibly more.  However people would have problems if the oil wasn’t properly maintained.  (Atleast, that’s what I heard).  There was also a small possibility that a failed injector o-ring could get fuel in the oil system but I only heard of a single occurrence in passing about this and I don’t know if it was common, or even pertained to this engine or not.

I’ve also heard that the HEUI fuel pump can go out, if you have an older engine (2002ish and older) the pump is cheap ($1k) if you have a newer engine like a C-7 (not sure if they ever put the new pump on the 3126 or not, but I know the 99’s I looked at had the old pump) it costs more around $3k.

Again, not a huge deal, like any engine take care of it and it will take care of you.  CAT brand filters are some of the best of the best and they are cheap for the quality.  I think CAT wants people to use them so they have fewer warranty claims, they could charge $50  apiece, but instead, they are around $11.

ECM Problems

Because the engine is controlled by a computer, sometimes the computer dies.  Personally, I think they should be able to build them so they never die but they don’t.  I’ve heard that sometimes if the engine isn’t starting you can pour ice water on the ECM to get it to work.  And on a unit I was thinking of buying a previous repair invoice said the tech’s tried to put it in the refrigerator for a while to communicate with it but couldn’t.  (If they can communicate with it, they can “clone” it to a new one, if they can’t, they have to look up options and make sure the new one is programmed right… so they really really want to be able to talk to it).

If your ECM goes bad, it’s a $3500 repair at CAT.  BUT, it’s fairly easy to replace yourself, and a rebuilt ECM only costs $1k.  If you are going to put a lot of miles on one of these engines or you run a fleet that has them I would definitly buy a used / rebuilt one BEFORE you need it and have your current ECM cloned by CAT so you have a spare on hand and don’t rack up a large towing bill just to get your rig taken to a CAT dealer and for them to install a $3,5k ECM.

This is not an issue that is just for this engine, or to CAT in particular.  ECM’s go bad, I just think $3.5k for an ECM is a bit much to pay.

So what’s good about the CAT 3126 Engine

Here’s the thing, even though the 3126 is bad mouthed all over the internet there are thousands, and likely 10s if not hundreds of thousands of these engines around and still in use.  If they really were THAT BAD there would be a lot more first hand accounts online.  My conclusion is that I believe the 3126 is a very good engine.  If you try to use it for a heavy duty, continuous duty cycle application you’ll be disappointed.  But if you are just using it in your RV, and you don’t have a lead foot, I think you’ll be just fine.

Economy of Cars – Cost Per Mile

I go through a lot of cars…  I buy them cheap.  Drive them till they die, or I flip them for a profit (flip as in sell, not flip as in roll over).

For cars I don’t flip I like to think of the expense as cost per mile.  Here are 4 examples.

The Beater  – I bought a ’96 Geo Prizm about 4 years ago from a friend.  It cost $300.  It was over-heating, and I dropped about $1500 in parts to essentially refurbish the engine (all new belts and hoses, water pump, head gasket, head job, radiator, etc…  Everything but the bottom end.).  So far, I’ve gotten about 60k miles out of it.  That means I’ve spent $1800 on it, and gotten 60k miles.  That makes for a cost of about $0.03 / mi.  Then you add gas, which due to high gas prices, and bad gas mileage comes out to about $0.13 / mi.  For a total of $0.16 / mi.  That doesn’t include some regular maintenance (tires, and a few minor repairs) since the purchase of the car.

The New Car – Lets say you buy a new car, and drive it for 100k miles and then trade it in.  A 2016 Honda Accord starts at $22k, but you’re probably going to get some options (like power locks, etc…) and drop closer to $30k after taxes, title, fees, etc…  You get 100k miles from it, and when you trade it in, you get $5k for it (I don’t think anyone gets $5k on trade-in for a car with 100k miles, but we’ll be generous).  That makes the cost (without gas) $0.25 / mi.  Add in gas, at 35mpg ($0.08 / mi @ $3/g) and you are at: $0.33 / mi.

The Middle Ground – I have a friend who just bought a 2009 Toyota Yaris.  Total cost was about $8k.  The car has 70k miles.  The Toyota Yaris is a true economy car.  They last FOREVER.  He should get 200k additional miles out of it if he does regular oil-changes, etc…  And the only expensive repair he should have, is a clutch somewhere in there.  So, he gets 200k miles for $9k (assuming it will need a clutch).  That means he will end up paying  about $0.045 / mi without gas.  The Yaris easily gets 35mpg, and most of his driving is highway where he could get as high as 40mpg.  So, we’ll do $0.08 / mi just like the Accord.  Which comes out to $0.125 / mi.   Not too shabby.  Especially since 100k mi plus will be deductible for work.  Which at $0.55/mi comes out to $55k in tax deductions.

Fun Cars – I really like fun cars.  I’ve had 2 pure sports cars, an MR2, and an RX7.  Both were AWESOME, and it’s been a long time since I’ve had a fun car.  I recently found out about a really awesome, economical car.  The Hyundai Genesis…  Hyundai’s have come A LONG way in quality in the last decade.  You should be able to get 180k+ from a well maintained Hyundai.  The Slightly older Genesis Coupe comes with a 3.8l V6 that makes 300HP!!!  You can get one for about $10k with less then 100k miles if you shop around.  That means about $0.10 / mi.  Less then half the cost of the Accord per mile.  And twice the cost per mile of the Yaris before gas.  But 10x more FUN per mile :)

So, the next time you want to buy a car, do some quick math and figure out if it makes sense.

Disclaimer: No, I didn’t take into account regular maintenance, tires, brakes, fluids, etc…  But these costs are fairly regular.  In general, they get more expensive the bigger the car.  So, if you want to include these in your calculation, I would just add 20% to 40% to the gas cost per mile (bigger cars get worse mileage, just the way it is).


Do The Work – My Review

Do The Work is a masterful work by and for the Bi-Polar ADD artist in us all.  The author (Steven Pressfield) describes the 3 phases of any dream / project.  The Beginning, The Middle, and The End.  He encourages / tells us to start before you are ready (and I am, I’m not really ready to write this review, but I’m taking his advice).  Then, when we approach the middle, He has the courage to declare something we all fear to believe.  That Yes, the universe is stacked against us, and there will be LOTS of resistance in the middle, you just have to keep going.  I read a book a few years ago and the whole message of the book was. “If you believe, the universe will work for your good, and you can do anything.”  Which is total BS.  (Can you believe, one of the reviewers was Hillary Clinton, and she praised it? (there was some sarcasm in that last sentence)).  There is some truth to that concept, but it totally ignores the angry monsters of resistance that are doing everything possible to pull you back down to earth. Pressfield briefly touches on the powers of the universe to help you to your goal, but instead of emphasizing them, paints them as a source of assistance to someone giving it their all.  Like the fans spread across a marathon cheering you on, and telling you you can do it even though you are certain your lungs will explode if you don’t stop now.  He then talks about the Fear of the End.  And how you need to “just do it”, and finish the thing.  “A Damn the torpedoes, we’re going to finish this thing.”.  He wraps up the book with a few pages congratulating us for finishing, welcoming us to the exclusive club of people who did it, even if we didn’t get the results we wanted, we did it.

So what do I think about it?  Is the book true?  Does it work?  I would say absolutely yes.  I have been on projects where the whole team was devoted and sacrificed everything to make it happen, because they wanted to.  I have also been on teams where the boss forced everyone to behave in a similar way, making everyone miserable.  I’ve dove head long into things that if I had stopped to think about I would have talked myself out of.  I have enjoyed all of those experiences and learned a great deal, and accomplished incredible things in very short time periods.

At the same time.  I think there is a mental and emotional cost associated with the kind of dedication to work his book could be interpreted as trying to motivate.  Blind dedication, 20 hour work days, and never stopping to rest is why half of Manhattan is on Crack/Speed.  Yes, you can get tremendous things accomplished by just working non-stop.  However, how long can you keep this up?  Is it possible to work for a dream 20 hours a day for a life time?  I would say sure, if you want to go crazy.  How about 8 hours a day 5 day a week?  Easy.  How about 12 hours a day 6 days a week?  I would say yes, you can do that as long as you stop and take a break when you need to.  I also think the emotional and mental toll is less the more you believe in what you are doing.  I think the more you believe in what you are doing, the more energy you get back from the results you achieve.

He also talks about a pattern of Work, and then Reflect, and then Work, and then reflect, just don’t try to work and reflect at the same time.  I think this has been a big road block for my personal performance.  I always reflect when I work, and if I see any problems I halt until I figure them out. He is advocating don’t worry  or fret about the time you may loose making mistakes, or going down the wrong path.  You will learn from it anyways.  Just do the work, and then reflect and make changes if necessary.  I can attest to this.  I have started projects, even half way completed projects, and only as I finished great milestones did I realize I had made some errors in my initial design, and had I not done the wrong thing I wouldn’t have known how to do it right.

So, what am I going to do?  I am going to search more for something I believe in, find that thing, and then pour myself into it in ways I haven’t for a long long time.

Making a USB OTG cable for the Nabi Tab / Dream

Nabi has their own proprietary usb plug for many of their tablets.  I ordered a Nabi big tab 20″ for a display at work, but I needed to connect some usb peripherals to it.  I assumed it had a standard usb micro port so I didn’t order an out of stock Nabi USB OTG adapter.  Doah…  USB OTG is really simple.  There is a 5th pin, and when it is tied to ground, the device knows it should be a USB host instead of client.  (aka, when that pin is tied to ground, you can plug usb things into it, instead of plugging it into another computer).

Here is my instructable if you need one of these yourself.


Easily Download General Conference Talks

The LDS Church recently changed their website, and it is more difficult to download talks now.  I wrote this quick User Script (I recommend the Chrome plugin “Custom JavaScript” to use it.).

Here is the code, just paste this into the box after you install Custom JavaScript and click on the blue “cjs” in your toolbar.  Then click save.  Now, any page with an audio file that can be downloaded will have a “Download” link added to the nav at the top.  right click, choose Save As, and violla!

     '<li class="pf-joshua__menu"><h3 class="pf-joshua__menu__heading"><a href="' + jQuery(this).attr('src') + '">Download</a></h3></li>'

God is Evil because he let’s bad things happen??

Recently I heard one of my favorite YouTube stars go on a rant about how there is no God.  His argument was that people die of starvation in Africa and thus God either has no power to stop it or chooses not to stop it and is evil himself because he chooses not to.  His argument makes several presumptions.  One of which is that there is no possibility that he has the power, wants to act, but chooses not to for good reasons.

Religion is a very touchy topic which frequently brings on flaming, and a heated debate.  I do not wish to incite such a thing, not am I trying to convert anyone.  Rather, I am trying to explain a very difficult subject in such a way that people who are confused by it, or believe something because it is the only thing they have heard that makes since, etc…  may have a new perspective to consider.

Before I start into my rebuttal to his statement.  I have to try to explain my perspective.  First, I am Mormon.  Some of the doctrines we believe are critical to understanding our perspective.  I’m a pretty open minded guy, and as I continually consider the entire body of Mormon Doctrine as I know it, and weigh it against my own experiences and what I see in the world.  I haven’t found anything yet that doesn’t “fit” with what we call “The Doctrine of Christ”.

The first thing to consider is that in the dialog of God vs. No God our position is neither prove-able, nor un-prove-able to other people.  This is because one of the doctrines is that “ye receive no witness until after the trial of your faith” (Ether 12:6).

With the preamble out of the way.  On to the meat of my thoughts.

Mormons believe in the Plan of Salvation.  Which is:  We lived before we were born.  We didn’t live as amorphous ethereal conglomerates of fluffy stuff that God conjured up on a whim.  Rather, we believe that we are literal children of Heavenly Parents (yeah I know, it is different, but given a study of the bible, with this perspective, I think you can see how this position is tenable, and within the realm of possibility).  What do children do?  They grow up to be like their parents.  Now think about that for a second.  What is it like to grow up and be like God?  When people hear this, they frequently imagine things like the Greeks, and their belief in a Soap Operaish Dysfuntional collection of all powerful beings.  I can a-test, that is NOT what Mormon’s believe in.  I don’t believe you could even call Mormon’s Poly-Theistic.  We don’t worship multiple gods / deities.  We worship a single being.  While he has many words which you can use to represent him, the word we most commonly use is “Heavenly Father”.

So, let’s put ourselves in his position for a minute.  Your children are growing up, over a period of millennia / eternities.  One day they could achieve a position where they are heir to all you have.  Where you share all that you have with them.  How do you determine who has the discipline and patience to be trusted not to obliterate planets in a temper tantrum?

We believe that this Earth Life answers that question.  It is a time where with limited knowledge, and opposition in abundance we are tested to see what we will do.  When we feel the gentle subtle pulls of conscience to do what is right will we heed them, or will we ignore them?  Will we seek out those things that feel good, not in a temporal immediate sense, such as pleasure, and immediate gain, but rather, those less tangible things that are the subtle fruits of a life full of service to others.  The almost imperceptible tugs at our hearts.

To achieve this, it necessitates that this life has no obvious signs.  No giant billboards that float in the air, and glow with power we don’t understand, that say “God is Real, and He Loves You.”  However, to aid those that are seeking after good things, God does provide small crumbs, clues and hints that point the way.  Things that when looked at closely, just don’t quite make sense until you frame it within the “Plan of Salvation”.  That is why, (un-named YouTube star), God allows people to suffer, he allows evil to occur, because if he didn’t, it would not fit this Plan of Salvation, it would make all the suffering of the world, vain and pointless.  It would make this test, an invalid experience.  It’s not because he is impotent, nor because he is impassioned about his children.  Rather, similar to letting our own children fall and stumble so that they can learn, he has to let his children, and thus at times, the majority of the human race fall and stumble to make the test valid.  He cares, he cares deeply, however because of the laws he is bound to, and because of his love for his children he cannot act.  One of my favorite scriptures is Moses 7:28 – This verse comes after the great evil of the world is show to Enoch, specifically in the time immediately before Noah.  “And it came to pass that the God of heaven looked upon the residue of the people, and he wept; and Enoch bore record of it, saying: How is it that the heavens weep, and shed forth their tears as the rain upon the mountains?”

This explanation of why bad things happen to good and innocent people can be especially hard to accept for those who have had great evil perpetrated upon them.  There are other doctrines which comfort those which I didn’t touch on.

I, believe these things are true.  I do my best to make choices based upon these things and to do what’s right from my understanding.  Many members of the Mormon faith say things like “I know”, not just “I believe” because they have had this witness.  No, they most likely haven’t had the veil parted and seen God face to face.  But they have seen things, felt things, and experienced things to such a degree they can say with honesty “I know”.  I believ I can say with honestly that I know what I have written here is true.

While I’m expecting a cascade of comments such as “What about children in China?”  and “What about people who never heard about him?” and “I once knew a Mormon who did such and such…”  Most of these questions have good answers, but they aren’t one sentence answers, some of them aren’t even one page answers, but there are answers for most of them.  And if you really want to know the answer, and aren’t just shouting back in my face I may write up an answer, or point you to a good answer, there are lot of good answers on, and  If you recognize and feel those gentle tugs at your heart I mentioned earlier, I would encourage you to go learn more, and consider a new explanation for the source of those feelings.



The American People’s obsession with Crap.

Recently, the outside blower motor on our heat pump started to go bad.  It made a horrible noise on startup, and upon inspection, the bearings were going out.  I replaced it with the help of my good friend Bill McCain and afterwards cracked it open in the shop to see what went wrong.  I was expecting worn bearings, but I was ASTONISHED at what I found.

This motor DIDN’T HAVE ANY BEARINGS.  Instead, it had sleeves / bushings, and this crappy oil soaked felt that had disintegrated around them.  Upon further research, I found out that none of the smaller HVAC blower motors have real bearings in them!  This article here: has a good explanation of why.  There is no demand for them, because no one wants to pay extra for them!

User Jraef posted:

“I used to work for a company that as a side line, represented a mfr of muffin fans for enclosure cooling. They offered “maintenance free” fans and they offered ball bearing versions, which cost about 50% more. Nobody, and I mean NOBODY, bought the ball bearing fans. 5 years at that company, their sales of ball bearing fans was zero. The mfr was angry about it because they made more profit on the ball bearing fans and wanted our salesmen to push for the upgrade since they were made in the USA and the others were brand-labeled cheap imports from Asia. Didn’t matter, nobody wanted to pay extra for them.

That company eventually sold out to an Asian competitor and the US production was shuttered. So what I am saying is, we (as consumers) get what we collectively ask for.”

And he has hit the nail on the head.  We, collectively, don’t want to pay extra for better quality.  That is also why Walmart is putting small businesses out of business.  If we didn’t flock to their stores and buy their low-priced items, the smaller stores wouldn’t have disappeared.

To make it sound better, sleeves are advertised as “bearings”, and real bearings are marketed as “ball bearings”.  (Or needle bearings, etc…).