Coder Social home page Coder Social logo

flipper-f-com's Introduction

Flipper Zero F-Com

Overview

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

Currently tested apps:

  • W0rld (via Chrome web browser serial)
  • Alpha Terminal and Alpha Serial (Android)
  • Alpha Terminal (Windows)
  • ACom Wiki (Android)

Unsupported Apps:

  • Alpha Serial (Windows) still doesn't seem to detect it

Untested:

  • PenC
  • All other pets
  • Listen Mode

Thanks to Joushiikuta for testing the classic devices which I do not have.

Based on:

Known Issues

Occasionally when using the USB A-Com mode, the flipper zero USB driver will crash the flipper due to the way I'm overwriting the USB VID/PID. I'm not sure why yet and am still debugging this. Subsequent attempts seem to work and this is uncommon (although not rare).

Youtube Example

Video showing app in action

Flipper Hat Module

You will need to construct a circuit similar to the A-Com circuit described in the dmcomm-project github.

Schematic

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.

Installation

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:

  1. Navigate to the checked out copy of the F-Com git repository. Note: Path should look similar to C:\Users\user\[...]\flipper-f-com
  2. Open command line in the flipper-f-com folder
  3. Run py -m ufbt
  4. Run py -m ufbt launch For macOS and Linux, use python3 in place of py.

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.

Menu options

Listen

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

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

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.

USB A-Com

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.

Other Notes / Future stuff

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.

Debug mode support could be added at some point.

flipper-f-com's People

Contributors

orb360 avatar tylerwilley avatar avidegabrielle avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.