Iš šiaurės piliakalnį juosia Aukštupio, iš vakarų – Lėvens slėnis, iš rytų – dauba, pietinėje pusėje yra aukštuma. Aikštelė pailga, 110x40 m dydžio, XIX a. buvo ariama. Aikštelės pietiniame pakraštyje buvo pylimas, išliko jo liekanų. Šiaurės rytų ir pietiniame šlaite, 4-4,5 m žemiau aikštelės krašto, yra apie 280 m ilgio ir 1,8 m aukščio pylimas, kurio galai siekia apie 50 m ilgio terasą. Aukščiau terasos piliakalnio šlaitas status, nulygintas, žemiau – natūralus. Aikštelė ir piliakalnio rytinis šlaitas apardyti per Pirmąjį pasaulinį karą iškastų apkasų.
Kupiškio, Aukštupėnų piliakalnis – krantinis, sudėtinis, kompleksinis fortifikacinis įrengimas. Įrengtas Lėvens kairiajame krante esančioje kalvoje ties jo santaka su Aukštupio upeliu, apsuptas pelkėtais upių slėniais. Iškilęs pelkėtoje, plynoje lygumoje, apjuostas dviejų upių turėjo geras sąlygas gynybai. Piliakalnio gynybinę sistemą sudaro du pagrindiniai elementai: pati įtvirtinta vieta – piliakalnio aikštelė (buvęs pilies kiemas) ir jos įtvirtinimai bei pylimai, grioviai, terasos. Datuojamas I tūkst. viduriu – II tūkst. pradžia.
Piliakalnio aikštelė ovali, pailga šiaurės–pietų kryptimi. 40x110 m dydžio. Jos pietiniame gale buvo supiltas pylimas. 4–4,5 m žemiau aikštelės krašto, šiauriniame, rytiniame ir pietiniame šlaituose iškastas 3–4 m pločio, 2 m gylio griovys, už kurio supiltas 280 m ilgio, 1,8 aukščio, 7 m pločio pylimas (jo vietoje vakariniame šlaite išlikusi tik terasa). Šlaitai vidutinio statumo, 8–20 m aukščio.
Šiuo metu piliakalniuose galima pastebėti tik dalį buvusių žemių įtvirtinimų, o medinių įtvirtinimų liekanos aptinkamos tik archeologinių tyrimų metu.
Šalia tokių piliakalnių egzistavo papėdės gyvenvietės, senieji kapinynai, net šventvietės. Žuvusiuosius, ginant pilį ir papėdę, gyvenviečių gyventojai laidojo to meto bendruomenės kapinėse (paprastai už vandens telkinių ar upelių). Piliakalnio pailgos formos ovalinės formos aikštelės matmenys 40x110 m liudija šalia piliakalnio į rytus ir pietus, 5 ha plote, buvus nemažos gyvenvietės. Anksčiau ariamose vietose čia rasta grublėtos ir žiestos keramikos fragmentų, apdegusių molio tinko archeologinių radinių.
Remiantis kultūrinio sluoksnio radiniais manoma, kad piliakalnyje XIII a. stovėjo medinė bendruomenės pilis – pati ankstyviausia būsimo miestelio užuomazga, tačiau piliakalnio pilis ir įtvirtinimai buvo sugriauti jau per pirmuosius Kalavijuočių ordino žygius apie 1240 m. Kupiškio, Aukštupėnų piliakalnis su gyvenviete priklausė baltų genčiai – sėliams, tai buvo pačios piečiausios jų žemės.
Baltų genčių žemėlapiuose Sėlos regionas figūruoja kaip bemaž 8000 kv. km dydžio bestruktūris teritorinis masyvas. Tačiau istorinė informacija rodo, kad joje turėję būti mažiausiai 4 teritoriniai vienetai su savo centrais. Kiekvienas centras turėjo savo agrarinę provinciją, su santykiais, kurie buvo pagrįsti ekonominiais ryšiais (abipusiais mainais). Taip formavosi pilies apygarda, kurios įtakos zona apėmė mažiausiai apie 100 kv. km.
Be Kupiškio, Aukštupėnų piliakalnio žinomos mažiausiai keturios piliakalnio-gyvenvietės sistemos: Kereliai, Papiliai, Stirniškiai, Gaigaliai. Tikėtina, kad tarp šių piliakalnių buvo tam tikrų ryšių, jungusių juos į vieną didesnį teritorinį vienetą – žemę.
Nuo 2009 m. ant Kupiškio piliakalnio vyksta Baltų vienybės dienos renginiai. 2018 m. įtrauktas į Kupiškio rajono lankytinų vietų sąrašą.
Norint rasti laiptą po, kuriuo yra lobis, reikės išspresti šią užduotį:
Suraskite metus (apytiksliai) kada buvo sugriautos miestelio užuomazgos per kalavijuočių žygius.
Tuomet padalinkite iš 10 ir iš gauto skaičiaus atimkite tiek kiek iš viso yra laiptų ant piliakalnio.
Gautą skaičių padalinkite iš 3 ir tada atimkite 5 ir gausite laiptą po kuriuo yra lobis.