Two weeks in one? What gives, Andon?
Well, last week I was waiting for circuit boards to arrive, and didn’t touch any coding. So there’s that update.
This week’s a little late (Note that I’m writing this on Sunday the 25th…), in part because I was doing a bunch of things early in the week and also in part because I didn’t get the circuit boards until about mid week.
It turns out, the ESP8266 is significantly more sensitive to things like trace interference and signal disruption than ATMega328s. I know, what a surprise. The ESP8266 is running at 160MHz, and the ATMega328s on the V2 run at 8MHz. A 20x increase in run speed affects a lot, and the boards had a few design things that, well, shouldn’t be done.
Between yesterday and today, I managed to, hopefully, isolate the problem, with GREAT thanks to MintShard on Discord. Mint ran me through several tests and questions, and I was able to figure out how to get the board to start reliably.
Prototype 4 has quite a few changes from Prototype 3. Primarily, the trace width has been increased from a hair above 0.2mm to 0.254mm, and spacing between traces has been increased from 0.1mm to 0.15mm. Wider traces mean clearer signals, and more spacing means that there’s less around the traces to cause noise on the lines. Additionally, several traces – Primarily, the backlight traces, the culprit for the issues I was having – have been re-routed and their components moved to avoid anything running parallel on both the top and bottom side of the boards. The Backlight traces were running parallel to the traces for SPI MOSI, MISO, and CLK along with GPIO0, and from what Mint and I could figure out, this was preventing the ESP module from reading its own flash reliably and thus, it wouldn’t boot up. The final change to P4 over P3 is that the single GPIO header has been split to two separate headers. This allows for fewer traces to make cross-board marathons, as the ESP pins are close to the ESP, and the ATTiny pins are close to the ATTiny. Two other changes were also made to the GPIO headers. First, as they are broken out in the ATTiny’s ICSP header, the I2C lines and ATTiny’s GPIO3 have been omitted from the other headers. If you want to use them, you’ll need to use the ICSP header for it, so plan accordingly. Additionally, the ESP8266’s TX and RX lines, along with the DTR and RTS pins for the CP2102, have been broken out. This is primarily for my own benefit, as my reflow oven (Or perhaps my solder paste) doesn’t like to reflow properly, making it next to impossible to solder the CP2102 onto the board. Instead, I’ve been using an external CP2102 board, but that requires a few things being hacked on in places that aren’t really a good idea. I’ve already pulled a pad off, but luckily it was still attached to the trace and soldering a new resistor on is holding it in place. For now.
In Non-DigiBadge related news, I’ve embarked on a bit of a personal project. It’s ended up being far more complicated than it really needs to be, but oh well, it’s been fun. I’ve purchased an RC tank off of Amazon, and am now completely gutting the thing and replacing everything. The original design had a super-weak airsoft “cannon” that wouldn’t be able to fire through wet toilet paper, so I pulled that out. I intend on replacing it with a laser of some kind – Maybe just a standard diode, but the potential for a higher powered, longer-range, and potentially baloon-popping/paper burning laser is there. I’m also working on making the turret rotate via a stepper motor, and I’m replacing the motors that drive the treads with motors that’ll allow me to put encoders on them. This will let me have better control of speed and steering.
Other modifications will include a longer-range transmitter/receiver, which can theoretically go up to 1-1.5 miles (In a straight line, nothing blocking, etc. You know how it works), along with a camera transmitter setup so I can see what the thing is doing a mile and a half away. I don’t actually expect to go that far, as there’s no sidewalks or other safely traversable things nearby and despite it being shaped like a tank, it’s tiny. It can’t go overland. Maybe in some recently mowed grassy areas, but it is most definitely an indoor toy.
Anyway, that’s all for these two weeks. I should be getting the updated PCBs later this week. We’ll see how terrible of a job I did on them as well. As always, you can catch me over on Discord, on Twitter, or on Facebook.