V1 Custom Bluetooth Remote Display

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
  • Thread starter
  • Admin
  • #1
I believe I am now ready to release what we will call the V1 ReCD, or V1 Remote-CD.
The idea for this project came from @OBeerWANKenobi and @InsipidMonkey Original Thread

IMG_20200519_154409.jpg

IMG_20200424_094202.jpg

IMG_20200424_094209.jpg


Special thanks to @croup for sending me his V1G1 and V1G2 to use during the development process. He not only offered them indefinitely, but he also sprang for overnighting them to me and incurring a $50 shipping cost because of that.

I would also like to thank those that donated during the time the donation link was up. All of the money that was donated went to the development of this project: The different boards and components tested, the prototyping of the cases, and to cover croup's shipping cost.
Thank you in no particular order: @dudeinnz, @sdrawkcaB, @thanks (lol), @croup (again :mad:), @Elcid2015, @blulite
We appreciate it a lot and want you to know that all of your $$ went to designing, prototyping, and building this project!

What this is, is a firmware that runs on a esp32 development board and acts like a remote concealed display for the Valentine 1 (G1 or G2) radar detector, showing alerts and allowing basic remote control of the V1.

This thread will be for issues, updates, and feature requests.

FAQ

How can I get this?
There are two ways to get one of these remote displays:
  1. Buy a board ESP32 TTGO and flash it with the firmware provided. This is a bit difficult and not for everyone due to the setup process and the ease of bricking your board.
  2. Buy a pre-flashed kit from us. This includes the board already flashed, a license applied, and a case specifically designed for this by the amazing @OBeerWANKenobi .
What are the requirements to use one?
Besides a Valentine 1 and a V1C-LE if you are connecting to a G1, you will need a mobile device with wifi and a web browser to be able to configure the display and connect it to your V1.

How does it connect to the V1?
The display uses bluetooth low energy to connect to the V1. This means that you will need your V1 to have a bluetooth interface. For the V1G2, you can use the internal bluetooth or an external V1C-LE dongle. For a V1G1, you must use an external dongle.
Note that the old android v1 bluetooth dongle is NOT supported; only the V1C-LE is.

Can I use an app like JBV1 or V1Driver alongside this display?
Yes. You can either use the display standalone or while the V1 is paired to a phone. If you want to use it alongside a phone, you must have a second bluetooth interface. Each device can only connect to one interface so, for example, when using an phone connected to the G2's internal bluetooth you must have an external V1C-LE to connect the display to.
Hopefully this requirement will change in the future but that would require either sniffing BLE traffic between the V1 and a phone, having app developers add support for an external display over BLE, or using the remote display as a proxy.

How can I update this display when new updates are released?
Updating the firmware requires a 2.4GHz wifi connection. Here is how to perform an update.

What kind of data do you collect?
Because updates are automatically downloaded from a server, some data is sent back and parts of that data are stored. See the System Stats section of the user manual.

I don't like function X or want to have function Y.
Feel free to post feature requests or changes in this thread. If the majority of people agree, I can implement them in the next firmware update.

There is an issue; something isn't working correctly.
Report your bug with as much detail as possible; what happened, what type of V1 was connected, what state was the display in (standby or alert), etc. I can only fix a bug if I can recreate it on my end. Help me do that.

I want to help by being a beta tester.
Awesome, thanks! First a word of warning: While you will get the latest firmware with the newest features as I release it, you will also get issues and bugs that come out of those new features. Some that can temporarily make your display not operate correctly.
If you still want to help by beta testing, let me know when requesting a license or buying a kit if you want to be on the beta firmware or stable. This can always be changed later on if you change your mind.


I want to donate to the project/you.
I appreciate it as I have put upwards of 100 hours into writing the firmware and fronted the money (offset by donations) to get through prototypes, batch orders, and development tool licenses. If you'd like to donate for this project to help me recoup my initial costs, here is my paypal link: paypal.me/thesquirrelmaster
 
Last edited:

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
  • Thread starter
  • Admin
  • #2
Here is the current user manual. This is how you configure and pair your display.

Setting Up The V1 Remote CD

