What The Millennials Think They Understand

I recently read an article on Inc. online, titled “5 Traits Older Generations Don’t Understand About Millennials (According to a Millennial)”, by Nicolas Cole. You can find it here.

It’s a good read, although, it may raise your blood pressure a bit. Read it. What I have to say may not make a lot of sense without his article as a prerequisite. Read it and cut him some slack. We were all there once.

What cracks me up the most is that this could have been written 10 years ago, 20, or 30… When I was young, we were thought to be the narcissistic self centered arrogant punks full of ourselves. The old folks thought us to be useless and lazy and wanted us to calm down and wait and see – we’d understand in a few years.

We didn’t. We rolled over that generation and changed the world. They didn’t know what hit them.

And this millennial generation didn’t invent the vision quest, the “finding myself” by traveling the world. We wanted to travel and see it all. We didn’t want to accept the status quo and settle into a single career, falling asleep until retirement. And we didn’t. The millennials have access to everything – the world at their fingertips because my generation said about life and the world: “It’s not good enough – we can make it better.” And we did.

Foregoing the American dream? The so called “American Dream” was not a white picket fence to us. The American dream for us equaled possibility. It meant that we didn’t have to settle into what we thought the old world expected. We could make the dream what we wanted it to be. And we did.

Our American dreams are the reality of the Internet, your smart phone, global connectivity, supercomputers, space probes, robots on mars – those were our American dream, and, as you can see, we didn’t forgo it, we made it happen.

Our American dream was equality and fairness. Not a dream limited to a few or to just those like us. This has been the hardest fight, yet the most important. It’s far from done, but we were not about to accept any dream that ruled people out. The house at 927 W. Drury Lane only existed for the privileged class, so we burned it down.

Oh, did we ever want – and find or make – something of our own! The on-fire startup was born in my generation. The rejection of the establishment for creations of our own was a solid theme for us. We rejected, We built our own, and we never looked back. We recreated business, media, entertainment. We wanted our own, and we made our own.

that little phone in your pocket that allows you to do so much; we made that

Tackling brand new industries… You don’t know the half of it. We destroyed old industries. Not just industries, we smashed the whole economy into bits and built our own out of the shreds.

Again, that little phone in your pocket that allows you to do so much; we made that. We ripped the cord out of the wall and remade communications. We thought it up. We made the infrastructure that enables it and we built it. Then we kept rebuilding it and making it better.

The gaming company that hired you – they’re only here for you because my generation rejected the old and created your world for you. We liked board games, but they weren’t enough for us. We liked sports and activities, but they weren’t enough for us. Not only did we create digital versions of it all, we reinvented it in the physical world too.

And, don’t think you’re special because you’ve done all of your great work in the shadow of economic demise, terrorism, and global competition. Even we didn’t invent that one. But we certainly lived it. When I was young, the American Century was over. We were getting our clock cleaned by Asia and Europe. Malaise was the watchword of the day.

The Soviet Union was putting weaponized smallpox into ICBMs to finish off anything their nukes missed. Western Europe was expecting the tanks to roll in at any moment. We grew up always 30 minutes from a fiery obliteration. Hang that over your head. It nearly happened, by accident or by design, more times than I’d like to count. I’ll take the world of now over what we had, any day.

So, you also think you’re special and different because you’re the modern-day disrupters? You d*** well better be. That self-confidence you speak of – you’d better have it and you’d better have it in quantity. If you don’t have a wanderlust, a disquiet, and need for more, that will make my generation’s version of the same look small, than you are letting us and yourselves down.

You see things different than my generation does? I hope so. You are obligated to. You owe it to us, yourself, and the generations that follow to see things differently. My generation didn’t create all of this stuff for you to rest on our laurels. We built this new world so that our children and their children can take it to places we can’t even imagine. Don’t waste what we built. There’s too much that still needs to be done.

And one final thing I ask of you; when your kids say something similar about themselves vs. your generation, as you have in this article (and they will), don’t get defensive. Tell them that it’s their job to think different and to never be satisfied with the way things are. It was my generation’s job, it’s yours now, and it will be theirs soon. Tell them to never back down.

MCU Series, 2: Sometimes MCU choice doesn’t matter

This article was originally posted on Microcontroller Central, which is no longer on the air. Much of the content is as it was when I originally posted it, with updates when necessary to correct errors in the original articles or reflect more current information. The following first appeared February 22, 2012.

