[Oleg] found himself in possession of a Stamps.com Model 510 5lb digital scale. It’s a great scale, but only works as a USB HID device. In other words, it’s a digital scale without a digital display. He decided he wanted it to be more standalone, so he added a Toshiba HD44780 (compatible) display. An Arduino UNO and USB Host shield were used to make it happen. His sketch simply polls the scale and outputs the weight on the display.
In this case, he used the USB Host Shield from Circuits at Home, but a brief look shows they use the same MAX3421 controller chip as Sparkfun and other versions of the board. You might also be able to pull off the same functionality with an AVR running V-USB, though admittedly it wouldn’t be so easy.
We haven’t found a great way to add USB host mode to projects other than shields like the one [Oleg] used. If you know of a better way, share your ideas in the comments.
Of course, if this isn’t hardcore enough for you, forget using a consumer scale – make your own from scratch!
Phillip, welcome to the team! Nice job with your first post.
I think LUFA might also support USB host mode but I’ve never tried it. I do agree that it would be more difficult (for me anyway) to get that set up than it would be to use a dedicated controller like the shields do.
I’m amused that they display the weight of the LCD screen on the LCD screen. Ha!
LUFA supports USB host mode on series 7 AVR chips, meaning AT90USB647/1287. Pretty big MCU for the task, but still smaller than ARM chips.
The Arduino Yun uses an Atheros AR9331 and can do USB host and OpenWRT! Price is high apparently. Or you could just use the 8devices Carambola2
Yun is just TP-Link 703 router on different pcb at 3x the price
I have yet to find any more cost effective and compact embedded USB host than TP703 either. And you get Ethernet and Wi-Fi radio bundled in for free.
V-USB does not implement USB host functions.
This undergrad thesis project on the other hand does: “SIAM32 USB HC –
Software Implemented Atmel Mega32 Universal Serial Bus Host Controller”
https://courses.cit.cornell.edu/ee476/FinalProjects/s2007/blh36_cdl28_dct23/blh36_cdl28_dct23/
As with undergrad projects, it need a bit of work.
Many ARM chips like STM32F107 have USB OTG ports that can be configured as host ports. ST ships a HID demo program, it would be simple to hack it to read the scale.
Get an OTG adapter cable and a cheap STM32 board (STM32F4Discovery will do) and you’re off to the races.
Is there no way to grab the data by cracking open the scales and finding some UART test pins or something?
Oh I’m certain that is possible. But I’m actually really interested in the thought of easy USB host mode. Since it’s a know standard and there are debug tools available this should be WAY faster than sniffing around the PCB to figure out how it’s working.
I wonder if it wouldn’t be possible to circumvent the whole USB stuff and just get a value with the Arduino directly from the board of the scale somehow. Using the USB shield + protocol seems like overkill.
Or, buy a $10 kitchen scale with a built-in display, and place it on top of the Stamps scale.
The android controlled kebab skewer quad you featured started off using the arduino due in host mode before I settled on the androidserial route. Due does support usb host though!
shez
Now I know what im doing with my eval bot.
i have done somthing similar with my stamps.com scale … but what i did is use a MSP420G2553 on the weight sensor thing … it took calibration but after that it was a nice usable scale!
Other than the fact that the load cell system is compatible to your device, all scales are also suitable for many types of weighing equipment. It’s always good to know that besides assurance, it also gives precise measurements over an extensive period of time. It is also consistent, balanced and reliable. I think that you used a sensor from a digital scale to get the result.
The Arduino Leo and Mini are built with the AT328U chips that supportUSB host mode natively :-)