Setting up the display requires a phone or other WiFi enabled device. Note that the device must support 2.4GHz WiFi.

Connecting

The display creates its own WiFi access point. To configure its options and connect to your V1, you must connect your phone to the WiFi access point and redirect your browser to the display's address.


  1. Connect your phone or mobile device to the WiFi network V1RemoteCD. The password is password.... Yeah I know.
  2. Once you have connected, open your browser and point it to 192.168.1.1. This is the local address for the display's configuration web server.
  3. You should now be at the configuration home page. There will be four buttons here:
    • Bluetooth Setup -- This is where you search for and select your V1 device to connect to.
    • Preferences -- This is where you can change different settings on the display.
    • System Stats -- Here you can see internal information about the display.
    • Administration -- Stay Out! Touching things in here can cause issues with your display. Don't enter unless instructed to do so. If you change anything in here and something breaks, it is your own fault. (For those that aren't deterred, the password is password)
Bluetooth Setup

Entering the bluetooth setup page will disconnect any currently connected devices and start scanning for Valentine Research devices. The list will periodically update as devices are discovered. Once the page has found your V1, click its name on the list to connect to it. The display will connect and send you back to the home page. You should see the physical display clear the V1 Disconnected message and show the bogey counter. If no device is discovered after ~30s of searching, make sure your V1 is powered on and nothing else is connected to its bluetooth interface. Then refresh the page to start the search again.

Preferences

Here is where you can change different options.


  • Display Options
    • Main Display Color - Here you can select the base color scheme of the display. This will change all of the elements drawn on the screen to your selected color.
    • Rainbow Mode - This enables or disables the multi-colored band indicators and the adaptive color signal strength bar graph.
    • Mute To Gray - This enables the option that grays out the display when the V1 is muted.
    • Main Display Type - This chooses the display layout.
      • Standard - This is a basic imitation Concealed Display.
      • All Threat - This shows multiple Bogeys on the screen simultaneously.
      • Auto - This acts as the standard option for one bogey but switches to all threat during multiple bogeys.
    • Ambient Display - This enables the bogey counter and faint arrow glow during standby (no alert)
    • Display Orientation - This allows you to change the display orientation and flip.
  • Interface Options - Here you can configure actions for the buttons and touch sensors (if equipped).
  • Brightness Options
    • If no auto brightness equipped - There is a manual brightness and a ambient display brightness slider that allows you to adjust how bright the display's backlight should be in each state.
    • If auto brightness equipped - There is a minimum brightness and a maximum brightness slider to control the range of the auto brightness. There will also be a checkbox to enable or disable auto brightness.
  • Indicator Brightness Options (If enabled in the Administration page)
    • Flash During Alert - Flash the external LED while there are one or more bogeys detected by the V1.
    • Standby Brightness Level - LED Brightness when no bogeys detected. Set to 0% to disable.
    • Alert Brightness Level - LED Brightness when bogeys detected. Set to 0% to disable.
    • Muted Brightness Level - LED Brightness when no bogeys detected and V1 muted. Set to 0% to disable.
  • Miscellaneous Options
    • WiFi Connection Notification -- This enables or disables the notifications for the WiFi access point and device connections.
    • V1 Connection Notification -- This enables or disables the notification that comes to alert that there is no V1 connected to the display.
System Stats

This page lists internal information. It is only really useful for debugging issues. There is a JSON object printed at the bottom with some information. This is data that gets collected. Upon a firmware update being run, the device will send that object to a server and log it. There is no personal data being stored/saved. Here is what each field means:


  • mac_addr: This is the display's network "id number".
  • chip_ver: This pertains to the chip silicon.
  • package_ver: Again, this refers the chip silicon.
  • sev_ver: This is a security identifier and shows the encryption status.
  • idf_bl_ver: This is the version of the toolchain that built the recovery app.
  • idf_app_ver: This is the version of the toolchain that built the main running firmware.
  • fw_xx_ver: This is each app's version.
  • app_prev_ver: This is the previous running firmware before recovery.
  • comp_time_xx : This is each app's time of compilation.
  • comp_date_xx: This is each app's date of compilation.
  • ** elf_sha_xx**: This is each app's digest.
  • recovery_counter: Unimplemented
  • boot_counter: Unimplemented.
