advertisement
Robber Board
The Thieves Board
This board originated at the request of an LPC who was practicing EMDR and wanted to upgrade his feedback machine. I had requested that it be wireless and provide both haptic and visual feedback. It all fell apart when he sent me a confidentiality agreement that seemed typical of real, professional-level projects. However, it would have prohibited me from sharing anything I discovered, and given the amount I could have made from it, well, it just wasn't worth it. I thought I would finish the project and share it with everyone since sharing is the best form of payment.
These are some of the features of the board:
- OTA upload to an ATtiny84
- An onboard charging circuit with load sharing capability (thanks Zak Kemble)
- Two RGB LEDs to provide visual information.
- A unidirectional motor-driver intended to control a vibration motor.
- Three free pins
My purpose in completing the board is to continue testing my TinySafeBoot BLE charger:
I'm also in the process of rewriting the uploader to be cross-platform, targeting Android, iOS, and Windows 10. It will be a feat, but I'm thinking about focusing the project on Dropbox. The consumer:
- Compile an AVR binary using Arduino, Atmel Studio or AVRDude
- Save the binary to Dropbox
- Lumi3 will then connect to the target device; This can be done from Android, iOS or Windows.
- Lumi3 would then extract the binary from Dropbox and upload it using TinySafeBootoader.
I'm not sure I can pull it off; Wish me luck. And feel free to follow the code base here:
Design information
HM-11 Configuration
Some commands required for the OTA process to work correctly
- AT+AFTC3FF: This command sets all IO pins to HIGH after connection. This is not necessary for OTA but since the AVR will go down as soon as it connects, any sketch you are running will go down immediately when the AVR RESET goes down.
- AT+BEFC3FF: This is like the AFTC command, however, it sets the IO pins HIGH after the HM-11 is powered on. For the Robber, if this is not set, the AVR will stay reset until connected. I didn't initially realize this and spent a lot of time trying to figure out what the AVR wouldn't respond to. Sigh.
- AT+MODE2: This puts the HM-11 into "Remote" mode. This will allow AT commands to be sent to the HM-11 after it has connected, over the BLE connection. This is what allows commands to be sent to remotely toggle the PIO connected to the AVR RESET.
Some commands that I think make the connection more reliable:
- AT+BAUD2: This sets the communication speed between the HM-11 and the AVR to 38400. After testing, this is approximately the highest speed ATtiny can achieve for TSB auto-baud.
- AT+POWE3: This increases the HM-11's radio gain. The power conversation is no friend to prototyping.
- AT+GAIN1 - I think this increases the gain in the RX of the HM-11. I'm not sure. The documentation is a bit shabby.
Debugging the first iteration
The boards arrived from OSHPark. They look sharp, but it's time to test the board and see what mistakes were made.
Tested circuits:
|Circuit Abstraction|Tested|Passed|Problem Description|
| Mini USB | Yes | 100% | |
| MCP73831 | Yes | 100% | Battery charges. I used a 2k resistor for the charge rate. |
| MCP73831 - LED charging indicator | Yes | 100% |
| Load sharing | Yes | 100% | God, I love this circuit. Thanks Zak. |
| LM1117 -- 3.3v | Yes | 50% | The OUTPUT voltage was calculated based on the 5V INPUT; however, when the USB connection is removed, the INPUT voltage is equal to the VBAT voltage. In summary, the output is ~3.29v when connected to USB and 2.9v when running on battery. This will decrease further when the battery discharges. I selected a fixed VREG to include later (NCP186-AMX330TAG). |
| Tacit reset switch | Yes | 75% | The reset line was being pulled HIGH with
advertisement
Related Articles
advertisement