Před dávnými lety (v roce 2021) jsem od pražského dopravního podniku koupil vyřazený terčíkový (flip-dot) panel BUSE BS 210.C. Původní plán byl použít ho v kroužku robotiky, ale nakonec se tak nestalo.

Veřejná dokumentace k panelu neexistuje a BUSE Blansko (výrobce) na prosbu o dokumentaci nereagoval.

První pokusy

Hardware

Panel je zezadu kryt plechem se čtyřmi “zámečky” podobné konstrukce jako jsou na rozvaděčích. První krok byl tedy jasný – navrhnout a vytisknout klíč1.

Jeden ze zámků na zadním krytu panelu.

Jeden ze zámků na zadním krytu panelu.

Po otevření nás čeká základní deska, která je opravdu pěkně zpracovaná a hlavní svorkovnice.

Svorkovnice uvnitř panelu se stále zapojeným originálním kabelem.

Svorkovnice uvnitř panelu se stále zapojeným originálním kabelem.

Svorkovnice Význam
S ?
ME 0V (Vss), nulový potenciál
ED odpověď zařízení
MS 0V (Vss), nulový potenciál
SD příkaz pro zařízení
0V 0V (Vss), nulový potenciál
+V 24V (Vcc)
-LED 0V (Vss), nulový potenciál
+LED 24V (Vcc)

IBIS

Dalo se očekávat, že panel implementuje protokol IBIS pro komunikaci. IBIS je vlastně jednoduchý UART sériový protokol o rychlosti 1200 baudů (konkrétně 1200 7E2). Sběrnici má vždy pod kontrolou palubní počítač, který posílá příkazy a případně očekává odpověď. Hodně příkazů je neadresných a chovají se vlastně jako broadcast (reagují na ně všechna zařízení). Nicméně je navržen pro autobusy, tedy 24V palubní síť. I datové linky jsou 24V, takže nejdou připojit přímo do běžného RS232/UART rozhraní počítače.

IBIS označuje jednotlivé příkazy jako telegramy2. Telegram je ve specifikaci označován pomocí čísla (např. 001, také často zapisováno jako DS001). Nicméně fyzicky jsou příkazy často reprezentovány jedním nebo dvěma znaky. Takže DS001 znamená fyzicky odeslaný příkaz l jako linka (line). Takže linka 1001 bude znamenat telegram l1001. Jednotlivé texty (např. jméno stanice) jsou ovšem uloženy přímo na jednotlivých zařízeních, při běžném provozu se tedy posílají pouze krátké zprávy jako změna linky, cílové stanice apod.

IBIS Příkaz Význam Příklad
l{:>03} linka l176
zC{:>04} cílová stanice zC1005
zD{:>04} příští stanice (2. řádek) zD1006
aA{:>02}text vypsání textu na zařízení s konkrétní adresou aA01Dobry den
uHHMM nastavení času HH:MM u1205
e{:>06} tarifní zóna e000001
a{:>02} stavové hlášení zařízení na adrese; normální stav je pak a0 a01
aV{:>02} dotaz na verzi zařízení na adrese aV01

Převodník na TTL logiku jsem postavil ze dvou MOSFETů (pro vysílání) a odporového děliče (pro příjem). Protože to byly dva docela náhodné tranzistory a hodnoty odporů byly taky dost náhodné, signálová integrita nebyla nic moc.

Pomocí pyFISexternal link se mi podařilo odeslat několik základních IBIS telegramů. Např. jsem proiteroval hodnoty linek (příkaz l) a tím objevil některé zajímavé linky DPP :)

Nicméně, k mému velkému zklamání, panel nereagoval na příkazy jako aA, takže nebylo možné vypisovat vlastní text.

Na Internetu jsem objevil, že existují programy GBUSE0.exe a GBUSE1.exe, které dodává výrobce a slouží právě ke konfiguraci obsahu3. Když se mi jej podařilo v jedné skupině najít, bylo jasné, že autor konfigurace má možnost jednotlivé příkazy vypnout/zapnout. Takže DPP se rozhodlo aA nepovolit4 (a ani zM nefungovalo).

Screenshot GBUSE.

Screenshot GBUSE.

Existuje také další aplikace výrobce BSLoader. Ta umožňuje nahrát obsah do panelu a také provést servisní úkony jako test panelu. Nicméně mi aplikace odmítala s panelem fungovat. Což bylo jednak mojí snahou pouštět ji pod wine a druhak signálovou integritou mého hnuso-převodníku.

Někde tady jsem projekt odložil …

Druhý pokus

