Releases: CircuitSetup/Time-Circuits-Display
Time Circuits Display Firmware v3.10
3.10
- Play user-provided "ttcancel.mp3" if TT is cancelled through brake on Remote
- Make TCD<->Remote communication more robust
- P0: Fix speed-jumps on Remote when hitting brake (Remote and TCD firmware)
- Speedo-less operation with Remote: Set TCD speed to 0 as long as brake is on. This prevents a time travel at 88 on the Remote with brake on.
- Modify speedo-less time travel sequence if bttf clients are present or mqtt "publish" (regardless of enhanced TIMETRAVEL message) is enabled, and the tt is triggered by '0', BTTFN or MQTT (NOT: button): Now the sequence takes 5 seconds (as opposed to 1.4 seconds in prior versions) to give the props enough time for a proper acceleration sequence, and in case there is a ttaccel sound, it is played. As before, if the time travel is triggered by external button, it starts immediately and there is no acceleration-time whatsoever.
- If a Futaba Remote control is present, it requires proper acceleration/ deceleration and, in essence, acts like a speedo display; therefore, do TCD-triggered TT sequence as if speedo is present even if there is none. If the Remote is fake-off, only do that if it wants to display speed while off.
- Add "Wireless (BTTFN)" speedo type. Allows using a simple BTTFN-listener as speedo.
- Initialize everything speedo-related independent of speedo presence; if Remote is connected (later), it will require proper accel/deceleration sequence. See also changes of 11/24.
- TCD-controlled TT while Remote is speedMaster: No TT while brake is on. If brake is hit while accelerating, TT(P0) is cancelled.
3.9
- WM: Minor HTML tweaks; make page width dynamic for better display on handheld devices
- Add support for MQTT v5.0 (tested with mosquitto only). Has no advantages over 3.1.1 (but more overhead), only there to use brokers that lack support for 3.1.1.
- Add connection state info on HA/MQTT Settings page
- Clear keypad input buffer when/after holding a key
- Delete Remote/KPRemote upon forbidding remote (KP) control
- WM: Require HTTP_POST for params save pages. Also, check if request has parameter, do not overwrite current value with null (protects from overwriting settings by errorneous page reloads)
- Offer three purposes for TT-OUT (IO14): Time travel (as before), alarm, and control through keypad command; selectable in Config Portal.
- Remove various compilation conditionals (FAKE_POWER_ON, TC_HAVELINEOUT, EXTERNAL_TIMETRAVEL_IN, EXTERNAL_TIMETRAVEL_OUT, HAVE_STALE_PRESENT, TC_HAVESPEEDO, TC_BTTFN_MC)
- Add "stalled P0" feature for speed notification (used by Remote)
- MQTT: Make "enhanced TT" default to on, it avoids the "5s lead problem".
- Add (inter-prop) MQTT-"TIMETRAVEL" command with lead time and time tunnel duration attached, eg. "TIMETRAVEL_4950_6600". Only on bttf/tcd/pub.
- Various fixes to inter-prop MQTT communication
- Abort a network tt ahead of actions that result in a reboot
- Add BTTFN_NOT_BUSY notification and status flag to inform BTTFN clients that the TCD is busy (eg keypad menu) and not ready for time travel. This is also used to transmit Remote(KP)Allowed stati.
- Move HA/MQTT settings to separate config portal page
- Allocate MQTT buffer only if MQTT is actually used
- Re-order time_loop(): Handle timers in loop iteration following second change
- Minor code cleanups
- Put beep in flash now that there is space
- MP3/File-Renamer: Ignore non-mp3 files; display number of files-to-do while renaming
- Decode ID3 tags and free memory immediately on play-back start
- Remove hack to skip web handling in on mp3-playback start, remove stopping sound in AP mode on CP access.
- Block newly injected MQTT command while previous one is still being worked on.
- Add MQTT command "INJECT_"
- Add MQTT commands PLAYKEY_x and STOPKEY
- Add commands 501-509 to play keyX (X=1-9)
3.8
- Add option to disable time-cycling animation
- WM: Generate HTML for checkboxes on-the-fly
- Add "POWER_CONTROL_xx" and "POWER_xx" MQTT commands to control Fake-Power through HA. POWER_CONTROL_xx enables/disables power control through HA, and overrule a TFC switch if enabled. POWER_xx enable/disable fake power when HA has control. Command code 996 disables HA power control. Fake-Power through Futaba remote has priority over HA/MQTT.
- Fix logic error in connection with "Remote fake power controls TCD fake power". Remote firmware 1.12+ will not control fake-power with 3.7.
3.7
- New sound-pack: Includes sounds for remote on/off, and new night mode on/off sounds. (TW04/CS04)
- [Broken in 3.7] Add "Remote fake power controls TCD fake power" feature. While Remote is Master, TFC switch changes are tracked but ignored. When Remote releases fake power control, TFC switch state becomes immediately effective. Configuration of this feature is done solely on the Remote. Requires firmware >= 1.12 on Remote.
- Save beep mode when changed on-the-fly so it's restored on power-up.
- Fix deleting a bad .bin file after upload
3.6.1
- BTTFN: Fix hostname length issues; code optimizations; minor fix for mc notifications. Recommend to update all props' firmwares for similar fixes.
- Restart WiFi power save timers after last BTTFN client has been expired
- WM: Fix AP shutdown; handle mDNS HAPPY BTTF DAY!
- Send "REFILL" (009) to DG only, and via BTTFN, not MQTT.
- Wipe flash FS if alien VER found; in case no VER is present, check available space for audio files, and wipe if not enough.
- WM: More event-based waiting instead of delays
Time Circuits Display Firmware v3.6
3.6
- Speedo: Extend option of displaying leading-0 into "speedo display like in part 3", where the speedo displays 2 digits all the way, but without the dot.
- Speedo: Add option to enable post-point zero on CircuitSetup speedo; it only ever displays 0. Ignored if "speedo display like in part 3" is enabled.
- Some more WM changes. Number of scanned networks listed is now restricted in order not to run out of memory.
- Internal: new json tags to make json file smaller
3.5.4
- WM: Do not garble UTF8 SSID; skip SSIDs with non-printable characters
- Fix regression in CP ("show password")
3.5.3
- Config Portal: Minor restyling (message boxes)
3.5.2
- More WM changes: Simplify "Forget" using a checkbox; redo signal quality assessment; remove over-engineered WM debug stuff.
- Slightly increase transmit power in AP mode on CB 1.4+. 2025/10/08-10 (A10001986) [3.5.1]
- Increase max BTTFN clients from 5 to 6
- WM: Set "world safe" country info, limiting choices to 11 channels
- WM: Add "show all", add channel info (when all are shown) and proposed AP WiFi channel on WiFi Configuration page.
- WM: Use events when connecting, instead of delays
Time Circuits Display Firmware v3.5.0
3.5.0
- Add emergency firmware update via SD (for dev purposes)
- WM fixes (Upload, etc)
- WM: Skip setting static IP params in Save
- Add "No SD present" banner in Config Portal if no SD present
- CP: Show msg instead of upload file input if no sd card is present
3.4.3
- Let DNS server in AP mode only resolve our domain (hostname)
3.4.2
- Allow 6 clients in AP mode instead of 4. So all props can connect to the TCD in AP mode, plus one admin computer/hand held. HOWEVER: Under normal use, do NOT connect a computer or phone to the TCD in AP mode unless for configuration changes. That computer might think it is connected to the internet, resulting in lots of network traffic, leading to packet loss, slowdowns or out-of-sync animations. 2025/10/03-04 (A10001986) [3.4.1]
- More WiFiManager changes. We no longer use NVS-stored WiFi configs, all is managed by our own settings. (No details are known, but it appears as if the core saves some data to NVS on every reboot, this is totally not needed for our purposes, nor in the interest of flash longevity.)
- Save static IP only if changed 2025/09/22-10/03 (A10001986) [3.4]
- WiFi Manager overhaul; many changes to Config Portal. WiFi-related settings moved to WiFi Configuration page. Note: If the TCD is in AP-mode, mp3 playback will be stopped when accessing Config Portal web pages from now on. This had lead to sound stutter and incomplete page loads in the past.
- Various code optimizations to minimize code size and used RAM
- Config Portal: Re-order settings; remove non-checkbox-code.
- Turn former compile-time option "SP_ALWAYS_ON" into run-time option "Switch off speedo when idle". SP_ALWAYS_ON still exists but now only defines the default setting.
- Turn former BTTF3_ANIM (for part-3-like date entry animation), REV_AM_PM (for reversing AM/PM) and SKIP_TT (for skipping the time-tunnel display animation) options into run-time options. All default to off.
- Config Portal: Display image links to currently connected BTTFN clients in top menu
- Config Portal: Add "install sound pack" banner to main menu
Time Circuits Display Firmware v3.3.1
3.3.1
- Extend mp3 upload by allowing multiple (max 16) mp3 files to be uploaded at once. The TCDA.bin file can be uploaded at the same time as well. 2025/09/17-18 (A10001986)
- WiFi Manager: Remove some more unused code to reduce bin size. Reduce HTML output by removing "quality icon" styles where not needed.
3.3.0
- Refine mp3 upload facility; allow deleting files from SD by prefixing filename with "delete-".
- WiFi manager: Remove lots of
tags; makes Safari display the pages better. - Allow uploading .mp3 files to SD through config portal. Uses the same interface as audio container upload. Files are stored in the root folder of the SD; hence not suitable for music player.
- WiFi manager: Remove (ie skip compilation of) unused code
- WiFi manager: Add callback to Erase WiFi settings, before reboot
- WiFi manager: Build param page with fixed size string to avoid memory fragmentation; add functions to calculate String size beforehand.
- Use "century" bit of RTC in order to restore correct time from RTC if TCD is powered down before 1/1/2099 and powered-up after 31/12/2099.
- Make several class methods (implicitly) "inline" to reduce bin size
- Limit speed from GPS receiver to int8 range; minor fix for "-" to "0" transition in case of lacking fix.
- Change version display: TW edition = "A", CS edition = "C"
Time Circuits Display Firmware v3.2.005
Full Changelog: v3.2.004...v3.2.005
Time Circuits Display Firmware v3.2.004
Full Changelog: v3.2.003...v3.2.004
v3.1.1
This release contains a number of bug fixes and new features, again, thanks to Thomas Winischhofer @realA10001986.
Click here for instructions on updating the TCD firmware
A new sound pack is required for this update. See here for instructions on updating sound files.
Notable changes since v3.0.99
- Added support for upcoming Futaba remote control, including playing a sound when remote is turned on/off, syncing speedo speed with remote, STOP remote switch functionality (speedo displays 0 until stop switch/brake is turned off), and accelerating to 88mph to trigger time travel
- Revisit UTF8 filtering for MQTT messages and ID3 data
- Properly truncate UTF8 strings (MQTT user/topics) if beyond buffer size
- Fix for line-out switching
- Skip white led blink if fake power switch is on pos during boot
- Add support for HDC302X temperature/humidity sensor
- Key3, key6 are now played over line-out (if available and enabled)
- Speedo/acceleration: Implement option to use either real-life figures (as before), or movie-like figures (matching the Futaba Remote's times).
Accel factor only applies to real-life times.
"Movie-like" is measured/interpolated from mph incrementing times on the Remote control's display.
If speedo is not found or disabled, movie-like times are used.
v3.0.99
This release contains a number of bug fixes and new features, again, thanks to Thomas Winischhofer @realA10001986.
Click here for instructions on updating the TCD firmware
A new sound pack is required for this update. See here for instructions on updating sound files.
Notable changes since v2.9:
- Support for audio line out (to connect external speakers for sounds other than the keypad enter & dial sounds) on control boards v1.4 & v1.4.5
- Audio line out settings on/off option 350/351
- Major code cleanup & numerous bug fixes
- Switched keypad sounds to wav for more immediate play-back
- BTTFN: Device type VSR (8xxx) added; AUX is now 5xxx.
- Tweak acceleration sound logic; use with-lead-version of tt sound if time is too short for the accel sound, but long enough for the lead.
- New user-sound: If SD contains "ttaccel.mp3", this file will be played immediately upon initiating a time travel when a speedo is connected, during the acceleration phase, until the start of the actual time travel (at which point it is interrupted by the usual time travel sound). This sound can "bridge" the silence while the speedo counts up.
- 998 restores destination and last time departed displays to user-stored values (ie the ones programmed through the keypad menu, unless overwritten because "Persistent Time Travels" were enabled at some point after programming those times). Command only valid if Persistent Time Travels are off. Pauses time-cycling for 30 mins. Meant as an extension to Exhibition mode for quickly displaying pre-programmed times.
- Time: Time stored in the hardware RTC is now UTC (was local time previously)
- User-set dates/times for Destination and Last Time Departed displays are now considered "secondary settings" and saved to SD (if available and corresponding option is set).
- "Persistent Time Travels" now require the option "Save secondary settings to SD" to be checked, and an SD card to be present.
- Do not "return from time travel" if not on a time travel.
- Config Portal: Propose most used time-zones as datalists for time zone entry.
- Include fork of WiFiManager (2.0.16rc2 with minor patches) in order to cut down bin size
- Audio data (TCDA.bin) can now be uploaded through Config Portal ("UPDATE" page). Requires an SD card present.
- New keypad codes: 300-319 sets volume level; 399 activates volume pot; those are short-cuts to avoid the keypad menu to change the volume selection.
- Speedo GPS: Make speedo update rate user-configurable
- 33+ENTER shows weekday of currently displayed "present time" date.
- Support for MS8607 temp+hum sensor
- Support for various rotary encoders to set Speedo speed
- WiFiManager: Disable pre-scanning of WiFi networks when starting the CP. Scanning is now only done when accessing the "Configure WiFi" page.
- BTTFN: Clients can now discover the TCD's IP address through the TCD's hostname. Uses multicast, not DNS.
TCD v2.9.1
This release contains a number of bug fixes and new features, again, thanks to Thomas Winischhofer @realA10001986.
Click here for instructions on updating the TCD firmware
A new sound pack is required for this update. See here for instructions on updating sound files.
Notable changes since v2.8:
- Add remote control facility through TCD keypad for Flux Capacitor, SID and Plutonium Gauges via BTTFN.
3xxx = Flux Capacitor, 6xxx = SID, 9xxx = Plutonium Gauges\ - Add compile time option to disable tt sequence display flicker (TT_NO_ANIM)
- Add custom "stale present time" mode: 99mmddyyyyhhMM sets a stale present time
- Add option to signal time travel on TT_OUT/IO13 without 5 seconds lead
- Add "AP name appendix" setting; allows unique AP names when running multiple TCDs in AP mode in close range
- Add AP password: Allows to configure a WPA2 password for the TCD's AP mode
- Add "car mode": Reboots (and stays) in AP-mode
- Add REFILL network command for Plutonium gauges; triggered by 009ENTER
- Keep speedo showing "00" when neither temp nor GPS speed are to be displayed instead of switching it off
- Make lead time for time travel variable for BTTFN clients
- WiFi connect retry: When no network config'd, set retry to 1
- Config Portal: Clicking on header logo jumps to main menu page
- Holding ENTER during boot not only deletes static IP config (as before), but also temporarily clears AP mode WiFi password (until reboot).
- MQTT-induced TT is now always immediate
- If specific config file not found on SD, read from FlashFS - but only if it is mounted
- If SD mount fails at 16Mhz, retry at 25Mhz
- Make timetravel more immediate for some hardware configurations and in some situations
- Exhibition mode: Honor "Make time travels persistent" option properly
- Don't use speedo if not detected
- Auto-expire beep-timer when entering night mode
- Whenever the beep timer is(would be) restarted, the wakeup is sent
- Colons on in night mode
- Fix P1 length sent to BTTFN clients
Additional changes with v2.9.1:
- Fix boot loop when SP_ALWAYS_ON is enabled - this prevented the TCD from fully loading without a speedo connected
- Abort audio file installer on first error
- Settings: (De)serialize JSON from/to buffer instead of file
- Customize ArduinoJSON compile-time options to reduce bin size
- Add support for a rotary encoder to select "speed" to be displayed on the speedo
- Unmount filesystems before reboot
- WiFiManager: Disable pre-scanning of WiFi networks when starting the CP
Full Changelog: v2.8...v2.9
TCD v2.8
This release contains a number of bug fixes and new features, again, thanks to Thomas Winischhofer @realA10001986.
Notable changes since v2.6: (v2.7 was skipped)
- Added MQTT feature - can display txt sent via MQTT, and trigger time travel events when sent TIMETRAVEL. Events (time travel, alarm) are also published to the subscribed MQTT topic.
- Added beep modes and keypad shortcuts (000 disables beep, 001 enables beep, 002 and 003 enable beep for 30/60 seconds after entering a destination time and/or upon initiating a time travel)
- Added World Clock mode with city labels (112+ENTER toggles World Clock mode)
- Added yearly/monthly reminder feature (77mmddhhMM, 77 displays current reminder, 770 deletes it, 777 displays the days/hours/mins until the next reminder)
- Many logic/bug fixes/code optimizations
Full Changelog: v2.6...v2.8