Part of the costs is that I do assemble these by hand! My right arm is the pick and place machine.
I try to do batches of 25 at once, as any more and I want to smash something. I have an SMT stencil for all the SMT parts, and then put them in the oven.
The pin header is through-hole (will be stronger then SMT header) so it's done by hand.
Then going over everything with a loupe to look for solder paste that hasn't flowed or other issues, programming each one, and then verifying the functionality of each one on my own desk (see the video of the testing process).
All in all, quite a bit of my time, and not yet factored in is the entire logistics (storefront, shipping, customer support)
Unfortunately as it's a small operation, I also can't afford to buy these parts in what would be considered a big quantity - so I'm still paying fairly high costs. The jellybean capacitors and resistors I can order in real bulk (500), but the IC's and voltage regulators are name brand from DigiKey.
Are these too small amounts to order fully finished products from somewhere with a pick-n-place machine, or is there another reason why that isn't something you're doing?
Yeah there was an issue a while ago with the ATTiny library and they switched the pin definitions. Was indeed a frustrating time to figure that out initially when the library switched it and all of a sudden everything stopped working!
I had a feature request to support IDASEN and came to the same conclusion.
However, for myself (and I suspect others), I don't need yet another app to do something. I want to push a button and be finished in 1 second for something like a desk. Cognitive load on this should be zero.
Generally these devices use Bluetooth Low Energy (BLE) for control, which has a well-defined 'schema' where devices expose 'services' which contain a number of read/write/notify 'characteristics' that are used for control. It's pretty easy to reverse engineer this stuff, I spent around two hours doing it with a sleep number adjustable bed base. Once you have the protocol of course you can just write a program to connect to the MAC address and send the commands. Another response to the parent shows that this has already been done.
On Android the free (as in money) NRF Connect application lets you browse the services/characteristics, tells you which ones are read/write/notify, and snoop+send data. I also had to use the 'Bluetooth Snoop Log' setting in Developer Options and open the log in Wireshark to sniff some of the packets that the app sent. The log contains timestamps so you can wait 10 seconds between operations to make it really easy to identify what does what. All you need in Wireshark is a filter like 'btatt.uuid128 == ff...:ff' to filter to just the characteristic you want to sniff.
There's an open feature request to allow this type of functionality. Someone else wanted it to randomly move during working hours (a few times a day) to force them to alternate their position.
reply