V roce 2026 jsem projekt oživil a to ze dvou důvodů – jednak jsem narazil na popis servisních příkazů, druhak jsme s dětmi vymysleli, že panel dáme na plot a budeme na něj posílat moudra pro potěchu kolemjdoucích5.

IBIS převodník

Po (neslavných) zkušenostech jsem předělal převodník a použil 74HC14 Schmittovy invertory jako základ.

Převodník 24V IBIS na TTL (nebo 3.3V) s 74HC14.

Převodník 24V IBIS na TTL (nebo 3.3V) s 74HC14.

Tento design se osvědčil. Bez problémů začal fungovat i BSLoader.

BSLoader a aA

Nejdříve jsem zkusil nahrát novou konfiguraci, která by povolila posílat aA apod. příkazy. To se podařilo a vypisování opravdu fungovalo. Ale nebylo možné jakkoli ovlivňovat formátování. Text byl vždy vypsán velkým fontem. Našel jsem sice popis jazyka MNEMO, který slouží pro popis formátování, ale ten funguje pouze pro vytváření uloženého obsahu. Nelze ho použít pro IBIS příkazy.

MNEMO jazyk

MNEMO jazyk

Vlastní řídicí elektronika

V tuto chvíli jsem chtěl vzdát použití originální BUSE elektroniky a prostě navrhnout vlastní řízení, které by se připojilo místo původní desky. Dokonce jsem narazil na velmi podobný projekt https://github.com/mcer12/Flippity210external link . Původní deska má samozřejmě také pěkně zpracovanou driverovou sekci…

Originální deska, část s drivery.

Originální deska, část s drivery.

Opravdu mi přišlo jako hrozné mrhání ji prostě jenom vyhodit. Zvažoval jsem i možnost, že odpájím originální procesor a vyvedu z jeho GPIO konektor, do kterého připojím vlastní.

Vlastní firmware pro původní řídicí jednotku

Vrátil jsem se ještě na chvíli k původnímu procesoru. Jedná se o TMP96C141BF, 16bitový procesor od Toshiby6, dnes již nedoporučovaný pro nové designy. Toshiba pro něj dodávala IDE, které běželo pouze na Windows, ale kompiler a linker byly programy použitelné na příkazové řádce.

Především řídicí část původní desky. Je dobře vidět EEPROM v patici a procesor.

Především řídicí část původní desky. Je dobře vidět EEPROM v patici a procesor.

EEPROM (AT28C64B) s originálním firmware je užitečně umístěna v patici. Zároveň Anthropic opět zpřístupnil Fable5 a také jsem na Internetechexternal link našel kopii původního IDE a pomocných programů od Toshiby. Přečetl jsem tedy originální program a nechal Fable5, aby napsal vlastní, který by implementoval pouze jeden příkaz – vykreslení bitmapy. K mému velkému potěšení se opravdu povedlo a mám teď funkční firmwareexternal link , který umožňuje rychlé vykreslování bitmapy na panelu. O převod textu na bitmapu apod. se teď stará zdroj (v mém případě Python skript).

Bezdrátový panel

Další krok je vytvoření Wi-Fi převodníku na 24V UART, tedy kombinace popsaného rozhraní a např. ESP32. Aby bylo možné posílat bitmapy do panelu bezdrátově.

To zatím nemám hotové. Stay tuned :)


  1. K nalezení na https://github.com/bobek/flipdot_revival/tree/main/case_keyexternal link  ↩︎

  2. Specifikace se dá najít na https://knowhow.vdv.de/documents/300/external link  ↩︎

  3. GBUSE0 je pro flip-dot displaye, kdežto GBUSE1 je pro čistě LED panely. ↩︎

  4. Za což je vlastně potřeba je pochválit, protože nejsou povolené příkazy, které nejsou potřeba a omylem se nedostanou na panely zmatené texty. ↩︎

  5. Trochu jako https://www.novinky.cz/clanek/internet-a-pc-ai-umelecka-instalace-bavi-cestujici-na-prazskem-nadrazi-40548600external link  ↩︎

  6. https://toshiba.semicon-storage.com/ap-en/semiconductor/product/microcontrollers/detail.TMP96C141BFG.htmlexternal link  ↩︎

Author's bio

Ing. Antonín Král, Ph.D.

Citation

For attribution, please cite this work as

Antonín Král (2026). Flip-dot panel BUSE BS 210.C. bobek.cz. https://www.bobek.cz/buse/

BibTeX citation

@misc{
  title = "Flip-dot panel BUSE BS 210.C",
  author = "Antonín Král",
  year = "2026",
  journal = "bobek.cz",
  note = "https://www.bobek.cz/buse/"
}