Weekly Update: April 29, 2017

So, this one’s a bit late. It’s also going to be a bit short: Nothing happened. That’s condensing things a bit, but is generally true. I had a tooth out (Stupid wisdom tooth… Maybe the other three will stay in line now!), which ate up my days off. My primary job’s schedule didn’t leave me a lot of time, either, and spring has not played kindly with my head. A bunch of factors led to nothing happening, but oh well.

I have received more parts to test with – Some diodes will let me experiment with the power enable pin and make sure that works as intended. I’ve received pricing and availability on the regulators (High to low) that I sent off, so I’ve picked the one I want and I’ll be integrating that into the design as well. Beyond that, I’ll be chipping away at getting the code back to a functional state, as the new TFT library doesn’t like everything I had in the old one. And since I don’t know which part of the old one it didn’t like, and the code can definitely be improved a lot, I’m just re-writing it all.

End-goal by the end of the week is to have another prototype design ready to be sent off. I’ll also be updating you on a simple side-project I’ve got going for a friend. It’s specific and niche, but I’m sure some of you will love finding ways to bastardize it.

And that’s it for this, ah, last week. See you on Saturday! Or, if you’re impatient, hit us up on Discord, on Twitter, and/or  Facebook!

Weekly Update: April 22, 2017

Oh man, another “late” one!

I’ve done a lot of things this past week. The prototype parts came in on Sunday, and I started fiddling with them on Tuesday and Wednesday. As of now, my prototype consists of a dual-breadboard setup with loads and loads of wires and about 90% of the prototype parts. I’m not using the NodeMCU ESP8266 breakout any more, as I have the ESP12-E module on a straight breakout, connected to all of the other components.

I figured out that the digital inverter I was using for the card detection on the SD card wasn’t quite up to spec – Instead of pushing a high signal with a low input, it went into high impedance mode. Thankfully, there’s an inverter that does exactly what I want to do, made by the same manufacturer and with the same footprint and pinout, so it was an easy replacement.

I also discovered that with the way the digital potentiometer works, I have to hook it up to the cathode(s) of the backlight LEDs, instead of the anodes. This meant a bit of re-wiring for the PCB, but that’s not a terribly big deal. I did make sure the device itself worked, so I don’t necessarily need to have it hooked in to the prototype just yet.

In additional news, I’ve decided to put a simple linear regulator on the board, to drop 5v down to 3.3v, either from a USB or outside source. The device is inexpensive, so it shouldn’t have a significant effect on the price of the device.

Speaking of price of the device, I’ve done some research into packaging! I was originally going to try to be extra cheap and try to get a simple box with a cardboard wrap around it that had the art/design/whatever printed on it. Then that was a bit pricey, so I though using stickers would work. Then that was also a bit pricey, so I looked into full printed boxes, and they’re a little more expensive – But totally worth it.

As far as expenses are going, the V3 badge is a bit pricier than I hoped, but ultimately this helps me a lot. Once the design is worked out, I can simply e-mail the manufacturer and have them produce a bunch. And with a printed box, packaging, shipping, and storing is a lot easier for everyone involved. Overall, it saves me a ton of time – And as they say, time is money. It’ll mean the turnaround time for conventions and the like will be a lot lower, allowing me to go to a lot more – And the more conventions I go to, the more sales I have, which means I can build up money reserves, which means I can build up stock, making me able to go to more conventions… You get the picture.

That wraps up this week. As always, you can join us on Discord, on Twitter, and  Facebook. Until next week!

Weekly Update: April 15, 2017

It’s time for another round of Good News, Bad News!

Let’s jump right into things. The first set of Good News is that soldering the QFN chips was actually pretty easy with my reflow oven. I just made the board look a bit nasty with the flux. That, combined with a bunch of hand-soldered parts, had me connected to the chip fairly quickly.

It went downhill from there, however. There’s an issue with the circuit board design, and the result is that the ESP module can’t be programmed. That is more than a bit unfortunate. I’m still tracking down the exact problem, and the prototype parts for that have been ordered and should be here on Sunday. Hopefully, I’ll have it squared away fairly quickly and will be able to put in the modifications I need to get the board working. I also noticed a few other issues that will need to be addressed with the board, so those will be fixed from there.

In more Good News, MintShard on Discord mentioned a speedy TFT driver for the ESP8266. Testing it out showed some great improvement to the programmed badges – The Adafruit libraries took about 750ms, give or take, to display a badge. After a few tweaks to the eSPI driver, it was displaying those at about 45ms.  That’s something like a 94% improvement in speed. It wasn’t perfect, though, as BMPs didn’t load well at all. They weren’t positioned correctly, and the colors were several types of wrong. And they weren’t any faster, either, taking about 1600ms instead of 1780.