In an earlier post, I discussed taking a 555 timer-based oscillator out of a high-voltage supply and replacing it with a PWM signal from a microcontroller. The design, an open-source Geiger counter, already has an Atmel ATTINY2313 MCU, but I had read someplace that it couldn’t handle both PWM and the other processing required for the circuit. That didn’t and doesn’t make any sense to me, but because it came from the Internet, it has to be true. Right? Relying on my Internet information source, I was going to use a PIC MCU to provide the PWM signal in my design. However, rather than leaving the Atmel stone unturned, I decided to try out its PWM first and see for myself if the chip could handle the whole task. The Geiger counter firmware already uses two timers: Timer0 for PWM chirp tone generation and Timer1 for actual timing duties. I’ll need a third PWM to feed the LC part of the HV supply.

The Atmel chip has four PWM channels, but the clock setup is a little different from the PIC chips I normally use. My first interpretation of the ATTINY data sheet revealed only two timers on the chip: an eight-bit and a 16-bit. That didn’t seem to be enough to drive the four PWMs that the chip offers. Fortunately, a little more research uncovered that the chip has two eight bit timers, and that each half of the 16-bit timer drives a PWM independently. All four channels are covered, after all.

That question being answered, the next step is to generate a PWM signal and mod-wire it in to replace the 555-based oscillator. Pin 9 of the ATTINY2313, OC0B/T1/PD5, is unused in the open-source design, so I’ll use that pin for the feed to the HV supply. I need 4-5KHz for the power supply’s LC circuit.

Deciding to try the Atmel part instead of a PIC MCU gave me an opportunity to explore the differences between the two parts by comparing the code needed to configure the PWMs. First, here’s the PWM setup for my PIC16F1825:

  • // Set HV power supply CCP2 to 4.9KHz, ~20% duty cycle
  • CCPTMRS = 0b00010000; // Select timers for PWM. CCP2 = Timer 2, CCP3 = Timer 4
  • PR2 = 0x65; // PWM period 4.9KHz (With 8MHz system clock)
  • T2CON = 0b00000101; // Timer 2 on, Prescaler = 4
  • CCP2CON = 0b00001100; // Turn CCP2 (RA5) on
  • CCPR2L = 0x33; // Set to 20% duty cycle
  • TRISA5 = 0; // Clear pin direction to enable

