This app was mentioned in 7 comments, with an average of 1.57 upvotes
This may be a better question for the community over at r/ECU_Tuning
If you want to do it yourself you could go with something like the MHD Flasher N54 app and the flasher module or go with TunerPro, a laptop, and an OBD2 cable.
Unless you're planning on going big single turbo or meth injection in the future, you'd be better served going with a flash tune like MHD flasher or Cobb. They'll be safer, give you more power, and better drivability than a piggyback. I think MHD is even cheaper than a JB4, provided you have an Android device.
I would start here: http://blog.modbargains.com/5-ways-to-full-bolt-ons-for-bmw-n54/ (edit: I would check out the MHD tune over Cobb) and then read this:http://www.e90post.com/forums/showpost.php?p=9607840&postcount=2.
Depending on the mileage of the car, you will want to start with maintenance before mods. A walnut blast to remove carbon build up. That motor is known to have water pump issues and tstat issues, high pressure fuel pump issues (some cars are covered under warranty), wastegate turbo rattle issues (covered by BMW until 80K or 8 years - the fix is new OEM turbos installed), oil leak usually by the oil filter housing due to the gasket (which damages coolant hoses if not taken care of right away - can lead to the destruction of your entire cooling system if not fixed), oil leak near oil pan, and you probably should replace your spark plugs/coil packs pending mileage and last time they were done. The 07-08 version of the n54 also had other problems like fuel injectors, vanos solenoids, etc. I would check those out as well.
https://play.google.com/store/apps/details?id=com.mhd.flasher.n54&hl=en
thank me later. I've tried jb4, cobb on my e92. and this one by far is the best.
I use an OTG adapter for the OBD2-USB cable, that website sells them for $5 extra (Amazon also has this Carly kit: https://www.amazon.com/Original-Carly-BMW-Package-Micro-usb/dp/B00X3V4F3G but I've only bought the one from the site I linked you too, and I know for sure they test them before they ship it). It allows you to plug that cable into a tablet or phone with micro-USB. I think it's Android only, so it won't work with an iPhone. You plug in the cable to the obd2 port, then plug it into your android device, then hit connect in the app.
I think I had saved this one: https://www.amazon.com/Foseal-Scanner-Adapter-Diagnostic-Android/dp/B00W0SDLRY/ref=sr_1_fkmr0_4?ie=UTF8&qid=1487114327&sr=8-4-fkmr0&keywords=bmw+carly+dongle -- I had another Bluetooth dongle I used to use with another app but I misplaced it during a move a while back. That one worked with an app called Dashcommander but not sure about Carly. I ended up getting the cable instead of another one because I wasn't sure if the MHD app would work via Bluetooth.
Let us know how it works out!
DCI, Chargepipe, MHD Tune (or JB4), intercooler, downpipes, and exhaust. http://blog.modbargains.com/5-ways-to-full-bolt-ons-for-bmw-n54/
Edit: The link mentions Cobb but I would personally go MHD tune (just need an android device) or JB4.