Weekly Update: March 25, 2017

Ah! I’m late! Totally forgot to write this on Friday, then yesterday had a few things crop up and didn’t have the time.

Anyway, what have I learned in the past week? Well, for one, of the four ESP8266 modules that I had bricked, none of them actually were. As it turned out, I had the wires to the screen in such a way that they were causing it to not start properly. Changing the wires (And the PCB itself) fixed that issue, so now I have four working ESP8266 prototypes!

This DID lead to an important lesson: The ADC on the ESP8266 only reads in on 0-1v, give or take. The boards I had used had built-in voltage dividers which I had missed. Thankfully, I spotted this after the Feather Huzzah I got ended up with weird readings. So, now the V3 has the appropriate voltage dividers. While I was thinking about resistors, I went and double checked – Turns out, I had also missed the I2C pullup resistors, so those have been added in as well

I also posted the preliminary files for the V3 onto GitHub. They’re a bit sparse, since they’re not finished, but if you want to toss code at me or point out circuit board flaws, I’m perfectly fine with that. In fact, MintShard on Discord pointed out a potential issue with the battery ADC – As it’s continually monitoring the battery voltage, the ADC pin will be out of spec with a much higher voltage than it should have when the device is off. To test this, I finally got around to purchasing a benchtop power supply along with some breakout boards and ADCs to test. I’ll figure out the breaking point for these things, and see if I have to modify the design of the circuit board to compensate.

I’ve also started the order for the first prototype circuit boards. Those should be here early next week, and at that point I’ll be able to put together and test the V3 design. If all goes well, it’ll work. But as the V2 and V1 have shown, all rarely goes well the first time.

On Saturday I’ll be putting up the results of the ADC testing, along with whatever else I manage to do this week. I’ll be honest, while there is still stuff I can do with the programming, a lot depends on the circuit board, so I’ve been playing a bit of Mass Effect: Andromeda lately.

As always,  feel free to join us on Discord, on Twitter, or on Facebook – See you next week!

Weekly Update: March 18, 2017

Greetings everyone!

Welcome to this week’s update. Like last week, it’ll be pretty short, since much of what I accomplished was destruction. What type of destruction? Well, three ESP 8266 boards in the span of just a few days.

The first one I managed to toast when trying to measure the power usage. I also learned that the multimeter I have for this doesn’t do it very well, so I’ll be looking into something to measure better. This happened on Monday evening, so I overnight shipped two replacements – A WEMOS D1 Mini, a bit smaller than the nodeMCU design I was using, and one identical to the design I had.

On Tuesday, a wonderful snow and ice storm rolled in and caused problems. I was out of power for most of the day (Not that I could fiddle with the prototype anyway, since I fried the board), and the shipments were delayed. Instead of getting them Wednesday, I got one on Thursday and one on Friday. I spent some time on Wednesday poking through packaging options (More on that later), and when I got the D1 Mini on Thursday, I set about making sure it worked properly.

Fantastic! It did! But the on-board voltage regulator wasn’t that grand, and the screen was having some issues. So I tried to supplement it with the breadboard power supply I have… Less than an hour after opening the box, I had managed to fry the board again. ESP8266 devices are really sensitive to higher voltages – I hadn’t connected the 5v to the 3.3v line, but apparently in the process of plugging things in I caused a spike of sufficient power to kill it. Oops.

Friday comes along, I get an absurdly large envelope for the nodeMCU board. I know this board decently well by now, so I plug it in, upload the sketch, and then plug it in to the breadboard. At this point in time, it’s dead. I honestly have little idea what could have caused this, but the serial monitor repeatedly showed the same fatal exception issue, which is unrecoverable as far as I can tell.

So later today I’ll be going down to MicroCenter and picking up an Adafruit HUZZAH feather board. Hopefully I won’t fry this one. I’m glad that I’m using two AAA batteries and boosting the power, though. Unboosted, the power still falls easily between the 1.7v and 3.6v that the ESP8266 requires, and boosted it’s at the safe level of 3.3v. There will be a “Raw” input, but that’s for hackers and if you fry the board that way, then that’s not my fault.

I mentioned packaging earlier, and while I’m not going to delve into specifics, it’s a lot cheaper than I expected. Things are likely to change, but it’s pretty simple so far. No custom molded interior, sadly, but the box will be tight enough, and the anti-static foam should keep them secure and stable.

The question I have now is with lanyards. I’ve previously found the most inexpensive lanyards I could get my hands on, and I have not exactly been pleased with them. They have a tendency to fray, and they also look cheap, which is not a good thing. I have the option of looking into higher-quality lanyards, which may or may not affect the price, custom lanyards, which would either be sold separately or would definitely affect the price if included, or simply not have a lanyard option.