Recovery and Updates

This display has a bootable recovery partition that can restore the firmware in case something has gone wrong. Due to a limitation of the hardware on the board, firmware updates have to be performed using the recovery. It is mostly the same process, but with a few small differences. First and foremost, when performing a firmware update, data from your device is sent back to a server. Please read the System Stats paragraph to understand this data and what it is used for.


Booting into recovery will try and update the firmware on the device. You will not be able to go back to the main firmware once launching recovery without fully completing it.

Booting into Recovery

There are two ways of entering recovery mode; through a button combination and through the web interface.


  • Buttons- To boot into recovery using the buttons, you must perform the following steps in the correct order and exactly as stated.
    • Either unplug the display or hold down the small reset button on the side.
    • Plug the display in or release the reset button.
    • IMMEDIATELY press and hold button 1 (The button with one nib). You cannot hold this down as you power the board on. It must be pressed and held just after the board receives power.
    • The display should clear and the backlight should turn on.
    • Hold the button down for four seconds until the display restarts. You should see it display Recovery Mode at the top.
  • Web Interface - Enter the web interface and navigate to the Administration page. The password is password. Proceed at your own risk as you can brick the board by messing with options here. Once on this page, scroll to the bottom and click Boot Recovery. This will ask for confirmation. If you are sure, click ok to proceed. The board will reboot into recovery.
Booting for an Update

The procedure for performing an update is the same as the recovery procedure with the option of saving your preferences. Recovery factory resets and performs an update while update just.... well.... updates. To boot into recovery using update mode, you can again use the buttons or the web interface:


  • Buttons - This is the same procedure as the recovery boot except that you must ALSO hold button 2 at the same time as button 1. Once the device reboots, it should say Update at the top.
  • Web Interface - Navigate to the Administration page as per the recovery procedure but instead of clicking Boot Recovery, press Perform Update instead. This will once again ask for confirmation.
Steps to Update or Recover

Once you have successfully booted into recovery/update mode, you can now perform the actual update. For this, a WiFi network with an internet connection is required as well as a mobile device.

First time setup (also required if your previously used wifi network is unavailable)

  • Navigate to your mobile device's wifi settings and look for V1RCD_Recovery. This WiFi network will either have no password or it will have the password recovery.
  • Once connected to that network, navigate to 192.168.1.1 in your browser. This will open up the recovery page.
  • Enter in your wifi SSID and Password and click submit. These need to be spelled correctly. They are also case sensitive.
  • The device will start scanning for your network and connect to it if the credentials are correct. Once it is connected, it will start the firmware update process.
  • The display will save your credentials (in an encrypted partition) so that for future updates, you will not need to enter them in again.

Once connected and the update has started, the display will first update its firmware; the code running on it. After that has completed successfully, it will move on to updating its file system and resources (images, web pages, etc.) Upon successful completion, the display will reboot into the normal operating state.
 
Last edited:

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
  • Thread starter
  • Admin
  • #3
Buying a Pre-built Kit

If you would like to buy a kit that is pre-assembled and flashed, this is how you can do that.
Kits will be available in batches due to me having to hand assemble them and not wanting to order more than there is interest for. Also, because of this, each batch will have a one order limit per person and will be first come first serve.

Kits come with a pre-flashed board, a 19-year software license, and the matte black case.

The total cost will be $55 for the kit. This covers the cost of the board, case, shipping to conus, @OBeerWANKenobi's time designing the case, and my first 100 hours of code.

IMG_20200624_185945.jpg

Note that there is a film on the display. This is just to protect the screen during assembly/shipping. It is not a screen protector. Please remove it.


IMG_20200624_193741.jpg



If you'd like to purchase one, I will announce when a batch is available. Once the post is live, shoot me a PM and as long as there's still a display available in the batch you can purchase a display using paypal.

Batch 1, 10 units, 06/24/2020
This is the first batch of kits. It comes pre-flashed with firmware version 3.0R.
Starting off with 10 units, Two are currently reserved.
Available: 0/10 - All gone from this batch

