Saturday, November 21, 2015

Playing Chrono Cross using Popstarter on the PS2

Popstarter is a cool hack on the official ps2 psx emulator to get various games working.
I've finally been able to enjoy Chrono Cross this way until half way in the game where Norris joins your party.
Then after the character naming screen the game goes all black, looping the same music piece over and over.
Apparently this is related to the character portrait.

Some genious realized that one can use a gameshark code to replace the offending portrait with another.
Said and done, create a CHEATS.txt next to your VMC files on the medium your are playing from.

Add $3006EE59 000E and you've replaced Norris portrait with Zappas.
This allows the game to continue.

Labels: , , , ,

Monday, August 24, 2015

Modding a bicycle-light with a solar-powered led

I modded a bicyclelight by ripping out the conventional lamp and battery.
Instead I mounted a garden-light with a solar cell on top.
As long as the bicycle is parked outside this should take care of itself.
The only drawback is that the light emitted is to weak to be useful for actually reflecting light.

Saturday, May 30, 2015

Espp8266 + DS18B20 = Show temp using Ssids

Using ssids as a medium to transfer information is both fun and interesting.
Building upon my last post using the ESP8266 to transmit multiple ssids I hooked it up to a DS10B20 temperature sensor. 
Every time the temperature changes the ESP8266 creates a new ssids with the current temperature stored in the ssid string. 

In order to know which temperature is the most recent, the current uptime in seconds is prepended to the string. This is hacky but works.

Code is here:

Sunday, May 24, 2015

Ssid announcer using an ESPP8266

The ESP8266 is an interesting, inexpensive platform which offers wifi capabilities and an 80 MHz CPU.
Recent advancements include arduino IDE compatibility.
This makes development quick and easy.

A quick demo I wrote was to loop over multiple SSIDs.
This can be used to announcing the schedule of an event.

Code is here:

Sunday, November 02, 2014

Controlling two servos using a PS2-mouse

I finally finished a project today where two servos in a camera mount are controlled by a PS2-mouse.

The PS2 controller is written in VHDL and performs the initial setup of the mouse and then proceeds to feed any received movement packets to a mouse state tracker which in turn feeds position coordinates to the servo controllers.

Code for the project is available here:

Wednesday, November 06, 2013

Picture viewer with remote picture syncing

Goal of project:
Create a picture viewer display using a raspberry PI, a screen and a wifi usb-interface.
The viewer shall be able to display a number of images and it shall be possible to update the images displayed remotely, preferably from picasa.
It shall also be possible to access the viewer remotely to perform any maintenance of the device.

Final result of project:
Picture viewer deployed, possible to update the images from picasa, the unit opens upp a reverse ssh connection to my home server, giving me handy access, regardless if the viewer hides inside a firewall.

Parts needed:
Raspberry PI,
I used model A due to low performance requirements.

External screen,

Make sure it supports HDMI for easy convenience.
The board I bought had quite a large footprint with HDMI, DVI, VGA inputs and audio output, input.
Try to find one smaller if possible

I ended up using a 16 GB card, from a price / performance perspective.

USB wifi-dongle.
I purchased a realtek one from for about 8 bucks

Power adapter,
I bought a 12V 2A adapter from ebay for about 6 bucks.

Used to get some height against the wooden back plane, I belive I paid 3.20 quid for them.
A very short HDMI cable for internal routing.

I cut a wooden frame that would fit all the parts and drilled and screwed down spacers for mounting of all the base parts. The parts were mounted and connected together.
In the image below the bottom pcb is the raspberry pi connected via a small HDMI cable to the chi-mei main board.
By luck there was a 5V output available on the chi-mei mainboard which I used to power the pi.
The chi-mei input voltage is 12V which is what I feed the system via the power adapter.

I used a 3.5 mm headphone jack wired to the serial rx / tx pins, this allows for easy serial access.

The ordinary raspian debian distribution is used.
I hacked the init script to automatically launch qiv which is a basic photo viewing application.
A cron script pulls down a picasa web album every day where I can put the pictures from my ordinary display.

This unit will reside at my parents in law, behind their firewall.
I wanted to have a fail-safe mechanism of being able to access the device.
This is solved by using a reverse autossh connection.
The machine will at start connect to another pi acting as my local server.
Thus I can at any moment access my local pi and connect to the picture viewer.

See this link for more information:

In order to get native 1024x600 resolution, a custom HDMI mode needed to be used.
This was acheived by adding the following to the /boot/config.txt:

hdmi_cvt=1024 600 60 3 0 0 0


Frame assembled without paint

Final result:

End result

I was satisfied with the final result, things I would improve would be to find a graphic driver with less board space and to improve my woodworking skills.

Labels: , , , ,

Friday, August 30, 2013

Thermometer using an arduino, a 7 seg display and a DS18B20

Today I pieced together a small arduino project using a temperature sensor and a 7 seg display.

The video below pretty much sums up the functionality.
I'm quite satisfied with the results given how little time I put into the project.

The arduino is a great platform to base your project on as the number of support libraries truly speed up your development. For instance, getting the temperature sensor up and running took only a couple of minutes.

The hardest part of the project was to try to minimize the flickering while doing the display multiplexing. There is still some flickering due to that some cycles need be spent quering the sensor.
I don't know if this is solvable without involving some external circuitry

Labels: , , , ,