https://wiki.techinc.nl/api.php?action=feedcontributions&user=Li0n&feedformat=atomTechnologia Incognita - User contributions [en]2024-03-28T19:49:41ZUser contributionsMediaWiki 1.30.0https://wiki.techinc.nl/index.php?title=International_Open_Hackerspace_Day_2024&diff=28636International Open Hackerspace Day 20242024-03-08T21:57:16Z<p>Li0n: </p>
<hr />
<div>{{Event<br />
|Date=2024/03/30<br />
|Time=tbd<br />
|Location=Techinc<br />
|EventType=Other<br />
|MediaPromotionType=No Promotion<br />
|Contact=contact<br />
}}<br />
what are we doing for this event? tbd.<br />
<br />
https://hackerspaces.nl/open-dag/</div>Li0nhttps://wiki.techinc.nl/index.php?title=International_Open_Hackerspace_Day_2024&diff=28339International Open Hackerspace Day 20242024-01-02T17:51:57Z<p>Li0n: Created page with "{{Event |Date=2024/03/30 |Time=tbd |Location=Techinc |EventType=Other |MediaPromotionType=No Promotion |Contact=contact }} what are we doing for this event? tbd."</p>
<hr />
<div>{{Event<br />
|Date=2024/03/30<br />
|Time=tbd<br />
|Location=Techinc<br />
|EventType=Other<br />
|MediaPromotionType=No Promotion<br />
|Contact=contact<br />
}}<br />
what are we doing for this event? tbd.</div>Li0nhttps://wiki.techinc.nl/index.php?title=Techinc_Wheel&diff=28113Techinc Wheel2023-11-16T14:55:17Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=20130729-techinc-wheel-at-ohm.jpeg<br />
|ProjectSkills=Electronics, Mechanics,<br />
|ProjectStatus=Finished<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Promotion<br />
}}<br />
== Bringing the wheel to events ==<br />
<br />
If you can't reach Narya or Mariejel, assume a "yes" when you (a techinc member) want to bring the wheel to an event. Please put it back on the wall when the event is over. If the LEDs come loose you can simply put it back with double-sided tape and/or ductape.<br />
<br />
== Summary ==<br />
<br />
* The wooden techinc wheel has a WS2801 LED strip stuck on the back and is controlled via an <s>Arduino Nano</s> esp8266 with ESPHome<br />
* The 8 strips consist of 5 pixels each (3 LEDs per pixel). The first "spoke" goes outwards, the second inwards, the third outwards, etc<br />
* The data pin is GPIO4 and the clock pin GPIO2<br />
* Color order is BRG, which is supported by the FastLED library, but for other libraries you need to put the colors in the right order<br />
* The Wheel is on wifi, as 'ti-wheel.local'<br />
* The wheel is connected to our HomeAssistant instance on https://spass.techinc.nl: device light.techinc_wheel<br />
* The old arduino which ran the wheel before is attached to the power supply, in case a revert is ever needed.<br />
<br />
Feel free to add/suggest extra code to the ESPhome settup, add sensors or whatever.<br />
<br />
[http://www.narya.dds.nl/stuff/techinc-wheel.mp4 MOVING PICTURES]<br />
<br />
[[File:wheelesp.jpg|thumb|the brains of the project]]<br />
<br />
The wheel is not connected to [[Powerbars]]<br />
<br />
== Old Code ==<br />
<s>Currently the ColorPalette code runs on the Arduino.</s><br />
<br />
<s>[https://github.com/techinc/wheel Arduino code] - ''work in progress''</s><br />
<br />
==Things to make and do==<br />
<br />
This project has several parts: '''backlit''' the wheel, '''mount''' the wheel to the wall or on some stand, and make the wheel '''control''' something. It would be nice to be able to unmount the wheel and take it somewhere else, e.g. to display it at events.<br />
<br />
=== Mount ===<br />
Who: justa, narya, control-k<br />
* <s>Location: on the wall - done</s><br />
* Location: infront of the window - Done<br />
[[File:wheel-on-the-wall.JPG|200px|thumb|none|wheel when it was mounted on the wall]]<br />
<br />
=== Painting ===<br />
* NO color painting!<br />
* Scratched parts could eventually be fixed with varnish<br />
<br />
=== Backlit ===<br />
Who: [[User:Narya|Narya]], [[User:Brainsmoke | Brainsmoke]] and [[User:Mariejel | Mariejel]] <br />
<br />
Who, later: [[User:Justa|Justa]] who moved it to ESPHome<br />
<br />
Soldering: done<br />
<br />
'''WS2801 12V magic strip'''<br />
* 12V<br />
* 40 addressable pixels, color profile BRG<br />
* Wires: green 12V (not attached), blue clock (<s>pin 11</s> GPIO02), red data (<s>pin 12</s> GPIO04), black GND (pin GND)<br />
<br />
==== Color patterns ====<br />
* Make a few color patterns:<br />
** No rotation: colors of logo<br />
** From center to outside and vice versa (knight rider)<br />
** Rainbow glow - Done<br />
** Rotating colors - Done<br />
** FIRE - Done<br />
** Twinkle - Done<br />
<br />
==== Sensors ====<br />
* Color sensor to change knight rider color for example<br />
* Distance sensor: change color and/or speed. If hand is within 4cm it can function as a switch (switch between color programs)<br />
<br />
=== Software ===<br />
* FastLED library http://fastled.io/<br />
* Neopixel library https://github.com/adafruit/Adafruit_NeoPixel<br />
* Adafruit_WS2801 https://github.com/adafruit/Adafruit-WS2801-Library<br />
* FastSPI library https://code.google.com/p/fastspi/<br />
* ShiftPWM http://www.elcojacobs.com/using-shiftpwm-to-control-led-strips-with-arduino/<br />
* Related projects @techinc: [[LEDLightDistrict]], [[Neopixel]]<br />
<br />
<br />
<br />
== Old ==<br />
[[Techinc_Wheel/Old]]<br />
<br />
== Recent code ==<br />
<br />
The most recent code should be on the ESPHome plugin of Home Assistant.<br />
Below is a copy of the code as it is on 2023-10-19, for informative purposes.<br />
<br />
<pre><br />
substitutions:<br />
devicename: ti-wheel<br />
friendly_name: TI Wheel<br />
device_description: ESP12E TI Wheel Profile<br />
project_name: "Espressif.ESP12E"<br />
project_version: "ESP12E TI Wheel by Justa" <br />
# ${friendly_name}<br />
<br />
esphome:<br />
name: $devicename<br />
comment: ${device_description}<br />
project:<br />
name: ${project_name}<br />
version: ${project_version}<br />
on_boot:<br />
priority: 600<br />
then:<br />
light.turn_on:<br />
id: 'ti_wheel'<br />
effect: 'Rainbow'<br />
<br />
esp8266:<br />
board: esp12e<br />
framework:<br />
version: 2.7.4<br />
<br />
wifi:<br />
ssid: !secret wifi_ssid<br />
password: !secret wifi_password<br />
fast_connect: True<br />
# use_address: [REDACTED]<br />
# enable_mdns: True<br />
<br />
# Enable fallback hotspot (captive portal) in case wifi connection fails<br />
ap:<br />
ssid: "${friendly_name} Fallback Hotspot"<br />
password: !secret hotspot_password<br />
<br />
captive_portal:<br />
<br />
# Enable logging<br />
logger:<br />
<br />
# Enable Home Assistant API<br />
api:<br />
encryption:<br />
key: !secret api_key<br />
#password: !secret api_password<br />
reboot_timeout: 0s<br />
<br />
ota:<br />
password: !secret ota_password<br />
safe_mode: True<br />
<br />
web_server:<br />
port: 80<br />
# local: true<br />
auth:<br />
username: !secret web_user<br />
password: !secret web_password<br />
<br />
light:<br />
- platform: fastled_spi<br />
name: "Techinc Wheel"<br />
id: "ti_wheel"<br />
chipset: WS2801<br />
data_pin: GPIO4<br />
clock_pin: GPIO2<br />
num_leds: 40<br />
rgb_order: BRG<br />
effects:<br />
- addressable_rainbow:<br />
name: Rainbow<br />
speed: 10<br />
width: 40<br />
- strobe:<br />
name: Strobe1<br />
colors:<br />
- state: true<br />
brightness: 100%<br />
red: 100%<br />
green: 90%<br />
blue: 0%<br />
duration: 500ms<br />
- state: false<br />
duration: 250ms<br />
- state: true<br />
brightness: 100%<br />
red: 0%<br />
green: 100%<br />
blue: 0%<br />
duration: 500ms<br />
- addressable_twinkle:<br />
name: Twinkle<br />
twinkle_probability: 5%<br />
progress_interval: 4ms<br />
- addressable_lambda:<br />
name: "Fire"<br />
update_interval: 15ms<br />
lambda: |-<br />
int Cooling = 55;<br />
int Sparking = 110;<br />
// Adjust size of array to length of pixels<br />
static byte heat[40];<br />
int cooldown;<br />
<br />
// Step 1. Cool down every cell a little<br />
for( int i = 0; i < it.size(); i++) {<br />
cooldown = random(0, ((Cooling * 10) / it.size()) + 2);<br />
<br />
if(cooldown>heat[i]) {<br />
heat[i]=0;<br />
} else {<br />
heat[i]=heat[i]-cooldown;<br />
}<br />
}<br />
<br />
// Step 2. Heat from each cell drifts 'up' and diffuses a little<br />
for( int k= it.size() - 1; k >= 2; k--) {<br />
heat[k] = (heat[k - 1] + heat[k - 2] + heat[k - 2]) / 3;<br />
}<br />
<br />
// Step 3. Randomly ignite new 'sparks' near the bottom<br />
if( random(255) < Sparking ) {<br />
int y = random(7);<br />
heat[y] = heat[y] + random(160,255);<br />
}<br />
<br />
// Step 4. Convert heat to LED colors<br />
for( int Pixel = 0; Pixel < it.size(); Pixel++) {<br />
// Scale 'heat' down from 0-255 to 0-191<br />
byte t192 = round((heat[Pixel]/255.0)*191);<br />
<br />
// calculate ramp up from<br />
byte heatramp = t192 & 0x3F; // 0..63<br />
heatramp <<= 2; // scale up to 0..252<br />
<br />
// figure out which third of the spectrum we're in:<br />
//this is where you can reverse the effect by switching the commented out lines in all 3 places.<br />
if( t192 > 0x80) { // hottest<br />
//it[it.size() - Pixel - 1] = ESPColor(255, 255, heatramp);<br />
it[Pixel] = ESPColor(255, 255, heatramp);<br />
} else if( t192 > 0x40 ) { // middle<br />
//it[it.size() - Pixel - 1] = ESPColor(255, heatramp, 0);<br />
it[Pixel] = ESPColor(255, heatramp, 0);<br />
} else { // coolest<br />
//it[it.size() - Pixel - 1] = ESPColor(heatramp, 0, 0);<br />
it[Pixel] = ESPColor(heatramp, 0, 0);<br />
}<br />
}<br />
button:<br />
- platform: restart<br />
name: "${friendly_name} Restart Button"<br />
<br />
switch:<br />
- platform: restart<br />
name: "${friendly_name} Restart" <br />
- platform: safe_mode<br />
name: "${friendly_name} Restart (Safe Mode)" <br />
- platform: shutdown<br />
name: "${friendly_name} Shutdown"<br />
<br />
binary_sensor:<br />
- platform: status<br />
name: "${friendly_name} Status"<br />
sensor:<br />
- platform: uptime<br />
name: "${friendly_name} Uptime"<br />
id: uptime_sensor<br />
update_interval: 30s<br />
on_raw_value:<br />
then:<br />
- text_sensor.template.publish:<br />
id: uptime_human<br />
state: !lambda |-<br />
int seconds = round(id(uptime_sensor).raw_state);<br />
int days = seconds / (24 * 3600);<br />
seconds = seconds % (24 * 3600);<br />
int hours = seconds / 3600;<br />
seconds = seconds % 3600;<br />
int minutes = seconds / 60;<br />
seconds = seconds % 60;<br />
return (<br />
(days ? String(days) + "d " : "") +<br />
(hours ? String(hours) + "h " : "") +<br />
(minutes ? String(minutes) + "m " : "") +<br />
(String(seconds) + "s")<br />
).c_str();<br />
<br />
text_sensor:<br />
- platform: template<br />
name: "${friendly_name} Human Uptime"<br />
id: uptime_human<br />
icon: mdi:clock-start<br />
- platform: version<br />
name: "${friendly_name} Version"<br />
icon: mdi:new-box<br />
hide_timestamp: True<br />
- platform: wifi_info<br />
ip_address:<br />
name: "${friendly_name} IP Address" <br />
icon: mdi:ip-network-outline<br />
<br />
</pre><br />
<br />
== Old Arduino inmplementation ==<br />
<code><br />
<br />
#include <SPI.h> <br />
<br />
void setup()<br />
{<br />
SPI.begin();<br />
SPI.setBitOrder(MSBFIRST);<br />
SPI.setDataMode(SPI_MODE0);<br />
SPI.setClockDivider(SPI_CLOCK_DIV8);<br />
}<br />
<br />
uint8_t fade[] =<br />
{<br />
//[ int(((.5-cos(2*pi*x/240.)*.5)**2.2)*255) for x in range(240) ]<br />
<br />
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,3,3,4,4,5,6,7,7,8,9,10,12,13,14,16,17,19,20,22,24,26,28,30,33,35,38,40,43,46,49,52,55,58,62,65,69,72,76,80,84,88,92,96,100,104,108,113,117,121,126,130,135,139,144,148,153,157,162,166,171,175,179,184,188,192,196,200,204,208,211,215,218,222,225,228,231,234,236,239,241,243,245,247,248,250,251,252,253,254,254,254,255,254,254,254,253,252,251,250,248,247,245,243,241,239,236,234,231,228,225,222,218,215,211,208,204,200,196,192,188,184,179,175,171,166,162,157,153,148,144,139,135,130,126,121,117,113,108,104,100,96,92,88,84,80,76,72,69,65,62,58,55,52,49,46,43,40,38,35,33,30,28,26,24,22,20,19,17,16,14,13,12,10,9,8,7,7,6,5,4,4,3,3,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0<br />
};<br />
<br />
uint8_t r=0,g=80,b=160;<br />
<br />
void loop()<br />
{<br />
for(;;)<br />
{<br />
r+=1;g+=1;b+=1;<br />
<br />
for (i=0; i<40; i++)<br />
{ <br />
r+=6;g+=6;b+=6;<br />
if (r >= 240) r-= 240;<br />
if (g >= 240) g-= 240;<br />
if (b >= 240) b-= 240;<br />
<br />
SPI.transfer(fade[r]);<br />
SPI.transfer(fade[g]);<br />
SPI.transfer(fade[b]);<br />
<br />
}<br />
delay(20);<br />
}<br />
}<br />
</code></div>Li0nhttps://wiki.techinc.nl/index.php?title=File:Wheelesp.jpg&diff=28112File:Wheelesp.jpg2023-11-16T14:53:25Z<p>Li0n: the brains of the techinc wall-mounted wheel project.</p>
<hr />
<div>the brains of the techinc wall-mounted wheel project.</div>Li0nhttps://wiki.techinc.nl/index.php?title=Techinc_Wheel&diff=28111Techinc Wheel2023-11-16T14:44:59Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=20130729-techinc-wheel-at-ohm.jpeg<br />
|ProjectSkills=Electronics, Mechanics,<br />
|ProjectStatus=Finished<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Promotion<br />
}}<br />
== Bringing the wheel to events ==<br />
<br />
If you can't reach Narya or Mariejel, assume a "yes" when you (a techinc member) want to bring the wheel to an event. Please put it back on the wall when the event is over. If the LEDs come loose you can simply put it back with double-sided tape and/or ductape.<br />
<br />
== Summary ==<br />
<br />
* The wooden techinc wheel has a WS2801 LED strip stuck on the back and is controlled via an <s>Arduino Nano</s> esp8266 with ESPHome<br />
* The 8 strips consist of 5 pixels each (3 LEDs per pixel). The first "spoke" goes outwards, the second inwards, the third outwards, etc<br />
* The data pin is GPIO4 and the clock pin GPIO2<br />
* Color order is BRG, which is supported by the FastLED library, but for other libraries you need to put the colors in the right order<br />
* The Wheel is on wifi, as 'ti-wheel.local'<br />
* The wheel is connected to our HomeAssistant instance on https://spass.techinc.nl: device light.techinc_wheel<br />
* The old arduino which ran the wheel before is attached to the power supply, in case a revert is ever needed.<br />
<br />
Feel free to add/suggest extra code to the ESPhome settup, add sensors or whatever.<br />
<br />
[http://www.narya.dds.nl/stuff/techinc-wheel.mp4 MOVING PICTURES]<br />
<br />
The wheel is not connected to [[Powerbars]]<br />
<br />
== Old Code ==<br />
<s>Currently the ColorPalette code runs on the Arduino.</s><br />
<br />
<s>[https://github.com/techinc/wheel Arduino code] - ''work in progress''</s><br />
<br />
==Things to make and do==<br />
<br />
This project has several parts: '''backlit''' the wheel, '''mount''' the wheel to the wall or on some stand, and make the wheel '''control''' something. It would be nice to be able to unmount the wheel and take it somewhere else, e.g. to display it at events.<br />
<br />
=== Mount ===<br />
Who: justa, narya, control-k<br />
* <s>Location: on the wall - done</s><br />
* Location: infront of the window - Done<br />
[[File:wheel-on-the-wall.JPG|200px|thumb|none|wheel when it was mounted on the wall]]<br />
<br />
=== Painting ===<br />
* NO color painting!<br />
* Scratched parts could eventually be fixed with varnish<br />
<br />
=== Backlit ===<br />
Who: [[User:Narya|Narya]], [[User:Brainsmoke | Brainsmoke]] and [[User:Mariejel | Mariejel]] <br />
<br />
Who, later: [[User:Justa|Justa]] who moved it to ESPHome<br />
<br />
Soldering: done<br />
<br />
'''WS2801 12V magic strip'''<br />
* 12V<br />
* 40 addressable pixels, color profile BRG<br />
* Wires: green 12V (not attached), blue clock (<s>pin 11</s> GPIO02), red data (<s>pin 12</s> GPIO04), black GND (pin GND)<br />
<br />
==== Color patterns ====<br />
* Make a few color patterns:<br />
** No rotation: colors of logo<br />
** From center to outside and vice versa (knight rider)<br />
** Rainbow glow - Done<br />
** Rotating colors - Done<br />
** FIRE - Done<br />
** Twinkle - Done<br />
<br />
==== Sensors ====<br />
* Color sensor to change knight rider color for example<br />
* Distance sensor: change color and/or speed. If hand is within 4cm it can function as a switch (switch between color programs)<br />
<br />
=== Software ===<br />
* FastLED library http://fastled.io/<br />
* Neopixel library https://github.com/adafruit/Adafruit_NeoPixel<br />
* Adafruit_WS2801 https://github.com/adafruit/Adafruit-WS2801-Library<br />
* FastSPI library https://code.google.com/p/fastspi/<br />
* ShiftPWM http://www.elcojacobs.com/using-shiftpwm-to-control-led-strips-with-arduino/<br />
* Related projects @techinc: [[LEDLightDistrict]], [[Neopixel]]<br />
<br />
<br />
<br />
== Old ==<br />
[[Techinc_Wheel/Old]]<br />
<br />
== Recent code ==<br />
<br />
The most recent code should be on the ESPHome plugin of Home Assistant.<br />
Below is a copy of the code as it is on 2023-10-19, for informative purposes.<br />
<br />
<pre><br />
substitutions:<br />
devicename: ti-wheel<br />
friendly_name: TI Wheel<br />
device_description: ESP12E TI Wheel Profile<br />
project_name: "Espressif.ESP12E"<br />
project_version: "ESP12E TI Wheel by Justa" <br />
# ${friendly_name}<br />
<br />
esphome:<br />
name: $devicename<br />
comment: ${device_description}<br />
project:<br />
name: ${project_name}<br />
version: ${project_version}<br />
on_boot:<br />
priority: 600<br />
then:<br />
light.turn_on:<br />
id: 'ti_wheel'<br />
effect: 'Rainbow'<br />
<br />
esp8266:<br />
board: esp12e<br />
framework:<br />
version: 2.7.4<br />
<br />
wifi:<br />
ssid: !secret wifi_ssid<br />
password: !secret wifi_password<br />
fast_connect: True<br />
# use_address: [REDACTED]<br />
# enable_mdns: True<br />
<br />
# Enable fallback hotspot (captive portal) in case wifi connection fails<br />
ap:<br />
ssid: "${friendly_name} Fallback Hotspot"<br />
password: !secret hotspot_password<br />
<br />
captive_portal:<br />
<br />
# Enable logging<br />
logger:<br />
<br />
# Enable Home Assistant API<br />
api:<br />
encryption:<br />
key: !secret api_key<br />
#password: !secret api_password<br />
reboot_timeout: 0s<br />
<br />
ota:<br />
password: !secret ota_password<br />
safe_mode: True<br />
<br />
web_server:<br />
port: 80<br />
# local: true<br />
auth:<br />
username: !secret web_user<br />
password: !secret web_password<br />
<br />
light:<br />
- platform: fastled_spi<br />
name: "Techinc Wheel"<br />
id: "ti_wheel"<br />
chipset: WS2801<br />
data_pin: GPIO4<br />
clock_pin: GPIO2<br />
num_leds: 40<br />
rgb_order: BRG<br />
effects:<br />
- addressable_rainbow:<br />
name: Rainbow<br />
speed: 10<br />
width: 40<br />
- strobe:<br />
name: Strobe1<br />
colors:<br />
- state: true<br />
brightness: 100%<br />
red: 100%<br />
green: 90%<br />
blue: 0%<br />
duration: 500ms<br />
- state: false<br />
duration: 250ms<br />
- state: true<br />
brightness: 100%<br />
red: 0%<br />
green: 100%<br />
blue: 0%<br />
duration: 500ms<br />
- addressable_twinkle:<br />
name: Twinkle<br />
twinkle_probability: 5%<br />
progress_interval: 4ms<br />
- addressable_lambda:<br />
name: "Fire"<br />
update_interval: 15ms<br />
lambda: |-<br />
int Cooling = 55;<br />
int Sparking = 110;<br />
// Adjust size of array to length of pixels<br />
static byte heat[40];<br />
int cooldown;<br />
<br />
// Step 1. Cool down every cell a little<br />
for( int i = 0; i < it.size(); i++) {<br />
cooldown = random(0, ((Cooling * 10) / it.size()) + 2);<br />
<br />
if(cooldown>heat[i]) {<br />
heat[i]=0;<br />
} else {<br />
heat[i]=heat[i]-cooldown;<br />
}<br />
}<br />
<br />
// Step 2. Heat from each cell drifts 'up' and diffuses a little<br />
for( int k= it.size() - 1; k >= 2; k--) {<br />
heat[k] = (heat[k - 1] + heat[k - 2] + heat[k - 2]) / 3;<br />
}<br />
<br />
// Step 3. Randomly ignite new 'sparks' near the bottom<br />
if( random(255) < Sparking ) {<br />
int y = random(7);<br />
heat[y] = heat[y] + random(160,255);<br />
}<br />
<br />
// Step 4. Convert heat to LED colors<br />
for( int Pixel = 0; Pixel < it.size(); Pixel++) {<br />
// Scale 'heat' down from 0-255 to 0-191<br />
byte t192 = round((heat[Pixel]/255.0)*191);<br />
<br />
// calculate ramp up from<br />
byte heatramp = t192 & 0x3F; // 0..63<br />
heatramp <<= 2; // scale up to 0..252<br />
<br />
// figure out which third of the spectrum we're in:<br />
//this is where you can reverse the effect by switching the commented out lines in all 3 places.<br />
if( t192 > 0x80) { // hottest<br />
//it[it.size() - Pixel - 1] = ESPColor(255, 255, heatramp);<br />
it[Pixel] = ESPColor(255, 255, heatramp);<br />
} else if( t192 > 0x40 ) { // middle<br />
//it[it.size() - Pixel - 1] = ESPColor(255, heatramp, 0);<br />
it[Pixel] = ESPColor(255, heatramp, 0);<br />
} else { // coolest<br />
//it[it.size() - Pixel - 1] = ESPColor(heatramp, 0, 0);<br />
it[Pixel] = ESPColor(heatramp, 0, 0);<br />
}<br />
}<br />
button:<br />
- platform: restart<br />
name: "${friendly_name} Restart Button"<br />
<br />
switch:<br />
- platform: restart<br />
name: "${friendly_name} Restart" <br />
- platform: safe_mode<br />
name: "${friendly_name} Restart (Safe Mode)" <br />
- platform: shutdown<br />
name: "${friendly_name} Shutdown"<br />
<br />
binary_sensor:<br />
- platform: status<br />
name: "${friendly_name} Status"<br />
sensor:<br />
- platform: uptime<br />
name: "${friendly_name} Uptime"<br />
id: uptime_sensor<br />
update_interval: 30s<br />
on_raw_value:<br />
then:<br />
- text_sensor.template.publish:<br />
id: uptime_human<br />
state: !lambda |-<br />
int seconds = round(id(uptime_sensor).raw_state);<br />
int days = seconds / (24 * 3600);<br />
seconds = seconds % (24 * 3600);<br />
int hours = seconds / 3600;<br />
seconds = seconds % 3600;<br />
int minutes = seconds / 60;<br />
seconds = seconds % 60;<br />
return (<br />
(days ? String(days) + "d " : "") +<br />
(hours ? String(hours) + "h " : "") +<br />
(minutes ? String(minutes) + "m " : "") +<br />
(String(seconds) + "s")<br />
).c_str();<br />
<br />
text_sensor:<br />
- platform: template<br />
name: "${friendly_name} Human Uptime"<br />
id: uptime_human<br />
icon: mdi:clock-start<br />
- platform: version<br />
name: "${friendly_name} Version"<br />
icon: mdi:new-box<br />
hide_timestamp: True<br />
- platform: wifi_info<br />
ip_address:<br />
name: "${friendly_name} IP Address" <br />
icon: mdi:ip-network-outline<br />
<br />
</pre><br />
<br />
== Old Arduino inmplementation ==<br />
<code><br />
<br />
#include <SPI.h> <br />
<br />
void setup()<br />
{<br />
SPI.begin();<br />
SPI.setBitOrder(MSBFIRST);<br />
SPI.setDataMode(SPI_MODE0);<br />
SPI.setClockDivider(SPI_CLOCK_DIV8);<br />
}<br />
<br />
uint8_t fade[] =<br />
{<br />
//[ int(((.5-cos(2*pi*x/240.)*.5)**2.2)*255) for x in range(240) ]<br />
<br />
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,3,3,4,4,5,6,7,7,8,9,10,12,13,14,16,17,19,20,22,24,26,28,30,33,35,38,40,43,46,49,52,55,58,62,65,69,72,76,80,84,88,92,96,100,104,108,113,117,121,126,130,135,139,144,148,153,157,162,166,171,175,179,184,188,192,196,200,204,208,211,215,218,222,225,228,231,234,236,239,241,243,245,247,248,250,251,252,253,254,254,254,255,254,254,254,253,252,251,250,248,247,245,243,241,239,236,234,231,228,225,222,218,215,211,208,204,200,196,192,188,184,179,175,171,166,162,157,153,148,144,139,135,130,126,121,117,113,108,104,100,96,92,88,84,80,76,72,69,65,62,58,55,52,49,46,43,40,38,35,33,30,28,26,24,22,20,19,17,16,14,13,12,10,9,8,7,7,6,5,4,4,3,3,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0<br />
};<br />
<br />
uint8_t r=0,g=80,b=160;<br />
<br />
void loop()<br />
{<br />
for(;;)<br />
{<br />
r+=1;g+=1;b+=1;<br />
<br />
for (i=0; i<40; i++)<br />
{ <br />
r+=6;g+=6;b+=6;<br />
if (r >= 240) r-= 240;<br />
if (g >= 240) g-= 240;<br />
if (b >= 240) b-= 240;<br />
<br />
SPI.transfer(fade[r]);<br />
SPI.transfer(fade[g]);<br />
SPI.transfer(fade[b]);<br />
<br />
}<br />
delay(20);<br />
}<br />
}<br />
</code></div>Li0nhttps://wiki.techinc.nl/index.php?title=User:Karla&diff=27906User:Karla2023-10-25T13:25:09Z<p>Li0n: </p>
<hr />
<div>{{Members<br />
|picture=Professional-1-364.png<br />
|Nickname=Nellie Bly<br />
|Memberstatus=board<br />
|Tasks=Chair, Director, Voorzitter<br />
https://wiki.techinc.nl/Board#Voorzitter<br />
|URL=https://KarlaWagner.EU<br />
|email=karla.wagner@protonmail.ch<br />
|Project=Insight, Music<br />
}}<br />
Global Public Speaker, Growth Mindset, Leadership, Diversity Equity & Inclusion.<br><br />
Director, Technologia Incognita<br><br />
Freelance Journalist @ Amsterdam, Kyiv. English Teacher.<br><br />
Member, HackLab Kyiv<br><br />
Слава Україні ⚡ Please help us restore the Carapathian Sich: https://dzygaspaw.com/project-phoenix-restore-carpathian-sich-strength<br><br />
Lid sinds 2019<br></div>Li0nhttps://wiki.techinc.nl/index.php?title=Board&diff=27905Board2023-10-25T13:22:35Z<p>Li0n: add some missing election data (taken from alv minutes)</p>
<hr />
<div>=Contact= <br />
<br />
To reach the board, please use the email address ADMIN @ BOARD . TECHINC . NL<br />
<br />
<br />
The board uses "board" at the board domain: "board.techinc.nl" among themselves to communicate. This is a subscriber-only mailinglist and does not accept postings from outside. <br />
<br />
=Current=<br />
The current board members are:<br />
{{#ask: [[Category:Members]] [[Memberstatus::board]]<br />
|? = Name<br />
| ?Tasks<br />
| ?email<br />
| format=table<br />
| mainlabel=-<br />
}}<br />
{{Refresh}}<br />
<br />
=Roles and Responsibilities =<br />
<br />
There are three essential roles for the board<br />
<br />
* Voorzitter (Chairman)<br />
* Penningmeester (Treasurer)<br />
* Secretaris (Secretary)<br />
<br />
The current structure of the board asks for two board members in each role. A primary and a deputy.<br />
<br />
<br />
==Voorzitter==<br />
''Director, or Chairperson in English.''<br />
<br />
=== Role ===<br />
* Work with Board & stakeholders to define & chart the Associations's strategic objectives and policies<br />
** Vision, Manifesto, Roadmap, Epics, Themes<br />
* Monitor progress towards achieving objectives and policies<br />
** Stand up committees & projects, and ensure relevant support<br />
* Account for the Association's activities to relevant parties<br />
** Assure legal compliance of the board and the "vereniging" (association)<br />
** Liability, Health & Safety: The law places duties on organisations. Mmembers of the Board have both collective and individual responsibility.<br />
** Monitor compliance, recommend formal procedures for auditing and reporting health & safety performance<br />
** External relationships: Build & manages<br />
* Chair and manage the board<br />
** Lead board and ALV meetings<br />
** Monitor that each role's responsibility is executed<br />
<br />
=== Statutory Duties ===<br />
<br />
* Act within powers in accordance with regulation and law, and to use those powers only for the purposes for which they were conferred<br />
* Promote the success of the Association for the benefit of its members<br />
* Exercise independent judgement<br />
* Exercise reasonable care, skill and diligence<br />
* Prevent conflicts of interest<br />
* Not to accept benefits from third parties, nor use the Association for personal benefit or the benefit of non-members<br />
* Declare the Association's interest in a proposed transaction or arrangement<br />
<br />
==Penningmeester==<br />
<br />
Or treasurer in English.<br />
<br />
* Accounting<br />
* Member administration<br />
* Payments<br />
<br />
== Secretaris ==<br />
<br />
Or secretary in English.<br />
<br />
* Organising ALV<br />
** Help choose date, announcing date<br />
** Collecting agenda points<br />
** Taking notes at ALV<br />
* Keeping track of members: active, inactive, etc.<br />
* Contacting members in person if they are late with payment<br />
<br />
==Additional Responsibilities==<br />
<br />
* Dealing with member signup<br />
** Personal Data, ID documents<br />
* Physical access management<br />
* Grievance Procedure<br />
* Reporting to the ALV on board activity and status of the vereniging<br />
<br />
=Schedule of Resignation=<br />
On the ALV on the 18th of June 2022, a House-Rule was accepted that describes a mechanism referred to as the 'Schedule of Resignation'. The intent of the procedure is to help maintain a well-functioning board with members that are able to transfer their knowledge to new/other board-members after a term of 3 years is over.<br />
<br />
This item is to provide space for documenting the schedule of resignation. Tbd.<br />
<br />
=History=<br />
* 2023-09-26: Justa steps down<br />
* 2023-06-11: Fnoerd, Frogeye, Nellie Bly elected, Bakboter re-elected, Justa stays.<br />
* 2023-05-21: Piele steps down<br />
* 2023-05-14: Bofh(moin) steps down<br />
* 2022-06-18: New board-member joins: Bofh(moin)<br />
* 2021-03-13: New board elected: Bakboter, Piele, Justa<br />
* 2020-09-05: As a twist of surprise, Wizzup announces he's running, as is Katje, Chip, Qguv, DrWhax, 3p!c and bakboter(up for reelection). All were elected, except for bakboter. Bigmac steps down.<br />
* 2020-02-13: Wizzup announces he's stepping down at the next ALV<br />
* 2019-06-12: Katje announces she's stepping down per directly<br />
* 2019-06-11: DrWhax announces he's stepping down down per directly<br />
* 2019-05-14: Bigmac and Bakboter are elected<br />
* 2018-07-12: Justa announces he's stepping down per the 15th of July.<br />
* 2018-05-17: Phicoh stepped down and was re-elected<br />
* 2018-05-04: Cmpxchg announces he's stepping down (no date mentioned, so immediate).<br />
* 2018-03-17: Cmpxchg and Wizzup stepped down and are re-elected, Katje and DrWhax are also elected as board members.<br />
* 2017-11-03: Mattronix announces he is going to resign per January 1st 2018.<br />
* 2017-03-15: Arda Xi, Julf, Justa, Phicoh, Realitygaps, stepped down; Cmpxchg , Justa, and Phicoh were (re-)elected<br />
* 2016-03-13: Mattronix and Wizzup stepped down and were re-elected.<br />
* 2015-05-10: Brainsmoke stepped down, Arda Xi, Julf and Phicoh stepped down and were re-elected. Realitygaps joined the board.<br />
* 2015-01-25: Justa stepped down (per new houserules) and was re-elected, Mattronix joined the board, Skinnr leaves the board.<br />
* 2014-10-19: Wizzup re-joined the board, Becha leaves the board.<br />
* 2014-05-09: Skinnr, Julf, Phicoh, Arda Xi join the board.<br />
* 2014-03-21: Wizzup resigns.<br />
* 2014-03-14: Arda Xi resigns.<br />
* 2014-01-26: Brainsmoke joins the board.<br />
* 2013-06-29: Arda Xi replaced Stef as voted at [[ALV_2013_06_29]].<br />
* 2013-03-31 Amx109 resigns, via email 22-03<br />
* 2012-12-08: Board members elected at [[ALV_2012_12_08]]: Justa, Becha, Wizzup, Amx109, realitygaps, Reese, Stef.<br />
* Dec 2011-Dec 2012: Founding-members of the board were: Justa, Stef, MadEddie, Realitygaps & DrWhax.</div>Li0nhttps://wiki.techinc.nl/index.php?title=HotplateSMDLabelSolderingWorkshop&diff=27643HotplateSMDLabelSolderingWorkshop2023-07-27T14:23:13Z<p>Li0n: </p>
<hr />
<div>{{Event<br />
|Date=2023/08/23<br />
|Time=19:00--22:00<br />
|Location=Techinc<br />
|EventType=Workshop<br />
|MediaPromotionType=Socialmedia<br />
|Contact=The0, Li0n<br />
}}<br />
TL;DR: Hotplate SMD Label Soldering Workshop<br />
<br />
<br />
<marketing><br />
<br />
Tradition dictates that every hacker event has a unique badge. These badges are usually elaborate pieces of electronics with everything-BUT-the-kitchen-sink functionality of actually being a badge - An expensive electronics designer orgasm with scant user value that commonly ends up populating bottoms of drawers.<br />
<br />
This year, for tbd.camp, I wanted to create a truly unique badge that doesn't break the bank and that would actually do it's namesake job well - being a badge - so I created "The Label" - a 1 euro piece of electronics that you can write your name on, wear around your neck with a lanyard, with 40 hypnotizing lights blinking in various patterns to draw attention.<br />
<br />
To reflect the participatory nature of tbd.camp, participants to the soldering workshop each put together their own label, customizing it by choosing the colors of the LEDs. To assure a harmonious label blinkenfest, each label contains a two-way communication system that will automatically synchronize it to neighboring labels.<br />
<br />
</marketing><br />
<br />
In this Surface Mounted Device (SMD) soldering workshop you will use a stencil to put minute amounts solder paste onto specific spots on a PCB, place the components into the solder paste spots with tweezers and then reflow/solder everything in one go using a modified kitchen hotplate. During this workshop you will learn a few things about soldering in general, about SMD work specifically and a few tricks that will make working with SMDs more enjoyable<br />
The workshop takes about 1 hr, and at most 10 people can join. If there are more people we can do the workshop twice.<br />
<br />
Please respond if you want to join, so we know how much material to bring<br />
<br />
-- participants --<br />
* The0<br />
* Li0n<br />
<br />
^add a name here if you would like to participate</div>Li0nhttps://wiki.techinc.nl/index.php?title=Organisation/Mailing_Lists&diff=27635Organisation/Mailing Lists2023-07-23T14:16:47Z<p>Li0n: </p>
<hr />
<div>__NOTOC__<br />
<br />
Space announcements and discussion happens on our mailing lists. These are also the primary way to communicate important information to other members. We have a few different lists based on the intended audience and content.<br />
<br />
New members are expected to subscribe to the following lists:<br />
<br />
* [https://lists.techinc.nl/mailman/listinfo/members Members]: important announcements for TI members only<br />
* [https://lists.techinc.nl/mailman/listinfo/announce Announce]: public event announcements<br />
<br />
If you like, you also can subscribe to:<br />
<br />
* [https://lists.techinc.nl/mailman/listinfo/discuss Discussion]: discussion about the space for TI members only. When someone replies to mail in the "members" list, the reply goes here by default. This list is typically very active.<br />
<br />
Finally, we have some random lists for different groups within TI:<br />
<br />
* [https://lists.techinc.nl/mailman/listinfo/orga Orga]: discussion about event organization for TI members<br />
* [https://lists.techinc.nl/mailman/listinfo/network Network]: for TI members in the network subgroup<br />
* [https://lists.techinc.nl/mailman/listinfo/conduct Conduct]: for people who want to get involved in rewriting the code of conduct and its implementation<br />
* a private list for board members<br />
* [https://lists.techinc.nl/mailman/listinfo some others...]</div>Li0nhttps://wiki.techinc.nl/index.php?title=CoC_Committee_Meeting_2023-07-12&diff=27627CoC Committee Meeting 2023-07-122023-07-12T13:53:21Z<p>Li0n: </p>
<hr />
<div>{{Event<br />
|Date=2023/07/12<br />
|Time=19:00-21:00<br />
|Location=ACTA<br />
|EventType=Meeting<br />
|MediaPromotionType=No Promotion<br />
|Contact=conduct@techinc.nl<br />
}}<br />
note: this meeting might be cancelled due to lack of participants.<br />
<br />
Meeting to develop a new draft for a code of conduct. All Techinc members are welcome to join the meeting and give their input/suggestions/opinions, or to ask questions. You can also find information or ask questions on the mailing list conduct@techinc.nl. More documentation will follow.</div>Li0nhttps://wiki.techinc.nl/index.php?title=User:Li0n&diff=27625User:Li0n2023-07-11T17:07:40Z<p>Li0n: </p>
<hr />
<div>{{Members<br />
|Nickname=Li0n<br />
|Memberstatus=member<br />
|Project=Arcade Machine Volume Control<br />
}}<br />
can be reached on irc through the #techinc channel on OFTC</div>Li0nhttps://wiki.techinc.nl/index.php?title=Arcade_Machine_Volume_Control&diff=27624Arcade Machine Volume Control2023-07-11T17:06:03Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=arcade volume control.jpg<br />
|ProjectSkills=Pcb-destruction, Programming, Soldering<br />
|ProjectStatus=Active<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Infrastructure<br />
}}<br />
this page is a submodule of the main arcade machine page: https://wiki.techinc.nl/Arcade_Machine<br />
<br />
=how to adjust the volume of the arcade machine=<br />
<br />
this neat little device labelled "volume", mounted at the top of the arcade machine, has a nice big turning knob that can be used to easily adjust the volume. it basically emulates a keyboard.<br />
<br />
it also has an IR receiver that responds to most inputs from a random remote control that's laying around somewhere nearby. you can use this to adjust the volume, but also to navigate through the machine, or to play games if you feel up to the challenge.<br />
<br />
another way to remotely adjust the volume of the arcade machine is to SSH into the machine. this is a native feature of the arcade machine and does not involve the device described on this page. we decided to make this device because we felt like this method was not intuitive nor easily accessible. we know the raspberry pi is very overpowered for this task, but we're happy it just works. you're welcome to come up with a more efficient way to achieve the same goal. <br />
<br />
to adjust the volume with SSH follow these steps:<br />
<br />
# open a terminal on another device<br />
# make sure you are connected to the techinc network<br />
# type "ssh techinc@10.209.10.55" and press enter<br />
# type "alsamixer" and press enter<br />
# now you can use the up and down arrows to adjust the volume<br />
<br />
if all else fails you can always adjust the volume on the machine itself using alsamixer if you can figure out how to open a terminal on there. perhaps by pressing ctrl+alt+t on the keyboard.<br />
<br />
=volume device=<br />
<br />
==hardware==<br />
* pcb and casing taken from a radio<br />
* Raspberry Pi Pico<br />
* micro-usb cable<br />
* some wires, solder, and hot glue<br />
<br />
[[File:Arcade_volume_control_backside.jpg|thumb|backside of the volume control]]<br />
<br />
==firmware==<br />
https://github.com/TT-392/volume_control.git<br />
<br />
==to do==<br />
* give the volume control device a fun name<br />
* design a 3d printed case to attach this device to the arcade machine<br />
* add easy to use flipper zero controls for IR<br />
* expand this page<br />
<br />
====optional:====<br />
* try to make the screen do something<br />
* make more buttons work<br />
* come up with a use for the other buttons and knobs</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-08-23&diff=27581Social: 2023-08-232023-07-01T10:52:16Z<p>Li0n: Created page with "{{Event |Date=2023/08/23 |Time=19:30-23:00 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/08/23<br />
|Time=19:30-23:00<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-08-16&diff=27580Social: 2023-08-162023-07-01T10:50:34Z<p>Li0n: Created page with "{{Event |Date=2023/08/16 |Time=19:30-23:00 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/08/16<br />
|Time=19:30-23:00<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-08-09&diff=27579Social: 2023-08-092023-07-01T10:45:40Z<p>Li0n: Created page with "{{Event |Date=2023/08/09 |Time=19:30-23:00 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/08/09<br />
|Time=19:30-23:00<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-08-02&diff=27578Social: 2023-08-022023-07-01T10:39:24Z<p>Li0n: Created page with "{{Event |Date=2023/08/02 |Time=19:30-23:00 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/08/02<br />
|Time=19:30-23:00<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-07-26&diff=27577Social: 2023-07-262023-06-30T17:38:50Z<p>Li0n: Created page with "{{Event |Date=2023/07/26 |Time=19:30 - 23:00 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday fr..."</p>
<hr />
<div>{{Event<br />
|Date=2023/07/26<br />
|Time=19:30 - 23:00<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=CoC_Committee_Meeting_2023-07-12&diff=27574CoC Committee Meeting 2023-07-122023-06-28T18:45:42Z<p>Li0n: Created page with "{{Event |Date=2023/07/12 |Time=19:00-21:00 |Location=Tim's space (in acta) |EventType=Meeting |MediaPromotionType=No Promotion |Contact=conduct@techinc.nl }} Meeting to develo..."</p>
<hr />
<div>{{Event<br />
|Date=2023/07/12<br />
|Time=19:00-21:00<br />
|Location=Tim's space (in acta)<br />
|EventType=Meeting<br />
|MediaPromotionType=No Promotion<br />
|Contact=conduct@techinc.nl<br />
}}<br />
Meeting to develop a new draft for a code of conduct. All Techinc members are welcome to join the meeting and give their input/suggestions/opinions, or to ask questions. You can also find information or ask questions on the mailing list conduct@techinc.nl. More documentation will follow.</div>Li0nhttps://wiki.techinc.nl/index.php?title=Arcade_Machine_Volume_Control&diff=27476Arcade Machine Volume Control2023-05-12T13:28:44Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=arcade volume control.jpg<br />
|ProjectSkills=Pcb-destruction, Programming, Soldering<br />
|ProjectStatus=Active<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Infrastructure<br />
}}<br />
this page is a submodule of the main arcade machine page: https://wiki.techinc.nl/Arcade_Machine<br />
<br />
==hardware==<br />
* pcb and casing taken from a radio<br />
* Raspberry Pi Pico<br />
* micro-usb cable<br />
* some wires, solder, and hot glue<br />
<br />
[[File:Arcade_volume_control_backside.jpg|thumb|backside of the volume control]]<br />
<br />
==software==<br />
https://github.com/TT-392/volume_control.git<br />
<br />
==to do==<br />
* design a 3d printed case to attach this device to the arcade machine<br />
* expand this page<br />
* program the pi to use the IR receiver as input<br />
<br />
====optional:====<br />
* try to make the screen do something<br />
* make more buttons work<br />
* come up with a use for the other buttons and knobs</div>Li0nhttps://wiki.techinc.nl/index.php?title=Arcade_Machine&diff=27475Arcade Machine2023-05-12T13:27:01Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=IMAG1287.jpg<br />
|ProjectSkills=Programming<br />
|ProjectStatus=Active<br />
|ProjectNiche=Software<br />
|ProjectPurpose=Fun<br />
}}<br />
= Arcade Machine =<br />
<br />
We own an Arcade Machine, of which we have replaced the contents with<br />
an Intel PC, running Linux. It has a custom game launcher and support<br />
for many emulators, such as MAME, UAE and other emulators.<br />
<br />
<br />
See also https://wiki.techinc.nl/Arcade_Machine_Volume_Control<br />
<br />
== Current Installed Programs ==<br />
<br />
== Games ==<br />
<br />
==== How to install more systems ====<br />
<br />
* ssh techinc@10.209.10.44<br />
* cd RetroPie-Setup<br />
* sudo ./retropie_setup.sh<br />
* Manage packages (opt/exp etc. see retropie website) ; select and install<br />
<br />
==== How to install more games/roms ====<br />
<br />
* ssh techinc@10.209.10.44<br />
* Put your rom uncompressed in /home/techinc/RetroPie/roms/SYSTEMNAME (check the content of roms to choose the correct folder)<br />
<br />
=== Native ===<br />
<br />
* And Yet It Moves<br />
* Aquaria<br />
* Bastion from SupergiantGames<br />
* beathazard<br />
* bit.trip.runner<br />
* cave_story_plus-linux-r100<br />
* hedgewars<br />
* HELI-X42<br />
* jamestown<br />
* luftrausers<br />
* mari0-linux<br />
* NightSky<br />
* Nothing To Hide<br />
* nottetris2<br />
* OpenHexagon1.92<br />
* openinvaders<br />
* OpenSyobonAction<br />
* Raptor: Call of the Shadows<br />
* Rotational_Linux_RC2<br />
* Spirits<br />
* stepmania-5.0<br />
* Super Hexagon<br />
* Superbrothers: Sword & Sworcery EP<br />
* SuperMeatBoy<br />
* super_mario_war<br />
* Thomas Was Alone<br />
* To The To The Moon<br />
* torus-trooper<br />
* Trine<br />
* Trine2<br />
* World Of Goo<br />
* ZenBound2<br />
<br />
=== Emulation ===<br />
<br />
==== N64 ====<br />
<br />
* Zelda - Ocarina of Time.z64<br />
* m64py<br />
<br />
==== Amiga ====<br />
<br />
* PiNBALL FANTASIES<br />
* jumpnbump<br />
* AMIGA ROM Packages<br />
* PROJECTX<br />
* Stargoose Warrior<br />
<br />
==== DOS ====<br />
<br />
* Epic Pinball<br />
* ScummVM Games Collection<br />
* One Must Fall 2097<br />
* Wacky_Wheels<br />
* PARATROO.COM<br />
* SkyRoads<br />
<br />
==== MAME ====<br />
<br />
* MAME Roms Packages<br />
<br />
== System ==<br />
<br />
* dosbox<br />
* git<br />
* MAME<br />
* MAME 0114b<br />
* MAME32 plus 0.83<br />
* PlayOnLinux<br />
* powerbars - https://github.com/MerlijnWajer/powerbars<br />
* pygame<br />
* ssh server<br />
* uinput-mapper<br />
* Unity3D<br />
* vim<br />
* wahcade<br />
* Wine<br />
* xfce4<br />
* ./git/Arcade - https://github.com/jorants/Arcade<br />
* ./arcade<br />
<br />
== Plan / Wishlist ==<br />
<br />
* Get Windex or something to clean the outside case of the device<br />
* Clean up the inside of the machine, bundle cables.<br />
* Create a quick bootstraper script so we can deploy/reinstall the machine<br />
* Deploy RetroPie ?<br />
* Get wireless keyboard/mouse, maybe those mini-keyboard with the trackpad?<br />
* Fix a light inside of the cabinet<br />
<br />
<br />
* Get external USB controllers. ([[User:Wizzup|Wizzup]] bought two SNES USB ones and will donate them -- they are currently being shipped)<br />
* New and more physical input buttons<br />
* Make the uinput-software much more user friendly<br />
* Look at the test and volume controls inside of the cabinet<br />
* Improve the launcher and uinput-mapper stuff<br />
* Improve the game launcher<br />
* Add more games (only when they work nicely / well), perhaps we can have a "tested games" launcher and an advanced mode.<br />
* (Re)Paint the cabinet.<br />
* USB/HID controls vs. input-mapper - Wizzup and Justa have to fight that one out...<br />
* have it make coffee (hack a saeco inside for no reason)<br />
* strip the PC and mount it inside - reduce clutter while busy<br />
* investigate less heat production / better ventilation<br />
* We can use it to control a variety of stuff. (light, sound)<br />
* We can hook other consoles into it.<br />
* Some kind of game that integrates with the space? interacts with some light / stuff around the arcade machine<br />
<br />
<br />
=== Modifications ===<br />
<br />
<br />
[[File:IMAG1286.jpg|200px|thumb|left|First step of redesign control board]] <br />
- Added two fixed wheels and two swivel-wheels under the base<br />
-- To be able to move the thing around<br />
<br />
- Added a hole that runs from the 'cabinet' part into the 'base' part<br />
-- Since I had the console removed already, it seemed smart to make some<br />
kind of hole in the base AND the cabinet that'd allow running a cable<br />
through for lighting/whatever.<br />
<br />
- Drilled a hole on the underside of the 'button-table' to let USB<br />
cables through<br />
-- To start getting rid of the 'kabel-salat' that plagues the<br />
arcade-machine, I moved the USB-hub from the 'coin-door' to a location<br />
inside of the cabinet; allowing the keyboard + pad to be connected a<br />
little more tidily. Also in preparation for other (suggested) changes<br />
<br />
- Removed all the blue tape holding the access-hatch closed; replaced it<br />
(for now) with a single screw<br />
-- This is not permanent; but the use of blue tape all over the place<br />
was not making things look nice. The screw is just a kludge. There is a<br />
mechanism on the back of the access-panel that we could re-use, if I<br />
could figure out how it was supposed to work. Simply making a<br />
spring-loaded latch there would work fine too.<br />
<br />
== Details ==<br />
<br />
The cabinet we have is a 'generic' model designed to be able to run a<br />
number of games, originally.<br />
<br />
We stuck a PC in there and replaced the CRT with an LCD.<br />
The controls connect to the PC via a 'JPAC' module from Ultimarc;<br />
connected to the PC via PS/2<br />
There are a number of USB-cables running from the PC to other devices.<br />
Including the keyboard + Touch-pad that are currently 'seated' at the<br />
top of the cabinet.<br />
<br />
The PC runs Linux. It autoboots into an AWESOME desktop that has a<br />
full-screen 'program selection' window open which was programmed by<br />
Wizzup and Control-K as a way to easily be able to select the<br />
game/program/function you'd like to use.<br />
<br />
The cabinet has the following controls<br />
<br />
- A coin-return; now used for 'on/off' (wired to 'ATX poweron' i believe)<br />
- Player 2 start (on front edge)<br />
- Player 1 joystick<br />
- Player 1 button 1<br />
- Player 1 button 2<br />
- Player 2 start (on front edge)<br />
- Player 2 joystick<br />
- Player 2 button 1<br />
- Player 2 button 2<br />
<br />
The cabinet has a light-switch on the back to power on/off the light<br />
that illuminates the logo at the top.<br />
<br />
The cabinet has two speakers. Not clear if volume is wired up via<br />
volume-control button on the inside of the cabinet.<br />
<br />
The cabinet is designed to be used either in 'seated' mode or, in it's<br />
current configuration, when standing.<br />
To make this possible, the cabinet is constructed out of two sections. A<br />
main section housing all the electronics, etc, and a 'pedestal' at the<br />
bottom that can be separated from the rest by removing two bolts.<br />
This raises the height of the entire machine about 40cm's or so.<br />
<br />
<br />
=== Video ===<br />
<br />
We replaced the built-in monitor with a TFT monitor. (TODO: Resolution?)<br />
<br />
=== Sound ===<br />
<br />
The sound works and is connected to the computer as well. (TODO: Document how)<br />
<br />
=== Power button ===<br />
<br />
The button next to the coin slit is now (also) a power button.<br />
<br />
=== Input ===<br />
<br />
We have written our own Game Launcher frontend and software to do advanced input<br />
remapping.<br />
<br />
==== Arcade Machine input ====<br />
<br />
The input can be read as PS2 (and USB); using a chip that we got alongside<br />
the Arcade Machine:<br />
<br />
http://www.ultimarc.com/jpac.html<br />
http://www.ultimarc.com/jpac2.html<br />
<br />
The Arcade Machine input exposes itself as a single keyboard over USB and PS/2.<br />
This is problematic for most games, with the exception of MAME and a few<br />
emulators. Some games expect an input device per player, so one "keyboard"<br />
then simply is not enough.<br />
<br />
To solve this problem we have written software that can split one keyboard up<br />
into multiple virtual ones: https://github.com/MerlijnWajer/uinput-mapper ;<br />
http://hetgrotebos.org/wiki/uinput-mapper<br />
<br />
<br />
= Old text =<br />
<br />
=== Common tasks ===<br />
<br />
There are a few simple tasks until we've written a pretty interface + set of scritps.<br />
<br />
It mostly boils down to two tasks:<br />
<br />
1) disable/enable the "keyboard" interface in X (to avoid double input):<br />
<br />
~/disable_*.sh or ~/enable_*.sh<br />
<br />
2) start/stop uinput-mapper with the right configuration:<br />
<br />
sudo input-read -D /dev/input/by-id/usb-Cypress_I-PAC_Arcade_Control_Interface-event-kbd | sudo input-create configs/techinc.py<br />
<br />
And just hit ^C to stop it.<br />
<br />
== Writing our own input driver ==<br />
<br />
<b> Axes to axes, Buttons to buttons </b><br />
<br />
Code: https://github.com/MerlijnWajer/uinput-mapper<br />
<br />
For instructions, see: http://hetgrotebos.org/wiki/uinput-mapper<br />
<br />
And the techinc.py config can be viewed online:<br />
<br />
http://googleco.de/uinput-mapper/tree/configs/techinc.py<br />
<br />
Map:<br />
<br />
* Creates two joystick input devices in /dev/input<br />
* Both joystick devices are mapped sanely.<br />
* HAT0X / HAT0Y seem to work now that we specified absmin and absmax.<br />
<br />
Keys are mapped like this:<br />
<br />
HAT -> HAT0X, HAT0Y<br />
Red Buttons, left to right: BTN_0, BTN_1, BTN_2<br />
Yellow Button: BTN_3<br />
<br />
== User Interface ==<br />
<br />
=== Using the menu ===<br />
<br />
There is a custom menu for the arcade machine, it should start automaticly.<br />
You can use the left joystick to choose a game/program.<br />
Press the most right button of player 1 to start it.<br />
For games that are not added yet, xterm is also in the menu.<br />
<br />
=== Restarting the menu ===<br />
<br />
If the menu is closed and you want to start it, the python script is in "/home/techinc/arcade/game.py", run it using python2.<br />
<br />
=== Adding programs ===<br />
<br />
You can use the supllied GUI in the menu, it will ask some questions.<br />
You can either choose a file to run or insert a custom command<br />
Then it asks for a name and descition<br />
Finaly, you will need a picture, you can use the standart questionmark, insert a file or taka a screenshot.<br />
When you take a screenshot, the command will be executed (so make sure it is alright) and after some seconds scrot is used to take a picture.<br />
<br />
You can also edit the ~/arcade/gamelist.conf file for more flexebilety.<br />
<br />
Removeing a program can be done by pressing [DEL] in the main menu while you have the program selected.<br />
<br />
=== Fixing a broken menu ===<br />
Sometimes things go wrong when adding games, specifecly while adding a screenshot, this can make the menu crash.<br />
You can fix it by removing the broken entry from ~/arcade/gamelist.conf manualy.</div>Li0nhttps://wiki.techinc.nl/index.php?title=Arcade_Machine_Volume_Control&diff=27473Arcade Machine Volume Control2023-05-05T21:07:35Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=arcade volume control.jpg<br />
|ProjectSkills=Pcb-destruction, Programming, Soldering<br />
|ProjectStatus=Active<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Infrastructure<br />
}}<br />
==hardware==<br />
* pcb and casing taken from a radio<br />
* Raspberry Pi Pico<br />
* micro-usb cable<br />
* some wires, solder, and hot glue<br />
<br />
[[File:Arcade_volume_control_backside.jpg|thumb|backside of the volume control]]<br />
<br />
==software==<br />
https://github.com/TT-392/volume_control.git<br />
<br />
==to do==<br />
* design a 3d printed case to attach this device to the arcade machine<br />
* expand this page<br />
* program the pi to use the IR receiver as input<br />
<br />
====optional:====<br />
* try to make the screen do something<br />
* make more buttons work<br />
* come up with a use for the other buttons and knobs</div>Li0nhttps://wiki.techinc.nl/index.php?title=User:Li0n&diff=27472User:Li0n2023-05-05T21:05:57Z<p>Li0n: </p>
<hr />
<div>{{Members<br />
|Nickname=Li0n<br />
|Memberstatus=member<br />
|Project=Arcade Machine Volume Control<br />
}}</div>Li0nhttps://wiki.techinc.nl/index.php?title=Arcade_Machine_Volume_Control&diff=27471Arcade Machine Volume Control2023-05-05T20:57:00Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=arcade volume control.jpg<br />
|ProjectSkills=Pcb-destruction, Programming, Soldering<br />
|ProjectStatus=Planning<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Infrastructure<br />
}}<br />
==hardware==<br />
* pcb and casing taken from a radio<br />
* Raspberry Pi Pico<br />
* micro-usb cable<br />
* some wires, solder, and hot glue<br />
<br />
[[File:Arcade_volume_control_backside.jpg|thumb|backside of the volume control]]<br />
<br />
==software==<br />
https://github.com/TT-392/volume_control.git<br />
<br />
==to do==<br />
* design a 3d printed case to attach this device to the arcade machine<br />
* expand this page<br />
* program the pi to use the IR receiver as input<br />
<br />
====optional:====<br />
* try to make the screen do something<br />
* make more buttons work<br />
* come up with a use for the other buttons and knobs</div>Li0nhttps://wiki.techinc.nl/index.php?title=Arcade_Machine_Volume_Control&diff=27470Arcade Machine Volume Control2023-05-05T20:56:40Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=arcade volume control.jpg<br />
|ProjectSkills=Pcb-destruction, Programming, Soldering<br />
|ProjectStatus=Planning<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Infrastructure<br />
}}<br />
==hardware==<br />
* pcb and casing taken from a radio<br />
* Raspberry Pi Pico<br />
* micro-usb cable<br />
* some wires, solder, and hot glue<br />
<br />
[[File:Arcade_volume_control_backside.jng|thumb|backside of the volume control]]<br />
<br />
==software==<br />
https://github.com/TT-392/volume_control.git<br />
<br />
==to do==<br />
* design a 3d printed case to attach this device to the arcade machine<br />
* expand this page<br />
* program the pi to use the IR receiver as input<br />
<br />
====optional:====<br />
* try to make the screen do something<br />
* make more buttons work<br />
* come up with a use for the other buttons and knobs</div>Li0nhttps://wiki.techinc.nl/index.php?title=Arcade_Machine_Volume_Control&diff=27469Arcade Machine Volume Control2023-05-05T20:56:02Z<p>Li0n: </p>
<hr />
<div>{{Project<br />
|picture=arcade volume control.jpg<br />
|ProjectSkills=Pcb-destruction, Programming, Soldering<br />
|ProjectStatus=Planning<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Infrastructure<br />
}}<br />
==hardware==<br />
* pcb and casing taken from a radio<br />
* Raspberry Pi Pico<br />
* micro-usb cable<br />
* some wires, solder, and hot glue<br />
<br />
[[File:Arcade_volume_control_backside.png|thumb|backside of the volume control]]<br />
<br />
==software==<br />
https://github.com/TT-392/volume_control.git<br />
<br />
==to do==<br />
* design a 3d printed case to attach this device to the arcade machine<br />
* expand this page<br />
* program the pi to use the IR receiver as input<br />
<br />
====optional:====<br />
* try to make the screen do something<br />
* make more buttons work<br />
* come up with a use for the other buttons and knobs</div>Li0nhttps://wiki.techinc.nl/index.php?title=File:Arcade_volume_control_backside.jpg&diff=27468File:Arcade volume control backside.jpg2023-05-05T20:54:48Z<p>Li0n: backside of the volume control device for the arcade machine</p>
<hr />
<div>backside of the volume control device for the arcade machine</div>Li0nhttps://wiki.techinc.nl/index.php?title=Arcade_Machine_Volume_Control&diff=27467Arcade Machine Volume Control2023-05-05T20:50:25Z<p>Li0n: Created page with "{{Project |picture=arcade volume control.jpg |ProjectSkills=Pcb-destruction, Programming, Soldering |ProjectStatus=Planning |ProjectNiche=Electronics |ProjectPurpose=Infrastru..."</p>
<hr />
<div>{{Project<br />
|picture=arcade volume control.jpg<br />
|ProjectSkills=Pcb-destruction, Programming, Soldering<br />
|ProjectStatus=Planning<br />
|ProjectNiche=Electronics<br />
|ProjectPurpose=Infrastructure<br />
}}<br />
==hardware==<br />
* pcb and casing taken from a radio<br />
* Raspberry Pi Pico<br />
* micro-usb cable<br />
* some wires, solder, and hot glue<br />
<br />
[[File:arcade_volume_control_backside.png|thumb|backside of the volume control]]<br />
<br />
==software==<br />
https://github.com/TT-392/volume_control.git<br />
<br />
==to do==<br />
* design a 3d printed case to attach this device to the arcade machine<br />
* expand this page<br />
* program the pi to use the IR receiver as input<br />
<br />
====optional:====<br />
* try to make the screen do something<br />
* make more buttons work<br />
* come up with a use for the other buttons and knobs</div>Li0nhttps://wiki.techinc.nl/index.php?title=File:Arcade_volume_control.jpg&diff=27466File:Arcade volume control.jpg2023-05-05T20:29:14Z<p>Li0n: this is what the volume control on the arcade machine looked like at the time of creating this page. it is a work in progress.</p>
<hr />
<div>this is what the volume control on the arcade machine looked like at the time of creating this page. it is a work in progress.</div>Li0nhttps://wiki.techinc.nl/index.php?title=Group_Soldering_Session&diff=27461Group Soldering Session2023-04-20T12:29:42Z<p>Li0n: Created page with "{{Event |Date=2023/04/26 |Time=during the social, in the evening |Location=Techinc |EventType=Workshop |MediaPromotionType=No Promotion |Contact=Contact }} During this week's..."</p>
<hr />
<div>{{Event<br />
|Date=2023/04/26<br />
|Time=during the social, in the evening<br />
|Location=Techinc<br />
|EventType=Workshop<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
During this week's social, we are going to be soldering together some techinc badge kits. Join us! If you don't know how to solder, there will be people who are happy to teach you. Bring your own soldering projects too if you want! If you have spare soldering irons lying around, consider bringing them, as we do have more kits than soldering irons at the space. No set starting time yet, we'll start whenever people are in the mood.<br />
<br />
The kit in question: https://wiki.techinc.nl/2020_Stay_The_F***_home_Techinc_Solder_Kit<br />
<br />
Note: this time there is a very limited supply, so they may already be sold out by the time you read this. <br />
<br />
If you missed out, there is always the opportunity to buy a similar kit that looks roughly like this: https://wiki.techinc.nl/File:My_badge_front.jpeg.<br />
The main difference is that the pcb is rectangular and green instead of round and black, but afaik they both function the same.</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-07-19&diff=27456Social: 2023-07-192023-04-05T16:56:47Z<p>Li0n: Created page with "{{Event |Date=2023/07/19 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/07/19<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-07-12&diff=27455Social: 2023-07-122023-04-05T16:55:48Z<p>Li0n: Created page with "{{Event |Date=2023/07/12 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/07/12<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=(CANCELLED)_Social:_2023-07-05&diff=27454(CANCELLED) Social: 2023-07-052023-04-05T16:54:55Z<p>Li0n: Created page with "{{Event |Date=2023/07/05 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/07/05<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-06-28&diff=27453Social: 2023-06-282023-04-05T16:53:58Z<p>Li0n: Created page with "{{Event |Date=2023/06/28 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/06/28<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-06-21&diff=27452Social: 2023-06-212023-04-05T16:52:00Z<p>Li0n: Created page with "{{Event |Date=2023/06/21 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/06/21<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-06-14&diff=27451Social: 2023-06-142023-04-05T16:49:46Z<p>Li0n: Created page with "{{Event |Date=2023/06/14 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/06/14<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-06-07&diff=27450Social: 2023-06-072023-04-05T16:48:30Z<p>Li0n: </p>
<hr />
<div>{{Event<br />
|Date=2023/06/07<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-06-07&diff=27449Social: 2023-06-072023-04-05T16:48:15Z<p>Li0n: Created page with "{{Event |Date=2023/06/07 |Time=Techinc |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from 19:..."</p>
<hr />
<div>{{Event<br />
|Date=2023/06/07<br />
|Time=Techinc<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-05-31&diff=27448Social: 2023-05-312023-04-05T16:47:05Z<p>Li0n: Created page with "{{Event |Date=2023/05/31 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/05/31<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-05-24&diff=27447Social: 2023-05-242023-04-05T16:46:22Z<p>Li0n: Created page with "{{Event |Date=2023/05/24 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/05/24<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-05-17&diff=27446Social: 2023-05-172023-04-05T16:45:23Z<p>Li0n: Created page with "{{Event |Date=2023/05/17 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/05/17<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-05-10&diff=27445Social: 2023-05-102023-04-05T16:44:05Z<p>Li0n: Created page with "{{Event |Date=2023/05/10 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/05/10<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-05-03&diff=27444Social: 2023-05-032023-04-05T16:42:58Z<p>Li0n: Created page with "{{Event |Date=2023/05/03 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/05/03<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-04-26&diff=27443Social: 2023-04-262023-04-05T16:41:43Z<p>Li0n: Created page with "{{Event |Date=2023/04/26 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/04/26<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-04-19&diff=27442Social: 2023-04-192023-04-05T16:39:44Z<p>Li0n: Created page with "{{Event |Date=2023/04/19 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/04/19<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social_2023-04-12&diff=27441Social 2023-04-122023-04-05T16:37:46Z<p>Li0n: Created page with "{{Event |Date=2023/04/12 |Time=19:30-23:30 |Location=Techinc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/04/12<br />
|Time=19:30-23:30<br />
|Location=Techinc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=International_Open_Hackerspace_Day_2023&diff=27428International Open Hackerspace Day 20232023-03-25T13:16:02Z<p>Li0n: </p>
<hr />
<div>{{Event<br />
|Date=2023/03/25<br />
|Time=13:00 - 22:00<br />
|Location=ACTA<br />
|EventType=Other<br />
|MediaPromotionType=No Promotion<br />
}}<br />
everyone is welcome to come take a look at our space today. check https://wiki.techinc.nl/ACTA for information on how to find us and how to get inside.<br />
<br />
https://hackerspaces.nl/open-dag</div>Li0nhttps://wiki.techinc.nl/index.php?title=International_Open_Hackerspace_Day_2023&diff=27427International Open Hackerspace Day 20232023-03-25T13:14:55Z<p>Li0n: </p>
<hr />
<div>{{Event<br />
|Date=2023/03/25<br />
|Time=13:00 - 22:00<br />
|Location=ACTA<br />
|EventType=Other<br />
|MediaPromotionType=No Promotion<br />
}}<br />
everyone is welcome to come take a look at our space today. check https://wiki.techinc.nl/ACTA for information on how to find us and how to get inside<br />
<br />
https://hackerspaces.nl/open-dag</div>Li0nhttps://wiki.techinc.nl/index.php?title=International_Open_Hackerspace_Day_2023&diff=27106International Open Hackerspace Day 20232023-02-04T15:23:12Z<p>Li0n: Created page with "{{Event |Date=2023/03/25 |Time=- |Location=- |EventType=Other |MediaPromotionType=No Promotion }} tbd https://hackerspaces.nl/open-dag"</p>
<hr />
<div>{{Event<br />
|Date=2023/03/25<br />
|Time=-<br />
|Location=-<br />
|EventType=Other<br />
|MediaPromotionType=No Promotion<br />
}}<br />
tbd<br />
<br />
https://hackerspaces.nl/open-dag</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-04-05&diff=27105Social: 2023-04-052023-02-04T15:18:38Z<p>Li0n: Created page with "{{Event |Date=2023/04/05 |Time=19:00-00:00 |Location=TechInc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/04/05<br />
|Time=19:00-00:00<br />
|Location=TechInc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0nhttps://wiki.techinc.nl/index.php?title=Social:_2023-03-29&diff=27104Social: 2023-03-292023-02-04T15:17:28Z<p>Li0n: Created page with "{{Event |Date=2023/03/29 |Time=19:00-00:00 |Location=TechInc |EventType=Social |MediaPromotionType=No Promotion |Contact=Contact }} Weekly social evening, every Wednesday from..."</p>
<hr />
<div>{{Event<br />
|Date=2023/03/29<br />
|Time=19:00-00:00<br />
|Location=TechInc<br />
|EventType=Social<br />
|MediaPromotionType=No Promotion<br />
|Contact=Contact<br />
}}<br />
Weekly social evening, every Wednesday from 19:30 till late, open to everyone!<br />
<br />
Non-members welcome, guests welcome, expats welcome, visiting hackers welcome, refugees welcome!</div>Li0n