Batch 2, 7 units, 07/09/2020

It comes pre-flashed with firmware version 3.2R.
Available: 0/7 - All gone from this batch
 
Last edited:

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
  • Thread starter
  • Admin
  • #4
Flashing Your Own Board

Due to a lack of enough flash storage, I could not make my OTA updates work seamlessly. I ended up compromising halfway between OTA updates and no updates.... Therefore, the initial recovery firmware is loaded by flashing the board over USB. After that, you will need to set up your WiFi network for the display to connect to and download its actual running firmware. This is designed this way so that no matter what, there will always be an easy way to recover and/or update the firmware without needing to flash it over USB again.

Flashing this will lock your board to only be able to run this firmware. If you ever want to use your board for something else, you WILL NOT be able to after flashing this. If you mess up the flashing process, your board WILL be bricked and unusable. Proceed at your own risk.

This initial flash isn't for everyone. You need some basic terminal and serial port knowledge. If the following steps are confusing, just google something like "How to flash an esp32 board"
  1. Make sure your environment is set up so that you can flash the firmware to the esp. You will need python and basic terminal knowledge. Here is the tool's info https://github.com/espressif/esptool
    1. This will be different/easier later on. I just did not feel like writing my own app to flash the firmware just yet. Once this stops being beta, I will write an app to make this easier
  2. Unzip the firmware zip file somewhere and open a terminal in that directory.
  3. Make sure your esp is connected to the pc over USB and then run the command in the flash.txt file. Make sure to change the YOUR_ESP_SERIAL_PORT to whatever port the board enumerated to. For windows it would be something like COM4 and for linux it would be something like /dev/ttyAMA0.
  4. After the flashing is complete the display will remain blank for some time. DO NOT unplug or reset the board after the flash completes. If you interrupt the display's power, it will PERMANENTLY brick the display board. The device will encrypt itself immediately after the flash is complete. Interrupting this will brick your board.
  5. After a successful flash and some time passing, you should see the display light up and say "Recovery Mode" at the top. After a little bit, it will display that it is waiting to connect to wifi.
  6. Using some device with wifi, go to your wifi settings and connect to V1RCD_Recovery. This may or may not ask for a password. If it does, the password is recovery.
  7. Once you connect to its wifi, open your browser and navigate to 192.168.1.1. This will open its initial wifi configuration page. Enter your wifi SSID and password CORRECTLY. (Case sensitive). Then click submit. It will remember this data from now on so you don't have to enter it again.
  8. If you entered your credentials correctly and the network is found, the display will change letting you know that an update is being performed. First it will update its firmware, then its firmware. If it is successful, it will reboot into the CD firmware. Otherwise it will display a failure notification. In that case, reboot the device and let it try again.
  9. Once the device boots into the main firmware, it will give an error that no valid license is found. You need to pm me the two codes that are displayed on the error message (write them out or take a pic) and pm me them as well as if you want to be on the beta channel or the stable channel. I'll generate a license for the device and you can re-update it to let it get its license and start operating. For now, one license per person.
Do NOT flash more than once. You should only ever have to flash this part once. Doing so a second time WILL brick your board.

Now you'll have the recovery and main firmware installed. You should never need to do this step again.
Now you can move on and set up the display.
 

Attachments

Last edited:

thanks

for all the fish
Advanced User
Lifetime Premium Member
Joined
Sep 16, 2016
Messages
7,215
Reaction score
9,786

nickc30

Learning to Drive
General User
Joined
Nov 3, 2017
Messages
25
Reaction score
15
Squirrel - for the non-licensed v1 betas running around are they able to be re-flashed to v6 or upgraded to a licensed version via wifi, or will they be no longer supported?
 

thanks

for all the fish
Advanced User
Lifetime Premium Member
Joined
Sep 16, 2016
Messages
7,215
Reaction score
9,786
I upgraded the beta to the final. When you do so, you will need to get licensed with @SquirrelMaster . Just follow the instructions. If you were able to get the beta running, you should have no issues with the final.

BUT:
Realize that you can do that now following the instructions, but you will have NO FUNCTIONALITY, just a License Error screen, until your unit gets licensed.
 