You can leave your feedback via a comment here, on Discord, on Twitter, or on Facebook. And, as always, you’re welcome to join our discussions at any of those locations.

Weekly Update: March 11, 2017

Greetings, and welcome to another Weekly Update!

This one is going to be fairly short, as, well, not much has happened this week. I’ve have what should be an initial prototype design for the V3, but I have to test to make sure certain parts function like I expect them to function. I have a handful of screens and some PCBs for testing them on the way, along with a screen breakout from Adafruit for more practical experimenting. The screen that I ended up settling on is a 2.2″ screen, which you can purchase from Adafruit here, with a 320×240 resolution. It’s smaller than the 2.8″ I was hoping to use, but this is something the manufacturer can actually get their hands on – And for a decent price.

The new screen is a little larger than the PCB size of the Version 2, with the screen being 55mm x 40mm and the V2 being 53mm by 40mm. This pushes the V3 to a larger size – Which is actually a good thing, as it makes the images a bit bigger and easier to see. The preliminary size for the V3 is roughly 68mm by 47mm – 13mm wider and 7mm taller, being 3196 mm2 compared to the 2120 mm2 for the V2. Roughly a 51% increase in surface area. This has made my life a lot easier with placement of parts – There’s a decent amount of room to wiggle things around on.

I’ve also looked further into packaging, and have had some success. For the low volume we do, 100% custom packaging is out of the question, but there are definitely some alternatives we’re looking into.

Hopefully by next week I’ll have some news to report on the new screen. As always, feel free to join us on Discord, on Twitter, or on Facebook. See you next week!

Weekly Update: March 4, 2017

Greetings, and welcome to another Weekly Update. This one is a little later than I wanted, as I picked up a few extra hours at my main job and didn’t get the chance to write it yesterday or today.

I’ve had most of the prices returned for the parts I need for the V3. I can confidently say that the price for the V3 will be no less than $25, which brings me to my next point: The screen. The manufacturer CAN source the screen – For a cost far greater than I would pay for it. I’m not going to go into details, but the cost per screen is more than the entire cost of parts for a V2. Obviously, that won’t fly. I can find sources for them for significantly less, but that would mean either hand-soldering on all of the screens, or waiting for them to get here from China, just to ship them back to a different part of China.

So, I’ve gone investigating a different route: I sent them a different screen to look into – And this one is a bit larger. It’s a 2.8″ screen, and I think it’s close to double the size of the 1.8″ screen. This would be more expensive than the 1.8″ screen, but if they can source it for a reasonable price, it would make for an improvement in screen size. If this screen is sourced, I can say the V3 would likely be about $30 after additional cost for the screen and other equipment is taken into account.

As far as packaging goes, I heard back from one of the companies I inquired to, and their equipment and products are completely wrong for the job. They design for large, heavy parts – Like automotive equipment. The V3 is neither large, nor heavy. I’ll continue looking into what I can find.

Until next week!

Weekly Update: February 25, 2017

Greetings, everyone!

As part of trying to stay more visible, I’ve decided to do a weekly update. This way, you guys can see what sort of things I’ve done, even when there’s nothing major to announce. These updates will usually be written on Friday evenings, and posted on Saturday mornings. As my previous post was only two days ago, there isn’t too much to cover this week. That said, there are some things, so let’s get going.

I mentioned that the price for the V3 was not going to remain at $15. Now that I’ve had some degree of pricing for parts, I can give a rough estimate for total retail cost. Right now, it’s sitting at $20 to $25, edging closer to $25 and possibly a little higher. I wasn’t satisfied at the price of some of the parts, so I’ve sent the company who will be making the circuit boards and assembling the devices a few others, along with guidelines on what I’m looking for, if there is a different part they have available that’s compatible. I’m waiting to hear back from them about this.

I have also begun looking into seeing what would be needed for a retail packaging box. This would make everything look a lot better – And also make shipping a lot easier. I don’t know if it would be feasible with the current budgets I have, but it’s something to look into. There’s also the potential that such packaging would push the end cost up a bit. As I only sent out the early contact things a few hours ago, I don’t expect to hear back before early next week. And that’s just the super basic stuff – It’s hard to get specifics when the device isn’t even completely designed.

