Once again, in about 2019, eBay suggested I buy some DigiSparks. At the price suggested, 1.69 GBP, it was worth a go. They sat in my box of bits, awaiting a use.
The serial Port example did not work but the keyboard example did.
The Arduino documentation has a USB keyboard example.
There was a similar example for the DigiSpark.
They are super for HID keyboard automation. I have needed to reflash the bootloader once or twice.
AutoType describes using two to type across a service where both people TYPE and READ their conversation.
Note ( 2024-09-01 ): http://digistump.com is refusing connection. So the examples about installing below need updating.
See this: https://github.com/digistump/DigistumpArduino/issues/167
This is used in preferences instead.
https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
And https://forum.arduino.cc/t/digistump-digispark-no-longer-available/1234095 - helpful
Original help on Adding DigiSparks to Arduino IDE.
https://www.instructables.com/Digispark-DIY-The-smallest-USB-Arduino/
This is very helpful: http://digistump.com/wiki/digispark/tutorials/connecting
Drivers and firmware: https://github.com/micronucleus/micronucleus v2.04
https://github.com/digistump/DigistumpArduino - more information
In the box labelled "Additional Boards Manager URLs" enter: http://digistump.com/package_digistump_index.json
As the link above no longer, works try:
https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
https://drazzy.com/package_drazzy.com_index.json
The DigiSparkCDC examples do not work. They Blue screened my Win10 PC back in 2019. On 2024-09-01 they compile, but Windows complains that Windows does not recognise the Device.
Use a Leonardo instead.
The Arduino Leonardo can enumerate as a Keyboard, Mouse and Serial Port.
The workstation received an incoming call and at the end of the call, the advisor has to press a button or key to move onto the next call.
A source of calls could be used overnight, but the workstation needed a device to press this button to so it could handle the next call.
Reading the screen is a challenge. The Arduino Leonardo or DigiSpark offered a solution.
A light dependent resistor was used to detect in incoming call when the Workstation screen changed, and it could trigger a DigiSpark to press the keys to make the workstation ready for the next call.
Automation has many challenges. Keyboards that AutoType in turn can be used to soak test the App and Workstation.
Manual intervention is required to set up a call, but once set up and the cursor moved to the input box on the GUI, the typing could be turned on and left typing back and forth.
The diagram below uses two Arduino. A wire between them is used to synchronise typing in turn. The resistors are important to prevent latch up.
Once the call was set up, it could be left.
USB keyboards are used on PC, and can be used on Laptops, and smartphones also support USB keyboards using an OTG lead.
Apple, Android, Windows , Linux all had little differences in buffering keystrokes.
It might be possible to use a DigiSpark/ Arduino to simulate the finger on the Smartphone screen, but I have yet to acheive it.
Reading the smartphone screen is very difficult for a robot. Converting a changing image to an event is an interesting project.
A robot could be used with a dabber pen.
AI will solve all of this as it will be able to replace the human in the workplace. Automation stumbles when you try it.
Leaving a workstation logged in, in an unmanned room is one challenge.
Having a tool to semi automate a task works.
I got this when using the board manager and Win10: "CRC error, file corrupted. Try to repeat later"
This helped. https://github.com/arduino/Arduino/issues/9719
I deleted C:\Users\doug\AppData\Local\Arduino15\library_index.json
When I next opened the IDE it seemed to have installed the new boards.
C:\Users\doug\AppData\Local\Arduino15\library_index.json ~/.arduino15/library_index.json
https://github.com/arduino/Arduino/issues/9719 - Win10 reports CRC error
Another may be related problem. The iPhones would not take any updates and failed.
My ISP suggested I upgrade and it seemed to fixed the iPhone update issue.
My old ADSL2 router was replaced by a router that supported FTTC.
I installed DigiSpark into the Arduino IDE over the new router onto a new Windows computer with no issues.