A Flipper Zero app that allows the flipper to communicate with Digimon V-Pets.
Currently tested devices:
Classic:
- 1997 Digital Monster
- 1998 Digimon Pendulum
- 1999 Digivice
- 2000 D-3
- 2000 D-Terminal
- 2002 D-Scanner
- 2002 Digimon Pendulum Progress
- 2003 Digimon Pendulum X
- 2005 Digimon Accel
- 2005 Digimon Mini
- 2006 Digivice iC
Modern:
- 2017 Digital Monster Ver.20th
- 2018 Digimon Pendulum Ver.20th
- 2019 Digital Monster X
- 2020 Digimon Pendulum Z
- 2021 Digivice Ver.Complete
Color:
- 2023 Digital Monster COLOR
- Pendulum Color
Currently tested apps:
- W0rld (via Chrome web browser serial)
- Alpha Terminal and Alpha Serial (Android)
- Alpha Terminal and Alpha Serial (Windows)
- ACom Wiki (Android)
Unsupported Apps:
Untested:
- All other pets
- Listen Mode
Thanks to Joushiikuta for testing the classic devices which I do not have.
Based on:
- The DMComm project by BladeSabre: https://github.com/dmcomm/dmcomm-project
- The updated DMComm Arduino library by BladeSabre: https://github.com/dmcomm/dmcomm-arduino-lib
- The Flipper Zero Boilerplate App: https://github.com/leedave/flipper-zero-fap-boilerplate
- The Flipper Zero Firmware: https://github.com/flipperdevices/flipperzero-firmware
You will need to construct a circuit similar to the A-Com circuit described in the dmcomm-project github.
Pin C3 - 4k resistor - Pin B2 - 20k resistor - Pin GND
Pin B2 - VPet+
Pin GND - VPet-
The 4k/20k resistor pairing is confirmed to work with the older devices. If you only need modern device support 2k/10k is also compatible, though it will not work with older devices.
Joushiikuta has created an awesome gerber file for a compatible PCB located here (included with permission)
You will also need compatible right angle header pins and SMD resistors.
The F-Com app is compiled and installed with ufbt
After installing ufbt, checkout the F-Com git repository, connect your flipper (and make sure that qFlipper is not running), and run "ufbt launch" to install.
On windows:
- Navigate to the checked out copy of the F-Com git repository.
Note: Path should look similar to
C:\Users\user\[...]\flipper-f-com
- Open command line in the flipper-f-com folder
- Run
py -m ufbt
- Run
py -m ufbt launch
For macOS and Linux, usepython3
in place ofpy
.
It will be installed under the GPIO section.
This repository contains a selection of digiroms in the codes directory. You may copy them to the app_data/fcom directory on your flipper to make them accessible under the "Saved" menu option.
Listen mode is now partially functional. It is difficult to get a good read at the moment although it is possible. I need to re-work the code to use rising/falling edge detection instead of looping though so the flipper GUI does not hang, and we don't have to spend the whole time looping on a GPIO read.
Listen allows you to connect 2 vpets to each other and eavesdrop on the data they send. Both codes will show up on the flipper after communication completes, and you can save either code to the flipper for later use. Leaving this screen will pause dmcomm.
Saved will open a file picker, allowing you to choose a previously saved digirom code. After selection, the flipper will begin attempting to repeatedly send the code. After the code is sent, the received response will display on the screen, and you can optionally save the response to another file on the flipper. Leaving this screen will pause dmcomm.
Add manually will open a dialog allowing you to enter a digimon manually on the flipper itself. The flipper keyboard does not currently support special characters so ^ and @ characters cannot yet be entered. After entering the code a second text entry screen will display allowing you to enter a file name. After saving, it will return to the main menu. If you wish to send the code you can enter 'Saved' and select it.
Tested with the Alpha-Wiki Android App.
The flipper will change the USB port from CLI mode into Serial mode and behave as an A-Com. Serial data transferred in both directions will appear in the flipper's text box on screen. Pressing the back button will return the USB port to CLI mode and pause dmcomm.
Dmcomm supports a voltage test. However, the flipper zero firmware does not yet have ADC support implemented. This is still possible as demonstrated by the flipper zero oscilloscope project. At some point I may implement this. A-Com's themselves use analog input in order to support a wider range of devices logic levels. This may limit the flipper app's compatibility for now.
- Implement ADC for voltage test mode
- Add support for dmcomm debug modes
- In listen mode, use interrupt mode to trigger read
- Add menu entry to do digirom conversion like the website does and save file back out to same file.