And, speaking of design, I have started working on the code end of things. At this point, it’s simply exploratory stuff – Seeing how easy turning the ESP8266’s wifi is, for example (Answer: Very easy). I’m also exploring some of the concepts, such as the menu and self-shutoff methods mentioned in the previous post. I’m excited for the posibilities the ESP8266 will bring. While the Wifi will be shut off both for battery purposes and for keeping the radio frequencies clear, the potential for expanded image formats is great. Additionally, for the tinkers and fiddlers, the wifi capability provides a huge bonus. Sparkfun has a simple wifi webserver setup that allows someone to connect to the device with their phone, computer, or other device and control the ESP8266. Something like this could be great for remote control of the V3, potentially even remote upload of images.

That’s it for now. Stay tuned for next week! As always, feel free to join us on Discord, on Twitter, or on Facebook.

After a long silence – V3 News!

Greetings everyone!

First, I must apologize for the long, long silence I’ve had. My primary job got a bit rough through the holidays, and then a combination of a lot of things led to me being generally inactive through January.

That, however, has ended.

First up: The V2 case is now available! Well, to be more accurate, it’s been available for a while, but since this is my first post here, I should mention it.

You can find the case on our shop – Or, for those more technically inclined, you can purchase the STL file and print it yourself. The only external hardware you’ll need is a 50mm long, 1mm diameter rod.

Yes, I realize there are still no images for the cases. I’ll be fixing that within the next few days, as soon as I can get my hands on an undisturbed spot with half-decent lighting.

Now, for some news on the V3!

First up, I’m just going to go ahead and say that it won’t be $15. While the ESP8266 is comparable to the ATMega328 in price, there’s a lot of other factors that go in to the final price. With that said, I can’t say what the final price will be, although I’m trying to keep it as low as possible.

Now, on to what the V3 will have. It’s a bit different than what I originally envisioned the V3 being, but all of this makes it a superior product. (For an abbreviated summary, scroll down. I get a bit technical)

The V3 is powered by an ESP8266 – Some of you may recognize this as a wifi-capable chip. This is true, but the wifi will be disabled via programming by default. It would turn conventions into more of a wifi mess than they already are. Additionally, the ESP8266 comes with an SPI Flash chip, of the same variety that I was planning on using anyway. This will allow for storage of settings between power cycles, in addition to anything users might decide to put onto it. The ESP8266 should also be capable of displaying more image formats than just the 24-bit BMP images, maybe including GIF animated images.

For power, the V3 will retain the two AAAs of the V2 and V1. Unfortunately, after looking at regulators, there weren’t any that would be able to provide enough power from a single AAA. They could get enough voltage, but if a few of the power-hungry devices such as the Wifi or SD card were going at once, it could easily overwhelm it. That problem doesn’t exist with two AAAs. Having a voltage regulator also removes the need for a dedicated power button – One of the three interface buttons can be made to do double duty as a power button. To do this, the regulator’s Enable pin is, well, enabled by the button, allowing power through to start the ESP8266. As soon as the ESP8266 starts, it uses one of its GPIO pins to enable the regulator. When it comes time to shut down, the device will be able to do it smartly – Saving settings, making sure nothing’s being read or written, and then turning off that GPIO pin, shutting off the regulator and the device.

In addition, the V3’s backlight isn’t powered directly from the microcontroller anymore. A lack of GPIO pins made this necessary, so a digital potentiometer running on the I2C bus takes care of this. And, to monitor both the battery and the buttons, an additional ADC is required, also running via I2C.

Between the SD card, the screen, the above listed I2C devices, and the power controller, every single one of the ESP8266’s available GPIO pins is used. However, there’s still going to be a spot for an expansion header. This will allow access to the +3.3v lines, the Battery power lines, the three SPI lines, and the two I2C lines, allowing for numerous expansion opportunities – So long as you have a little extra hardware.

The hardware changes don’t stop at the integrated circuits, either. The button design has been completely re-done. While useful from the perspective of space and a single device doing multiple tasks, the navigation stick was an absolute bear to work with for 3d printing the cases. The tolerances needed for making something that doesn’t need to be glued on are simply beyond the equipment we have available. So, the buttons are changing, again. They’ll be in the front of the device, for ease of use – Especially since they’ll be tied to a menu system as well. There will be three of them – Two directional buttons and one Menu button (Also the power button)

How will these work? Well, it’s pretty straightforward. While in badge, image, or slideshow mode the directional buttons will change the image or badge. In menu mode, they’ll change what’s currently selected. The Menu button, when pressed, will bring up the menu if in badge/image/slideshow mode. When in menu mode, it’ll be used to select the current item. Holding the menu button will cause the device to shut down as described above.