Now the comparable code in the ATTINY2313:

  • // Set HV power supply OC0B to 4KHz, ~20% duty cycle
  • DDRD = _BV(PD6) | _BV(PD5); // Set PD5 as output for PWM
  • TCCR0B = (0<(0<OCR0B = 0x33; // Set to 20% duty cycle

The ATTINY version seems simpler to program, though it’s entirely possible that I’m missing something, or that other parts of the initialization are done someplace else in the open-source code I’m starting with. As far as function is concerned, though, the two devices are effectively the same.

The more familiar I get with Atmel chips, the fewer functional differences I see between them and their Microchip counterparts. Microchip seems to have more varieties, but each Atmel variety covers a broader feature set.

In the end, they’re pretty much the same in my book. Before I started using Atmel chips, I really didn’t see what the big argument between the two MCU camps was all about. Now I see it even less. The differences just don’t matter.

NOTE: Since this was originally published, Microchip purchased Atmel, so it may soon matter even less.

Raspberry Pi I2C dual motor driver

My Raspberry Pi dual motor driver has evolved quite a bit since I last wrote about it. In the original incarnation, I had planned on using the PWM capability straight from the Raspberry Pi to drive the TB6621FNG motor driver. That didn’t work so well due to the fact that Linux on the Pi isn’t a real-time OS, and there is only one hardware PWM.

To get around that, I added a PIC16F1826 to directly drive the motor. The Pi will send commands over I2C to the PIC, which will control the motor driver. It’s almost identical to an older (pre-Raspberry Pi) design I have.

Once I figured out how to reliably use I2C on the Pi, it turned out to be a good route to take. The PIC is inexpensive and plenty capable of doing the job. The Pi doesn’t need to worry about real-time control.

Below, I’ve got the almost complete robot stack: Motor mounting board, USB hub with WiFi adapter, Pi Zero, LiPoly supply, and I2C motor driver board. It’s also got a Sparkfun IMU board that will soon be replaced by my own.


Communicating Up and Sideways

A good leader should communicate in the language of his or her subordinates. A good leader should be the one to adjust dialect and language. This is well accepted wisdom. The problem is that “should” is a rather meaningless word. “Should” doesn’t require, nor does it instruct. “Should” implies obligation, but doesn’t imply action or consequence of not taking action.

Expecting a superior or colleague to speak in your language only ensures that you “should” be able to communicate, not that you will. Relying on “should” is a lot like relying on luck. You give up control when you rely on luck or “should.” It’s fine if you don’t care, but not if you do.

It shouldn’t be a surprise that effective communication is a vital part of surviving and advancing in the business world. Without it, no one knows what you do or what your worth is to them.

In this context, “shouldn’t” is an appropriate word. The usage here is that the argument is common enough knowledge that it’s reasonable to assume that a reasonable person would agree. It doesn’t imply, nor need to imply any action or consequence.

This isn’t an article about “managing your boss. I’ve seen enough of those, and have always thought them rather presumptuous. “Managing your boss” is really more manipulation and exploitation than it is about managing, and I’m not at all a fan of manipulation. What you can do, and will benefit from, though, is to manage the communications with your boss and co-workers.

It’s great if you have a boss that knows how to communicate well. Not everyone does, and even for those that do, it can be pretty helpful to share the job of effectively communicating.

One of the easiest illustrations is in the contrast between a visual person and a numbers person. The numbers person needs to see metrics in spreadsheet or table form. The visual person needs the same information in chart and graph format. Trying to get one to accept the other often results in little or no actual communication and lots of frustration.

If your boss is a visual person, and you hand in a table with all of the data, plus rows and columns of only distantly related numbers, they will have a hard time with it. Their brain wants to be able see structures at a glance. Instead, you’ve given them a jumbled mess of indistinguishable black and white hieroglyphs.

On the other side, if you give your numbers-person boss a nice bar chart, they will see a bunch of fluffy colors that do little more than obscure the details. They need to see not only the numbers they’re interested, but also the data behind the numbers.

But shouldn’t a good leader be the one adjusting language, you ask? Again, I’ll compare the word “shouldn’t” in this context to luck.

Good leaders do adjust their language, and listen carefully. They are putting in the effort, and what you are trying to say is (presumably) important. Why would you not do as much as you can to complement their effort. Good leaders have also hired you, in part, for your communications skills. Assuming the leader will do the majority of the work is doing them a disservice and is a failure to live up to your commitment as an employee.

The same holds when dealing with colleagues you don’t report to. It may seem like you’re partly doing their job if you adjust your communication to fit their style, but if your message is important enough to give, it’s important enough to justify the extra work toward clarity for your recipient. Ideally both parties are doing it so that misses by one will be more likely to be covered by the other.

A good example would be in the use of acronyms and jargon with (or as) a new coworker. Communications problems happen quite often when one person has a background from a large, tightly structured company, and the other is from a smaller, more cowboy like, company.

Jane joins a small start-up company from a large multi-national corporation. Her former company spent a lot of time studying lean manufacturing, the Toyota Production System, and other process improvement systems. Bob at the small company doesn’t have the same language.

Jane is aghast when she suggests “Poka-yoking” a process and Bob doesn’t understand her. She drops her jaw and wonders what kind of a mess she got herself into when she took the job. She’s surrounded by bozos that don’t know the most basic of business processes.

Poka-yoke is a term used in the Toyota Production System. (Wikipedia entry here) It sounds like a rather exotic process, but it just means to make a product or system mistake proof. If a plug would damage a piece of equipment when plugged in backwards, key the plug so it can’t be plugged in backwards. Just design in some mistake proofing. It’s as simple as that.

In this scenario, it turns out that Bob is a brilliant user experience designer and considers mistake proofing to be just about the most important aspect of a design. Jane and Bob are on the same page; they both strongly believe in mistake proofing products. However, since Jane didn’t take into consideration the possibility that Bob might not have been exposed to that one specific set of business terms, she feels he must be incompetent. Both Jane and Bob would be well served to accommodate the language of the other.

I’ve found, over my career, that there are an astounding number of terminology differences between different corporate cultures. There are terms that have different meaning altogether, and there are different terms used to describe the same thing. Even the basics like “margin” can be used differently in different organizations.

Jargon and acronyms are okay, as long as you never assume that the person you’re communicating with has the same jargon dictionary in their head as you do.

Raspberry Pi dual motor driver

This is only sort of a new design. I’ve used this TB6621FNG dual motor driver chip on a number of my boards prior to this one. I basically just took one of my existing boards and shuffled things around a bit to fit the Raspberry Pi Zero form factor.

In this photo, I’m using it with a Pi A+ while writing some Python code to test it out. Eventually (when I can get more than one Pi Zero), I plan to use this in a stack, with a Pi Zero, my LiPoly battery board, and my USB hub board for WiFi.

The Crowdfunding Pricing Paradox

Marketing for non-marketeers, lesson 6

I’ve haunted the working world for quite a while and have found that more often than not, common business workings are over complicated. I doubt that it’s intentional in most cases; some of the tasks and concepts we business folks deal with just don’t make a lot of sense from the surface viewpoint, even if they do under the hood.

Crowdfunding hasn’t helped much to relieve the lack of clarity. It’s made the inside of the process more accessible, but hasn’t made it any more clear. From what I see, that’s why a fairly large number of seemingly good crowdfunded projects either fail to get funded, or “succeed”, but don’t turn into a viable business.

Not long ago, I decided to take a closer look, and paired up with a friend to run a Kickstarter campaign. We did it twice for the same product. The first time failed, only reaching about 30% of the funding goal. The second succeeded, bringing in nearly twice the funding goal. What I discovered is that a crowdfunded business is not terribly different from any other business. The funding rules, and the order of things, or course differ, but the “business” is still just a business.

Profitability models work different at different volumes

Our first attempt with the Kickstarter garnered more dollars: $4,224, from 78 backers vs. $3,867 from 98 backers in the second attempt. But, the first one was overpriced and over ambitious. We had set a funding goal of $14,000. The second time, we lowered prices and lowered the goal to $2,000.

I’ll use a rounded example to illustrate why the $3,867 wasn’t as much a payout as it might seem. The numbers are from a hypothetical example, but are more than accurate enough for the illustration. We’ll be looking at a small electronic device.

At a targeted sales number of 100 units, the total cost of parts and packaging is $15.00 each. You can hand build the 100 over a few weekends, so you call that a zero manufacturing cost. Shipping costs you $3.00, and you include it in the selling price. Similar products sell for $25.00, so that’s what you set the price at. The crowdfunding goal is $2,500. A successful campaign brings in $2500, less $1500 in parts, less $300 postage, giving you $700.00 profit after all is said and done. Except, the funding website will take 10% of your $2,500, leaving you with $450.00.

If you over fund with 200 backers, receiving $5,000, you’ll still be in decent shape. Jumping from quantity 100 to 200 probably isn’t enough of of an increase in volume to get more than a tiny reduction in parts cost, and shipping will still be $3.00. It may be a stretch, but you can still hand build the 200 units, maybe with the help of a friend or two. $5,000 funding, less 10% fees, less $3,000 in parts, less $600 in shipping equals $900. You took your helper friend out for pizza and beer after, for $50.00. The $850.00 left starts to feel like real money.

In another scenario, your device ends up really popular and sells 1,000, for a funding amount of $25,000; less 10% fees, or $22,500. Parts costs drop in half. Shipping does not. You see that nice “profit” number, $12,000, and get excited. But… You don’t have enough friends (or tolerance among friends) to hand build 1,000 units. It’s simply not practical.

Scaling up doesn’t always make it less expensive

In the US, you can find a manufacturer that will assemble the boards for $10.00 each. To avoid handling $7,500 worth of parts, you have the manufacturer purchase them, for an added 10% markup. Your $12,000 drops by $750 for the parts markup, and $10,000 for the manufacturing cost, leaving $1,250. Your buddy helps to tape boxes, place address labels, and carry boxes to the post office, so you still pay $50.00 for pizza and beer. 1,000 boxes is a lot, so it’s going to cost you $100 for two dinners of pizza and beer.

The $1,150 is nothing to shake a stick at, but really? You sold ten times what you expected, and didn’t quite make two and a half times the cash profit?

Still, it was a successful Kickstarter. It was wildly popular, so you’ve got a viable business. Right? Well, with $1,150, you can’t even buy enough parts to build your original 100 target, let alone enough to get good volume discounts. And without the Kickstarter hype, you’ll have to pay to market the product. If you build 25 at a time, the parts cost goes up to $20.00, shipping still costs $3.00. You don’t have to pay to have it built, or any of those fees off the top, so you earn $2.00 for each one of those 25 that you sell.

That’s not enough money to build a website or do any advertizing. Fortunately, there’s Tindie, a web market place designed for post-crowdfunding products like yours. They have a very reasonable fee structure, only charging 5%. That’s $1.25, leaving you with $0.75 profit per board.

If you look for an offshore manufacturer, you might be able to drop the build cost to $5.00. That immediately adds $5,000 to your bottom line. You will, however need to have the manufacturers build a small pilot run to makes sure it will be built correctly, for around $500.00. You can add nearly a month to the fulfillment time for this.

Provided it all works out, you’ll want to up the quantity by 20 – 30% to make sure you get enough working boards. 80% would not be an unheard of yield at the cheap offshore manufacturers. An extra 25% would run you $3,125. You’ll also need to 100% test the boards, or develop a test program at the manufacturer, taking more time and money. Build, test, and shipping will add another month. Now you’re up to about $2,500, with two extra months to the delivery time. Don’t forget the 30% that will go to taxes. You’re left with $1,700.00. Nice money, but probably not so much when you add up the time involved.

These numbers are not close enough to copy, but are close enough to use as a case study illustrating that it can be pretty easy to build a product with crowdfunding. Turning the product into a business is a different story. It is possible to build a business out of a crowdfunding campaign. It’s just not much easier than it is to build a business without it.

I’ll follow this up another day with some thoughts on getting closer to a viable business after the campaign.

Stage 3 Marketing

Marketing for non-marketeers, lesson 5

As an engineer entering the land of entrepreneurship, you know (over simplification warning) design can be split into two philosophies: hack & patch, or engineer it. I suspect that all but lazy people would prefer the “engineer it” method over “hack & patch.” Unfortunately, we aren’t’ always given enough time or resources to do it right, which leads to the common expression: “Never time to do it right, but always time to do it over.”

A similar concept applies in marketing; except that if you do a rush job on a brochure, no one gets electrocuted. Much less is at stake, and sometimes the “hack & patch”, or “rush job” is more appropriate. With marketing, you can still get by with a rush job if that’s all the time you have. You just have to do it properly. In fact, early on in your entrepreneurship journey, you’re usually better off putting the majority of effort into getting your product right, and only the minimum effective into marketing. Shoot for the minimum effective point in your marketing and put the rest of your resources into the product.

Minimum effective marketing does not equal “ugly” (although, it might very well be). It means, even though you’d love great graphic design, what you need, is simply a clear, accurate message. The message is always the most important part of marketing, and it can stand on its own. A design without the message, however, can not.

Keep in mind that if you’re a well-funded company, you’ll have people to do the marketing for you. That’s not what I’m talking about. This is for the shoestring engineer trying to get a business going. As the entrepreneur, you have three stages of marketing to concern yourself with.

Stage zero marketing

A count typically starts at zero in the digital world, but stage zero marketing is no marketing at all. Don’t go here. You have to do some or no one will know about your product.

Stage one marketing

This is the most common starting place for a new small venture. It can be done wrong, or it can be done right. Please do it right. Done right, it’s clear and concise. It’s easy to read and understand.

In the print world, stage one materials are simple typed information on a page. In the digital world, stage one is a template-based website, simple posts on Twitter, Facebook, and/or LinkedIn, and a few photos or illustrations. The photos aren’t overly cluttered. It’s all simple, inexpensive, easy to produce, and gets the message across. Form isn’t or primary importance. Your only criteria on the form is that it can’t be so poor that it gets in the way of function. If stage one is all you’ve got the time for, go for it. No need to be clever. Just be clear, and don’t try to push too much.

What you want to say isn’t important. What is important is what your potential customers need to know in order to make an informed decision. This is not the time to be in love with yourself. Think about what would be important to a customer and focus on communicating that.

Stage two marketing

You’re a little further along and want to present a better image, so you invest in some layout, either in house, or contracted. Stage two materials are still fairly simple and very clear. Efforts toward making it nice just enhance the message. Form does help, to the extent that it makes the message more readable and more approachable. Polish is there to enhance, not clutter.

On the web, you’ve got a decent layout, with information divided up into bite size pieces, and well organized. The imagery fits what you are trying to do, and can be related to by your customers. You’ll be more active in the appropriate social media and will be building a following.

Stage three marketing

This is where you decide to say: “We’ve arrived!” You’ve got funding, or have hit a revenue threshold, and want to show the world that you’re somebody. You’ve created a world beater and it needs to be dressed like one. It’s time for the BMW and the Armani suit. You’ve earned the splash and flash and anyone who says otherwise just doesn’t get it.

Right? Anyone? Anyone?

I speak from experience; almost every startup gets to this point, and it’s easy to spot. In the print world, it comes in 8 x 10” brochures, extra thick paper, high gloss or metallic ink. On the web, it’s elaborate FLASH animation, high production value videos, and a lot of “look at me” messaging. The problem with stage three, is that the urge to stand out and be clever overrides the instinct to actually communicate.

I’ve seen numerous examples of stage three material over the years. They are all beautiful, and they all communicate virtually nothing about what is being sold and why anyone should care. Stage three is also far more expensive than it needs to be. It’s usually so expensive, that it has to be rationed out. This is the type of material that give marketing a bad name.

Stage four marketing

If you’re wise and care about sales and profit, you’ll skip over stage three and jump here, to stage four. Stage four is only a bit more elaborate than stage two. Again, form is only important to the extent that it helps the message. Stage four materials are attractive. They’re clear, and convey a message of value. Prospects and customers feel connected to what you’re selling and can easily find the information they need.

Appearance is important. That’s why cars come in more than one color, but appearance is always secondary to communication. If anything you do in marketing does not help potential customers understand you and your product, toss it.


One two three four, who are we marketing for?

SImblee Breakout Shield, Part 3

When we last heard from out intrepid Simblee Breakout Shield, it was found to be using and open drain linelevel converter without pull-up resistors, and that’s against the law. Or, at lease against good judgement.

After a dual face palm, I found the TXB0108PWR chip, again from Texas Instruments. This one is a push-pull line level converter, so no pull up resistors are needed on the GPIO. The pin-outs are close between the two chips, but not exact. Too bad. It would have been nice to just drop in the different chip. But, the I2C still needs pull ups anyway. ,I gave it a TXS0102 open-drain converter, and pull-ups and ordered the revised boards.

After I build and test this one, I’ll move on to the next version. I want to dispense with the breakout, and put the Simblee chip directly on the shield. I’m also going to use Silego chips for the line level converters. If you haven’t heard of the Silego chips, they’re very small mixed-signal programmable logic. I’ll write more about them later.


Run Fourier, run

Simblee Breakout Shield, Part 2

I stumbled, and made progress on my Simblee breakout shield. If you didn’t see the first installment, check it out first.

Since the first post, I built up a non-shorted board. It seemed mostly okay, except that it gave me 3.9 volts on the 3 volt side, and the same on the 5 volt side. The answer to the puzzle lead me to one of the downfalls of open source hardware (well, it’s only a downfall in combination with poor practices). That is, not knowing what the original designer had in mind.

I took a look at the Arduino 101, which uses a 3 volt Intel Curie module. The Arduino 101 uses a Texas Instruments LSF0108PWR line level Arduino 101converter chip. Works for them, so I designed it in. Folly me, I didn’t read the data sheet close enough. It’s an open drain device and needs pull-up resistors on the I/O lines.

The 101 didn’t use pull-up resistors. It gets by because most 5 volt devices are fine with the 3 volt “1”. They’re really just using the chip as a5 volt to 3 volt done converter and not worrying about going up to 5 volt line levels.


Why not push ups?

Final Pi Zero LiPoly mod

I solved the final issue with my LiPoly board. It was a minor one. The yellow LED is supposed to indicate whether the LiPoly battery is on or off. It was always on. In a Captain Obvious moment, I discovered that it was always on, because I told it to. I had connected both sides of the DPDT switch together. Why? I don’t know.

But, with a lifted pin, one cut trace, and a short mod wire, it’s all set.

I already have the next set of PC boards on the way, so they’ll still require this mod. It’ll be easier to deal with before there are parts on the board. I may not order any more boards, with this fixed. I’ll have plenty for my own uses, so unless I decide to sell it, there won’t be a need. I’m thinking about a Kickstarter for this though…


Poly want a… Poly want a… Poly want a Lithium?