ESP32: A Fatal Error

September 1st, 2018

If you get this message when trying to flash an ESP32:

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

You may need to reboot it while flashing so the computer will recognize it. You should be able to trigger a reboot into flashing mode by holding down the BOOT button and giving the EN button a press. Do this while the esptool is “Connecting…”, and it should connect and write with no issues. You may need to try this several times before the tool will see it and connect.

This is what a successful flash looks like:

# make -j flash
Python requirements are satisfied.
Flashing binaries to serial port /COM4 (app at offset 0x10000 )... v2.5.0
Serial port C:/msys32/COM4
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse
MAC: xx:xx:xx:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 21184 bytes to 12571...
Wrote 21184 bytes (12571 compressed) at 0x00001000 in 1.1 seconds (effective 151.3 kbit/s)...
Hash of data verified.
Compressed 138336 bytes to 68372...
Wrote 138336 bytes (68372 compressed) at 0x00010000 in 6.1 seconds (effective 181.4 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 103...
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.0 seconds (effective 1068.5 kbit/s)...
Hash of data verified.

Hard resetting via RTS pin...

Codility And Candiate Testing: Still Sucks

September 15th, 2016

Previously: Codility And Candiate Testing

I recently applied to another position which involved Codility testing. This time around, the questions were some sort of array split, a binary positive to negative number flip, and a knight position move algorithm.

Since my last write-up, Codility has made some good improvements to their UI. The code editor is much better than it was.

The rest of my beef still remains though.

Codility is not a good measure of a programmer, and it’s a great way to filter out good candidates such as myself. (I have 15 years using PHP. Hire me? )

99% of the work I do doesn’t involve anything even close to an algorithm, so the only reason for me to learn them would be to pass screening tests. That doesn’t really seem like something useful, does it?

BMF: A New Project

June 4th, 2016

I have a new project, in a completely new sector to me. The experience so far has been an interesting one, between researching the industry, and working out how and what I want to build.

Today’s challenge is figuring out how I want to write the code. I’m trying to hold a balance between work that won’t be too hard to clean up later, and work that won’t take me a ton of time now. This of course meant I had to decide between static classes, dependency injection, and some sort of factory. So far, static classes wins out, because it’s not a ton of work to do.

I’m sure I’m going to regret this decision later on.

Read a CSV file into columns

May 6th, 2016

This command will read a CSV file, and display it as columns. This also works on Windows if you have Cygwin installed.

column -t -s"," test.csv

Example CSV columns

OpenVPN Linux DNS Issues Solved

October 20th, 2015

I can now resolve things on my Raspberry Pi (Raspbian) thanks to a helpful post here:

WordPress - Entries (RSS) and Comments (RSS) - © 2011 Ben Dauphinee