Due to the hardware changes and additions – Literally every piece aside from the screen and the battery case have changed – the V3 will be larger than the V2. How large, I can’t say as I haven’t finished the design yet. It will also include mounting holes, primarily for Alabaster to design a case around but also for anyone to be able to mount it in their own project.

Now, for a summary for those that don’t care much for the technical aspects:

  • ESP8266 which is wifi-capable
  • Flash storage for persistence of settings
  • Maybe better image support?
  • Better power management
  • Expansion slot!
  • USB capable
  • New buttons, and a menu system
  • Larger size, but mounting holes
  • Other, technical hardware changes.

The device is still a work in progress, and it’s going to be some time before anything is 100% – Things can still change, and change a lot. Just look at some of the things I said the V3 was going to do before.

As always, feel free to join us on Discord, on Twitter, or on Facebook. I’m going to try to make some more regular updates on here, so keep your eyes here as well!

V2 Case Complete, and other updates

Greetings, everyone!

At long last, I can finally say that the V2 case has been sent to VooDoo for manufacturing, and it’ll be somewhere between two and three weeks before I receive the full run. I apologize for all of the delays up to this point, and while some of them were unavoidable I know that people have been waiting since July for these. The case itself will be $10, and will be available on our web store as soon as we get them in. Our initial production run is in Black and Blue, and we’ll be adding other colors when we order more. If you want a different color and have a 3D printer, we’ll be offering the STL files for sale as well. Price is yet to be finalized on those so I won’t give you a price just for it to change.

As for other updates, we’re changing the way we’re approaching conventions.

We went to BronyCon and had a blast. Despite some technical issues with a significant amount of the V2s, it was a place we could easily make back the money spent at, especially because it’s my local convention. Going to Nightmare Nights was great fun, but in the end we didn’t make money, for a number of reasons. And regardless of the fun, if you’re losing money you have to figure out why and change it. We figured out we could, theoretically, make a profit from conventions, IF we had a significantly larger variety of things to sell, along with a few other IFs and guesses. But even then, the profit margin would be very low.

Unfortunately, electronics are expensive to produce and transport, and then there’s the significant costs of getting to, staying at, and returning from a convention. Plus the hassle of all of the paperwork for selling in various states. What we’re going to do going forward is look into finding interested parties to resell DigiBadges and cases at conventions they’re going to. We’re still looking into who to work with for this, so I can’t state anything for certain.

We do intend on going back to BronyCon, and perhaps a few other conventions within easy travel distance, but hopefully with a partnership or two we’ll be able to vastly increase our availability while not spending all of our money getting there.

And for our final update, the V3 is being re-designed.

Again. Yes. I’ve read, re-read, looked at others’ interpretations, and made my own judgements on the FCC regulations regarding wireless communication devices. I feel comfortable in using a pre-designed device, in specific the ESP-12E, to drive the V3 and future DigiBadges. This ESP8266 module is available for a little less than the ATMega328 that I’m currently using, and it also allows for wifi usage and has a built-in flash memory chip – A very similar one to the ones I was planning on using. Additionally, the ESP8266 is more powerful than the ATMega328, and I’ve seen it displaying animated images and images in formats other than 24-bit BMP images. In all, it’ll simplify the design while also adding more capabilities. While the wifi will be disabled by default to save power, it will be there for others to use, along with the IO pins. While the IO pins on the ESP8266 are fewer than what is available on the ATMega328, it’s still more than the zero available on the V2.

And that’s all for today, folks. Sorry about the silence, but holiday times are busy times at my main job this time of year and I’ve also been busy with a few other things. I’ll post more updates when I get them!

Nightmare Nights and The Future

Good morning, everyone!

I’m back from Nightmare Nights, and boy was it a great time. Met up with friends, talked nerdy with a ton of people, and of course: Sold DigiBadges.

I won’t pull any punches. This is a business and it was a business venture. The primary goal was to see if a “small” convention – That is, smaller than BronyCon – would be worth it. The unfortunate part of what we do is that electronics are expensive. Prints can make a lot more profit than an electronic device. I had no doubts in my mind that going to Nightmare Nights, I was losing money. What I was aiming to discover was how much interest there was in not just the DigiBadge, but the Art Cards, cases, and other products.

Running the rough numbers after the convention was a really great look at things. A decent number of people asked about the cases, and I’m sure even more would have purchased them if they were available. There were some people who didn’t purchase because cases were not available. Simply having cases available would increase sales. There were also a smaller number that asked about the pendant and may have bought them had they been available. A few said they’d wait for the Version 3.