I poked around a bit, and found the author of the driver also had a JPEG Decoder. And boy, is it great. The V2/V1 aren’t capable of running the code to do it, but the ESP8266 on the V3 is, and that’s one of the reasons I chose it. Testing showed it was much, much faster as well. Two JPEG images I tested it with displayed at 509ms and 265ms. As JPEG images are compressed, the speed will vary from image to image, but that’s still about a 70-85% improvement in speed. Additionally, being JPEG compatible makes it a lot easier for end-users to put their own images on the device. I haven’t checked to see if there are restrictions on JPEG image types like there are on the V1/V2 BMP restrictions, but I haven’t seen anything indicating such.

I’ll still be looking in to seeing if I can fix the BMP display with the new driver, but that’s honestly a low priority. Right now, I’m mostly concerned with figuring out the issues with the board and resolving those as quickly as possible.

As always, you can join us on Discord, on Twitter, and  Facebook. Hopefully, next week will have some updates on figuring out the board issues, but I’m not going to guarantee anything.

Weekly Update: April 8, 2017


Some important updates today, although not the ones I had really wanted. There’s a little hiccup that I’ve come across, but although it slowed me down, it won’t be terribly problematic.

First up: I received the first V3 prototype boards! They look fantastic in the new black silkscreen I chose, and I immediately noticed some a problem: The outline for the screen is slightly off where it should be. This makes it not line up properly at all with where it should be. Only by a few millimeters, but at this board’s tolerances, that’s a lot. Additionally, the milling that made room for the backside of the screen’s flex connector is a bit too small. It needs to be a bit taller, and nudged a little bit outwards. Things like these are why you prototype. Additionally, the buttons are a little smaller than I expected. This may need to be addressed by moving them a little further away from the board, but I have to assemble one completely first to see.

And speaking of assembly, the hiccup. Soldering the QFN chip will be a few types of interesting. It’ll be possible, for sure, but it won’t be easy. These connectors are tiny! I’m going to try hand-soldering one chip, but I’m expecting to have to use my reflow oven. Unfortunately, this is a very critical component, so I can’t just skip it and assume it works. I’ll be heading to my lab shortly to start working on these, and odds are I’ll be posting about it on the usual channels as soon as I get it working – Provided I haven’t completely screwed up in the design.

So long as everything works together, I’ll be able to get all of the components working together code-wise, and be able to adjust the PCB for a better fit. If things need to be moved around, I’ll go for  a second prototype. Otherwise, I feel comfortable enough that I should be able to order the first batch if it’s only the screen needing adjustment.

As mentioned, I’ll probably be posting results of testing as they happen on Discord, on Twitter, and possibly on Facebook.

Weekly Update: April 1, 2017

Hello again!

This week was, for the most part, uneventful. Early in the week, I received the ADCs and a benchtop power supply to test/break them with. I have to say, I’m loving the MCP3021 library that I found. It has a built-in function to return the voltage of the ADC, and since I’m using it to monitor the battery, this is perfect. It also means that updating the code to include it involved only six lines of change.

After ensuring the device was working, I took it over to the power bench and found out how high I could take the ADC pin before releasing the Magic Smoke. Turns out, it’s a little over 18v, more than 3x the recommended operating voltage of the device. Plugging the device back in, it surprisingly still “Worked” – Although the ADC pin was fried, it would still generate spurious data occasionally. After soldering another ADC together to the testing board, I put the ADC pin on a constant 3.3v with the input voltage for the ADC disconnected. At that point, I left it on and went to do other things – Played a bit of Mass Effect: Andromeda, along with helping my father set up protection for some seedlings so the birds don’t tear them apart. About 8 hours later, I pulled the device from the power supply, tested it, and it still worked like a charm. So, thankfully, the ADC circuit doesn’t need to be modified to protect it.

In other news, I’ve decided to leave PCBWeb behind for future designs. Due to the amount of work I’ve put in to the V3, I’ll still be using it to finish off this design (And probably several revisions), but I’ll be teaching myself KiCad to replace it. Now, I’m sure you’re going to ask why, so here’s the answers:

First and foremost, PCBWeb lacks a number of features that are incredibly useful in designing PCBs. While it’s easy to learn and use, it lacks advanced things such as being able to cut holes into a circuit board like what is needed for the ribbon connector on the V3 screen (So the screen will sit flat), and its outline is either an all-angle design or a circle. There are no options for rounded corners, of all things! There are numerous other things which I’ve never needed, but I’m sure I’ll find useful.

Beyond that, and the direct impetus to switch, is that they switched from a DigiKey Library to an Arrow Library. Before I go much further, I’ll say that it’s not the library switch that irritated me, it’s how they did it. There was zero warning – I even searched their website, twitter, and Facebook for any hint of it and found nothing. Additionally, this update meant that the 250+ part library that I had hand crafted needed to be updated with Arrow part numbers. Manually. And when I went to pull DigiKey Part Numbers from them, they had all been removed. Now, the Manufacturer’s Part Number was still there, but in many cases DigiKey has multiple products for the same item – Different packaging options, along with things like buying the whole reel vs individually. It’s nice to know which one of those I had selected.

Hopefully, early next week I’ll be getting the first prototype boards of the V3 and will be able to assemble and test them. As always,  feel free to join us on Discord, on Twitter, or on Facebook.