OBeerWANKenobi

This is not the car you're looking for......
Moderator
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Mar 20, 2018
Messages
6,629
Reaction score
18,975
Location
Outer Rim - Hiding from 35.5 I/O
The cases that I ordered to my design came in. They look pretty nice.

IMG_20200504_170840.jpg


IMG_20200504_170825.jpg


I like the matte finish and texture.
 

wgmontgomery

Learning to Fly
Beginner User
Joined
Mar 12, 2020
Messages
238
Reaction score
230
Forgive me if this has been answered (I did look):
Any idea/ballpark price on complete ready-to-go unit?
Thanks
 

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
Forgive me if this has been answered (I did look):
Any idea/ballpark price on complete ready-to-go unit?
Thanks
It looks like we are aiming for $50 for a pre-flashed board, matte black case, a 19 year license (for the firmware and updates).

IMG_20200519_130904.jpg
 

thanks

for all the fish
Advanced User
Lifetime Premium Member
Joined
Sep 16, 2016
Messages
7,215
Reaction score
9,786

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
@SquirrelMaster if someone has already flashed with 6.0 (before the takedown), what shouldbe done?
Nothing needs to be done if on 6.0. Don't flash to 7.0 either. Everything will work normally but from now on, new boards should get flashed with 7.0



after the 19 years, what will be the renewal fee? ;)
Pain and suffering
 

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
is there a way that you will track updates, so one can check their version and whatever is the latest version?
Yeah all my code is on my Microsoft azure so changes are tracked. Ill update the thread any time there's an update.

I can also see server side who is on what version and send updates to individual people if they fall too far behind :p
 

springer1981

Learning to Fly
Beginner User
Joined
Apr 21, 2020
Messages
104
Reaction score
226
A Thanks to Squirrelmaster for the help last night getting my display licensed.

The flashing was a little complicated the first time but once it was all setup it only took a few minutes. I put the bare board in my car today just to test it out. The display seemed a little too small until it was lit up and indicating radar in front of me. It's still small but actually doesn't need to be any bigger for the information it displays. I like it the way it is.

Next task is going to be a custom install in my steering wheel. I have a new steering wheel coming and a functional display. Let the fun begin!
 

akadeno

Learning to Drive
General User
Joined
Mar 26, 2020
Messages
6
Reaction score
6
Got my display flashed and is working great. Worked with Squirrelmaster to get my license setup on the back-end and its up and running perfectly. Can't wait to get some real life radar hits to see it light up.
Post automatically merged:

The cases that I ordered to my design came in. They look pretty nice.

View attachment 146489

View attachment 146488

I like the matte finish and texture.
I just need one of these low profile cases now for my display. Hopefully you offer these by themselves, or offer the plans so we can print our own.
 

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
When can we order? :)
It appears they sent the slowest swimmer they had to deliver the first batch of boards I ordered. Once those show up, I can start taking orders. Will update the thread once that happens.
 

BDrag

Learning to Drive
General User
Joined
Apr 25, 2020
Messages
29
Reaction score
41
It appears they sent the slowest swimmer they had to deliver the first batch of boards I ordered. Once those show up, I can start taking orders. Will update the thread once that happens.
Got it working! Looks amazing!! A thought occurred to me, is it possible to run two Bluetooth V1C LEs on a Gen 1 to get V1 Driver and the remote display to work at the same time?
 

Attachments

SquirrelMaster

Likes Unicorns 🦄
Administrator
Security
Corgi Lovers
Advanced User
Lifetime Premium Member
Joined
Dec 3, 2015
Messages
4,564
Reaction score
12,035
Location
Liberal California
Got it working! Looks amazing!! A thought occurred to me, is it possible to run two Bluetooth V1C LEs on a Gen 1 to get V1 Driver and the remote display to work at the same time?
What a cute little squirrel that is.

Yes, it should be possible to run two dongles. I believe @johnboy00 confirmed it was possible but I cannot find the quote right now.
 

Discord Server

Latest threads

Latest posts

Forum statistics

Threads
89,302
Messages
1,358,132
Members
22,479
Latest member
durandjason825
Top