In a small handful of weeks and months, we’ll have all of those items available. While I don’t expect our next convention to rake in money for us, we’re definitely planning on a next convention. We’re going to be sending in the vendor application for PonyCon in the next few days, once we get the store updated with the new things. After that, we’ll have to look and see how expensive it is to get to a convention. Something like BabsCon or Everfree, being on the West Coast, are a lot more expensive for us to get to. Plane tickets aren’t cheap, and neither is shipping!

So, in short, Nightmare Nights may not have been a financial success, but it showed us that it’s worth pursuing the convention route further. It’s not the easiest thing to do, but boy is it fun!

I’ll be posting some more updates in the next few days. We’re close to finishing a case for the V2, and the V3 won’t be too long behind it. While the V3 will require a slightly different case than the V2, the changes are fairly minor so they won’t take nearly as long as designing a case from scratch. The Pendants only need some minor PCB changes – there was a sneaky switch of two pins that I didn’t notice – but then that’ll be done too.

If you have any questions or comments, we can be found on Twitter at @MatchfireTech, on Facebook at MatchfireTech, or through e-mail at contact@matchfire.net

Success! 18-File limit will be removed for V3 coding

Good evening, everyone!

I’ve been plunking away at figuring out a way to fix the 18-image limit that the V2 coding has. And I finally did it. This will be by default on the V3s, and will be available in a future update for the V2 code. It won’t be on the V2s for Nightmare Nights, as there’s still a lot of other code to write – For the V3, I’m essentially re-writing the code from scratch, and while it’ll be adapted to the V2, I have to finish the V3 code first. Which will take a lot of time.

To explain how I fixed it, I have to explain how it’s done now. Currently, the code creates an array of character arrays. Each of these character arrays is a filename for an image. They’re 14-character long arrays, so they take up a decent amount of space, space also used by other parts of the program. I thought of ways to expand the space – Loading names from a text file on the SD card, trimming down to the 9 characters needed for a filename without the extension, storing them in the Flash memory of the V3, but none of them actually solved the problem, just made it less of an issue, or moved it elsewhere. Trimming filenames down only netted a small number of additional files, text files would have to be perfectly formatted and would be unforgiving if someone made a mistake, and while moving the filenames to the Flash memory would allow for a massive amount of names to be stored, it would take a significant amount of time to do so.

The solution is is simple. Files are loaded in a specific order, so it’s only a matter of numbers. The function goes through, counts the files it sees, and when it sees, say, file number 3, it passes the actual name of that file to the BMP loader, which displays the image. This means a maximum of 32,767 images can be loaded. Why that number? Well, that’s the highest that an Arduino integer can go. That ends up being about 1.87 GiB of 60-kb files, which would take a significant amount of time to go through.

It makes changing images a lot easier, too. Change the number, pass it to the function. A bonus is that it also makes storing which image was previously loaded into Flash memory a lot easier, too. Just store the number.

I don’t expect to be fully done until a while after Nightmare Nights. I’ve got preparations to do tomorrow, and then Thursday I head out. I expect no progress while at the convention, of course, and then I’ll have a bunch to do after returning home.

Expect to hear more as I work on the V3 code. I’ll keep you posted!

Nightmare Nights stock update

Greetings, everyone.

I bear some bad news. The LED Pendants that I previously said would be available at Nightmare Nights, will NOT be available. Let me explain why.

I source a lot of my parts through various Chinese wholesalers. The sites I pull them from are not designed around selling electronic components. They’re more along the lines of Amazon, but even Amazon has better searches than most of them. I can usually find exactly what I’m looking for, but it takes some effort.

The part that I had designed around was the 1088BS 8×8 LED Matrix.

The parts that I have are 1088AS 8×8 LED Matrixes. Same physical size, completely different pinout. Being one letter off of the same item code, I can’t be sure if it was my fault, for purchasing the wrong item, or if I thought I was purchasing the BS version, or if the seller thought they shipped the BS version, or a number of other possibilities. The end result is the same.

The biggest issue is that, while I could pay for rush shipping, that takes anywhere from 5-8 business days. IF it took 5 days, it could get to me at NMN… but I’d not have either the time nor the tools to properly assemble them. I will have my portable soldering iron, but that’s not designed for putting together 100-ish components in a row. And that would require the shipper to get it out the door practically immediately. If it took a little longer, then it would get to the hotel long after I was gone – Not a good position to be in. I’ve already ordered the replacement parts, but as said, they’ll take a while to get to me.

I sincerely apologize to anyone who was looking forward to getting one of these at the convention.